Агуулгын хүснэгт:

Програмчлагдах товчлуур: 5 алхам (зурагтай)
Програмчлагдах товчлуур: 5 алхам (зурагтай)

Видео: Програмчлагдах товчлуур: 5 алхам (зурагтай)

Видео: Програмчлагдах товчлуур: 5 алхам (зурагтай)
Видео: Камера-ЛАМПА со слежением и определением человека. 2024, Долдугаар сарын
Anonim
Програмчлагдах товчлуур
Програмчлагдах товчлуур
Програмчлагдах товчлуур
Програмчлагдах товчлуур

Энэ төсөлд би хамгийн их ашиглагддаг гарын товчлолууд, програмууд болон бусад зүйлийг зураглахад харьцангуй энгийн бөгөөд хямд програмчлагдах товчлуурыг хэрхэн яаж хийхийг харуулах болно.

Энэ товчлуурыг бүх томоохон OS дээр гар хэлбэрээр илрүүлдэг бөгөөд нэмэлт драйвер шаардлагагүй болно.

Хангамж

  • Ротари кодлогч.
  • Маш олон (таны хэрэгцээнээс хамаарна) товчлуурууд.
  • Arduino Pro Micro, Arduino Leonardo эсвэл Atmega32U4 MCU бүхий бусад хөгжүүлэгчдийн самбар.
  • Утас, гагнуур, гагнуурын төмөр гэх мэт.
  • (Нэмэлт) Товчлуурыг гулсуулахгүй байхын тулд хүнд даацын суурь болдог, би хуучин 3.5 "HDD ашиглаж байна

Алхам 1: Цахилгаан хэлхээ

Цахилгаан хэлхээ
Цахилгаан хэлхээ

Би Arduino Pro Micro dev хавтанг ашиглах боломжтой 18 Atmega32U4 MCU дижитал тээглүүртэй ашиглахаар шийдсэн.

Товчлуур ба эргэдэг кодлогчыг холбох зүүг тодорхой дарааллаар сонгоогүй боловч зарим зүйлийг анхаарч үзэх хэрэгтэй.

  1. Дижитал унших чадвартай бүх тээглүүрүүд нь дотоод таталттай байдаг бөгөөд энэ нь гаднах татах эсэргүүцлийг багасгах боломжийг олгодог. Мэдээжийн хэрэг кодыг тохируулах ёстой, учир нь товчлуурыг дарахад зүү нь доод түвшингээс өндөр рүү шилжих төлөвтэй байна.
  2. Encoder.h номын сангийн жишээнд MCU -тай холбогдсон хоёр зүү хоёулаа зүү таслахад кодлогчын хамгийн сайн гүйцэтгэлд хүрдэг болохыг тэмдэглэжээ. Atmega32U4 -ийн ихэнх аналог тээглүүрүүд тасалдах чадваргүй байдаг.
  3. Татах эсэргүүцлийн яг утга нь тийм ч чухал биш, 1 кОм-оос 100 кОм хүртэл ямар ч хамаагүй ажиллах болно. Илүү их эсэргүүцлийн утга нь бага хэмжээний энерги зарцуулах боломжийг олгодог боловч хүчдэлийн өөрчлөлтөд зүүний хариу урвал удааширдаг. Хамгийн их үнэ цэнэтэй резисторыг сонгоорой.
  4. Механик кодлогч нь контактын элэгдэл, үсрэлтээс болж хамгийн найдвартай зүйл биш юм. Тийм ч учраас зээлээ тайлах сайн шийдэл хэрэгтэй байна. Миний сонгосон конденсаторын утга ба кодын саатал нь танд хамгийн сайн үр дүнг өгөхгүй байх. Тиймээс бага зэрэг туршилт хийх шаардлагатай байна. Эсвэл оптик кодлогч гэх мэт зүйл рүү шилжээрэй, гэхдээ үнэ нь хамаагүй өндөр байна.

Алхам 2: угсрах

Чуулган
Чуулган
Чуулган
Чуулган
Чуулган
Чуулган
Чуулган
Чуулган

Би товчлуурыг аль болох цэвэрхэн харагдуулахыг хүссэн тул бүх эд ангиудыг прототип хавтангийн ар талд гагнав. Хэрэв товчлуурыг жижиг өнцгөөр өргөхөд илүү эргономик байх болно гэж би бодсон. Тийм ч учраас би Arduino Pro Micro -ийг тусдаа самбар дээр гагнаж, бүх дижитал тээглүүрийг утсаар холбож товчлуур дарсан. USB кабелийг ийм байдлаар холбох нь илүү тохиромжтой.

Би хуучин 3.5 HDD-ийг товчлуурын суурь болгон ашиглахад маш хүнд жинтэй бөгөөд самбарыг ажиллуулах явцад ширээн дээр гулсахаас сэргийлдэг болохыг олж мэдсэн (гулсалтын эсрэг дэвсгэр нь бас тусалдаг) самбарыг бага зэрэг өнцгөөр зассан.

Алхам 3: Програмчлал

Кодыг Arduino IDE ашиглан бичсэн болно. Та 2 номын сан суулгах шаардлагатай болно.

  • Пол Стоффреген кодлогч
  • Arduino гар

Atmega32U4 -ийг эмхэтгэхийн тулд та Arduino Pro Micro хавтангийн файлыг суулгах хэрэгтэй бөгөөд Sparkfun үүнийг хэрхэн хийх талаар маш сайн заавартай болно.

Урьдчилан анхаарах нэг зүйл бол код дээрээ "түлхүүр дарагдсан" үлдээхээс болгоомжлох явдал юм. Энэ нь надад тохиолдсон бөгөөд MCU зарим товчлуурын хослолыг байнга спам хийдэг байсан. Үүнийг хэрхэн яаж засахаа мэдэх цорын ганц арга бол ачаалагчийг MCU руу дахин шатаах явдал юм. Хэрэв та надтай адилхан болох юм бол та энэ гарын авлагыг дагаж boot-loader-ийг шатааж болно, танд програмист болгон ашиглах өөр arduino самбар хэрэгтэй болно.

Гол давталтад MCU нь товчлуурын товчлуур бүрийн төлөвийг эхлээд уншдаг бөгөөд хэрэв LOW -ээс HIGH хүртэл төлөвт өөрчлөлт орсон бол keyboard_shortcut (i) функцийг гүйцэтгэдэг. I хувьсагч нь дарагдсан товчлуурын ID бөгөөд түлхэх товчлуурын нийт тоог ALL_BUTTONS -ээр тодорхойлдог (миний тохиолдолд 15). Гүйцэтгэх үед keyboard_shortcut (i) нь CTRL+SHIFT, дараа нь id ID товчлуур дээр харуулсан үсгийг илгээдэг: 1-> A, 2-> B, 3-> C гэх мэт CTRL+SHIFT+N гэх мэт зарим хослолыг орхигдуулдаг. аль хэдийн Windows10 дээр анхдагч байдлаар ашиглагддаг (энэ тохиолдолд шинэ хавтас үүсгэх). Windows -ийн бүх үндсэн товчлолуудын жагсаалт энд байна. Богино хугацааны дараа MCU бүх түлхүүрүүдийг суллах дохио илгээдэг бөгөөд функц үндсэн давталт руу буцдаг.

Бүх товчлуурыг шалгасны дараа MCU нь эргэлтэт кодлогчийн байрлал өөрчлөгдсөн эсэхийг шалгадаг бөгөөд хэрэв өөрчлөгдсөн бол keyboard_shortcut (i) нь өвөрмөц id -ээр хийгддэг.

Encoder товчлуур дарахад encoderButtonFlag логик хувьсагчийг урвуу болгодог. Кодлогч эргэх үед эргэлтийн чиглэл болон encoderButtonFlag -ийн утгаас хамааран өөр өөр товчлолыг компьютер руу илгээдэг.

Хэрэв debugFlag -ийг 1 гэж тохируулсан бол UART -ээр цуврал монитор руу дибаг хийх мессежийг илгээдэг.

Алхам 4: Товчлолыг тохируулах

Товчлолыг тохируулж байна
Товчлолыг тохируулж байна
Товчлолыг тохируулж байна
Товчлолыг тохируулж байна

Товчлол бүрийн хийх зүйл нь танд хамаатай, бид бүгд өөр өөр сонголттой байдаг. Би өөртөө тохируулсан ямар товчлолыг жишээ болгон өгөх болно. Би xfce4 ширээний менежертэй Linux Mint 19.3 -ийг ашиглаж байгаа тул миний жишээнд bash скриптүүд багтсан болно, гэхдээ би Windows10 -ийн зарим үндсэн жишээг үзүүлэх болно.

Эхний зурган дээр би ямар скриптүүдийг аль товчлол дээр зурсан болохыг харж болно. Энэ нь xfce тохиргооны цэснээс хийгдсэн бөгөөд үүнийг хийх процесс шууд урагшлах болно. Та эдгээр скриптүүдийг миний GitHub репозитороос олж болно

Доод талд байрлах 6 жижиг товчлуур нь вэб хөтөч эсвэл файлын менежер гэх мэт програмыг эхлүүлэх зориулалттай бөгөөд эдгээр програмуудын заримыг start_only_one_app.sh скриптээс дууддаг бөгөөд энэ нь эхлүүлсэн бүх програмын нэрийг олж, эхлүүлэхийг хүсч буй програмаа хайж олох болно. Хэрэв програмын цонх аль хэдийн байгаа бол анхаарлаа төвлөрүүлдэг бол өөр програмын шинэ жишээ эхэлнэ.

Бусад скриптүүд:

  • 2nd_display_control.sh - хоёр дахь дэлгэцийг асаах/унтраах.
  • moon_lamp.sh - миний сарны гэрлийг асааж/унтраана.
  • pc_load.sh - одоогийн CPU болон GPU -ийн хэрэглээ, температурын талаар мэдэгдэл хөөс үүсгэдэг.
  • shutdown.sh - 1 минутын хоцролттой компьютерын унтралыг эхлүүлж, үлдсэн хугацааг харуулах мэдэгдлийн бөмбөлөг үүсгэнэ.
  • spec_vpn.sh - тодорхой OpenVPN серверт холбогддог, эсвэл холболт аль хэдийн байгаа бол серверээс салдаг.
  • shortcut_controll.sh - командыг (нэмэх, хасах, таб, хаах) аргумент болгон авч, ямар цонх одоо төвлөрч байгааг илрүүлж, хэрэв тусгай програм идэвхтэй олдвол хяналтын үйлдлийг гүйцэтгэдэг. Жишээлбэл, шинэ табыг дээд зэргийн текст засварлагч дээр нээхийн тулд үндсэн товчлол нь "CTRL+N" бөгөөд xfce терминал дээр "CTRL+T" товчлол байдаг тул энэ скрипт нь ижил товчлуур бүхий дээд ба терминал дээр шинэ таб нээх боломжийг олгодог.

Эргэдэг кодлогчийн эхний үүрэг бол эзлэхүүнийг хянах, хоёр дахь функц нь shortcut_controll.sh ашиглан идэвхтэй цонхны томруулалтыг хянах явдал юм.

Windows үйлдлийн системийн хувьд та хоёрдахь зурагт үзүүлсэн шиг програмын шинж чанар бүхий цонхноос програмын товчлолыг зурж болно. Бусад бүх зүйлд та AutoHotkey ашиглахыг хүсэх болно. Энэ бол Windows -д зориулсан автоматжуулсан скрипт хэл юм.

AHK синтаксийн зарим энгийн жишээ:

Дууны хяналт

^+t:: {Volume_Up} илгээх

буцах

^+v:: {Volume_Down} илгээх

буцах

Идэвхтэй цонхыг хаах

^+h:: WinGetTitle, Гарчиг, А.

PostMessage, 0x112, 0xF060,,, %Гарчиг %

буцах

PC унтрах

^+b:: shutdown /s ажиллуулна уу

Алхам 5: Сайжруулалт

Сайжруулалт
Сайжруулалт

Зарим боломжит сайжруулалтууд:

  • Илүү сайн чанарын товчлуурууд.
  • ПТХ -ийн прототип нь товчлуур дарахад маш их уян хатан болдог.
  • Эргэдэг кодлогч ямар функц тохируулснаас шалтгаалан өнгийг өөрчлөх RGB гэрэлтүүлэг.
  • Илүү олон товчлуурууд (IO өргөтгөгч IC ашиглана уу).
  • Илүү сайн эргэлддэг кодлогч (эсвэл илүү сайн задлах шийдэл).

Зөвлөмж болгож буй: