Talaan ng mga Nilalaman:

Paggamit ng isang 4x4 KeyPad Sa CircuitPython: 4 na Hakbang
Paggamit ng isang 4x4 KeyPad Sa CircuitPython: 4 na Hakbang

Video: Paggamit ng isang 4x4 KeyPad Sa CircuitPython: 4 na Hakbang

Video: Paggamit ng isang 4x4 KeyPad Sa CircuitPython: 4 na Hakbang
Video: @sign sa keyboard gamit ang laptop at pc, paano ito gawin? #pttv #tutorial 2024, Nobyembre
Anonim
Paggamit ng isang 4x4 KeyPad Sa CircuitPython
Paggamit ng isang 4x4 KeyPad Sa CircuitPython

Ang murang keypad na ito ay nag-aalok ng isang simpleng pamamaraan ng pag-input ng bilang sa iyong mga proyekto sa CircuitPython. Gagamitin ko ito sa isang Adafruit ItsyBitsy M0 express.

Kakailanganin mong:

  • Keypad - ang akin ay 4x4
  • ItsyBitsy M0 Express o katulad na board
  • Ang Mu Editor ay naka-install sa iyong computer
  • USB cable upang i-flash ang code

Hakbang 1: Paano Gumagana ang Keypad

Paano Gumagana ang Keypad
Paano Gumagana ang Keypad

Ang Keypad nila ay mayroong 16 simple, mabagal na kumikilos na bubble switch na nakaayos sa isang 4 by grid na may 8 mga koneksyon sa ibaba. Kung bilang namin mula kaliwa mula 0 hanggang 7, ang mga koneksyon 0 hanggang 3 ay konektado sa bawat hilera. Koneksyon 0 sa tuktok na hilera at koneksyon 3 sa ibabang hilera. Ang mga koneksyon 4 hanggang 7 ay konektado sa mga haligi na may koneksyon 4 sa kaliwang haligi at koneksyon 7 sa kanang haligi. Ang bawat isa sa mga 16 switch ay gumagawa ng isang pagsali sa pagitan ng isang iba't ibang mga kumbinasyon ng hilera / haligi. Kung pinindot namin ang key7 ang ikatlong hilera ay sumali sa kaliwang haligi. Maaari nating maunawaan kung ang 5 susi kung pinindot kung ang hilera nito ay itinaas nang TAAS at mababasa natin ang isang TAAS sa haligi nito. Upang magawa ito, inilabas namin ang mga hilera at INPUT mula sa mga haligi.

Kailangan naming itakda ang bawat hilera ng TAAS sa pagliko, habang ang iba pang mga hilera ay mababa, basahin ang bawat haligi sa pagliko hanggang sa makakuha kami ng isang TAAS na input. Madali itong mapamahalaan nang may pugad para sa mga loop.

Kailangan nating isaalang-alang ang katotohanan na ang mga switch ng bubble na ito ay medyo mabagal kumilos at kailangang mapindot nang husto upang mapalapit sila. Ang pag-scan sa lahat ng 16 na switch sa ganitong paraan ay maaaring magawa nang napakabilis ngunit kailangan nating mag-scan nang paulit-ulit upang kunin ang isang pindutin ang key. Kailangan din naming 'paandarin' sa isang maikling pagkaantala ng oras upang hindi kami makakuha ng mga susi na paulit-ulit sa tuwing pipilitin namin.

Tulad ng mga switch ay medyo 'squishy' kailangan namin ng ilang feedback sa gumagamit upang ipahiwatig na ang isang key press ay nabasa na. Ang built-in na LED ay na-flash sa tuwing ang isang key press ay nadarama.

Hakbang 2: Mga Koneksyon sa Pisikal

Mga Koneksyon sa Pisikal
Mga Koneksyon sa Pisikal

Ang mga koneksyon ay kaliwa hanggang kanan sa KeyPad0 1 2 3 4 5 6 7

D7 D9 D10 D11 A5 A4 A3 A2 sa ItsyBitsy

Ang D7 hanggang D11 ay itinakda bilang mga OUTPUT habang ang A5 hanggang A2 ay na-set up bilang INPUT na may PullDOWN.

Ang code ay may maraming mga komento at dapat ay madaling sundin.

Hakbang 3: Paano Gumagana ang Getkey ()

Paano Gumagana ang Getkey ()
Paano Gumagana ang Getkey ()

Sinusuri ng pagpapaandar na ito ang keypad para sa isang solong pindutin ang key. Mabilis nitong sinusuri ang bawat isa sa mga pindutan sa pagliko ng maximum na 10 beses upang makita kung ang isang key switch ay sarado. Kung ang isang susi ay pinindot ibabalik nito ang pangunahing halaga, pagbibilang ng kaliwa hanggang kanan mula sa itaas hanggang sa ibaba (0… 15) Tandaan ang mga halaga para sa ilalim na hilera: 14, 0, 15, 13 (Hex E, 0, F, D). Kung walang susi na pinindot bumalik ito -999 bilang isang error code na maaaring madaling kunin sa pangunahing programa. Ang built-in na LED ay kumikislap kung ang isang pangunahing pindutin ay kinuha bilang feedback ng gumagamit. Mabilis itong tumatakbo at ang de-bounce wait na 0.2 segundo ay magagamit lamang kapag pinindot ang isang key.

Hakbang 4: Getvalue (mga digit)

Getvalue (mga digit)
Getvalue (mga digit)

Ang routine na ito ay nagbibigay ng isang n digit na halaga mula sa mga numerong key. Hindi nito pinapansin ang mga pulang susi.

Ang Python code na ito ay madaling mai-convert upang tumakbo sa isa pang aparato, tulad ng isang Raspberry Pi, marahil ay kailangan mo lamang baguhin ang mga linya ng pag-set up ng pin sa tuktok ng script.

Mangyaring ipaalam sa akin kung nakita mong kapaki-pakinabang ang code.

Manatiling ligtas at magsaya!

Inirerekumendang: