Talaan ng mga Nilalaman:

Gabay sa Paggamit ng Isang Pin Keypad Raspberry Pi: 9 Mga Hakbang
Gabay sa Paggamit ng Isang Pin Keypad Raspberry Pi: 9 Mga Hakbang

Video: Gabay sa Paggamit ng Isang Pin Keypad Raspberry Pi: 9 Mga Hakbang

Video: Gabay sa Paggamit ng Isang Pin Keypad Raspberry Pi: 9 Mga Hakbang
Video: GET MORE HOURS ON PISO WIFI Without Coins|WIFI HACKS| PAANO MAKA KUHA NG MARAMING ORAS SA PISO WIFI 2024, Hulyo
Anonim
Gabay sa Paggamit ng Isang Pin Keypad Raspberry Pi
Gabay sa Paggamit ng Isang Pin Keypad Raspberry Pi

DISCLAIMER: ITO AY ISANG GABAY SA PAGGAMIT PARA SA BUKAS NA PRODUKTO NG SOURCE: ANG ISANG PIN KEYPAD. HINDI ITO AY DIYANG PROYEKTO. KUNG GUSTO NYONG GAWIN ANG MGA BOARDS NG IYONG SARILI, ANG EAGLE FILES AY MAAARING MAKITA SA WAKAS NG TUTORIAL

Ano ang One Pin Keypad?

Ginagawa ng Isang Pin Keypad ang paggamit ng isang matrix keypad nang mas madali at hinahayaan kang ireserba ang iyong mahalagang I / O na mga pin para sa iba pang mga layunin. Ang isang 16 button matrix keypad ay karaniwang nangangailangan ng 8 digital input sa isang microcontroller o solong board computer. Nililimitahan ka ng pinakatanyag na Arduinos sa 14 na mga digital na pin lamang, kaya't iniiwan ka ng isang 16-button na keypad na may 6 na mga pin lamang para sa natitirang bahagi ng iyong proyekto. Ang kakulangan sa mapagkukunang ito ay maaaring humantong sa isang mamahaling disenyo ng kalakal o isang mas magastos na pag-upgrade ng microcontroller. Tinatanggal ng module ng One Pin Keypad ang pangangailangan para sa lahat ng mga digital input na ito. Tulad ng ipinapahiwatig ng pangalan, ang One Pin Keypad ay gumagamit lamang ng isang pin (isang analog input) kasama ang mga koneksyon ng GND at VCC, kaya ang mga kable ng iyong keypad ay isang iglap! Para sa mga gumagamit ng Raspberry Pi (ang target na madla para sa tutorial na ito) nangangailangan din ito ng isang ADS1115 analog sa digital converter, na talagang madaling mag-wire. Pinapasimple din ng One Pin Keypad Python Package (kasama) ang kinakailangang programa upang maproseso ang mga pag-input ng keypad, na nakakatipid sa iyo ng mas maraming oras at pagsisikap.

Para sa Arduino Usage Guide, mag-click dito.

Hakbang 1: Ipunin ang Lahat ng Mga Bahagi

Ipunin ang Lahat ng Mga Bahagi!
Ipunin ang Lahat ng Mga Bahagi!

Upang makapagsimula sa iyong board ng One Pin Keypad, kakailanganin mo ang:

  • Isang Isang Pin na Keypad Board
  • Isang Arduino ng ilang lasa (Isang Arduino Nano ang ginamit sa kasong ito)
  • 3 mga kable ng jumper,
  • 4 M / M O 4 pang M / F jumper cables, depende kung anong uri ng mga header ang nasa iyong Raspberry Pi
  • Isang 16 na button na keypad ng lamad
  • Breadboard (Isang maliit talaga ang ginagamit dito)
  • Isang ADS1115 Modyul (mula sa Adafruit o isang clone)
  • Isang Raspberry Pi na may koneksyon sa internet at Raspbian OS (Gumamit ako ng Stretch)
  • Ang Mga Kagamitan sa Raspberry Pi (isang HDMI Cable, isang supply ng kuryente, dongle, monitor, atbp ay nakasalalay sa lasa ng iyong Raspberry Pi)

Hakbang 2: Mga kable

Kable!
Kable!
Kable!
Kable!

Wire ang One Pin Keypad alinsunod sa Fritzing diagram, ang larawan o pareho, alinman ang gusto mo.

Mangyaring tandaan: ang tala sa diagram ng Fritzing ay kumakatawan sa One Pin Keypad (at ang mga pagdadaglat na GND VCC at AOUT na itinalaga ang mga pinout ng board ng One Pin Keypad)

Hakbang 3: Pag-install ng Python Package

Pag-install ng Python Package!
Pag-install ng Python Package!
Pag-install ng Python Package!
Pag-install ng Python Package!

Buksan ang isang window ng terminal at i-type ang mga sumusunod na utos:

sudo apt-get update

tapos

pip3 i-install ang Progetto-One-Pin-Keypad

upang mai-install ang package at ang mga kinakailangang dependency

Hakbang 4: Pag-install ng Mga Halimbawa

Pag-install ng Mga Halimbawa
Pag-install ng Mga Halimbawa

Lumikha ako ng isang folder ng dev upang ilagay ang imbakan sa ilalim ng bahay / pi kung nais mong gawin ang pareho (ito ay ganap na opsyonal), patakbuhin ang utos na ito:

mkdir dev

pagkatapos, upang mag-navigate sa folder, uri:

cd dev

Panghuli, upang i-clone ang repository, ipasok ang sumusunod na utos:

git clone

Hakbang 5: Paganahin ang I2C

Pagpapagana ng I2C
Pagpapagana ng I2C
Pagpapagana ng I2C
Pagpapagana ng I2C
Pagpapagana ng I2C
Pagpapagana ng I2C

Ang ADS1115 ADC (Analog to Digital Converter) ay umaasa sa I2C (Inter-Integrated Circuit) na protocol upang makipag-usap sa Raspberry Pi, bilang default ang I2C bus ay hindi pinagana, upang paganahin ito, i-type:

sudo raspi-config

na magdadala sa iyo sa isang asul na window ng pagsasaayos, mula doon, gamit ang mga arrow key at ang enter key, pumili

  1. Mga Pagpipilian sa Interfacing
  2. I2C
  3. Pagkatapos bumaba sa

Tip: Ang pagsangguni sa mga screenshot sa itaas ay maaaring makatulong sa kaunti! Kung natigil ka pa rin, huwag kang matakot! Sumangguni sa kamangha-manghang kung paano-mula sa Sparkfun!

Hakbang 6: Patakbuhin ang Calibratethresholds

Patakbuhin ang Calibratethresholds!
Patakbuhin ang Calibratethresholds!

Mag-navigate sa repository kung hindi mo pa nagagawa at pumunta sa mga halimbawa ng folder gamit ang mga utos na ito:

Tip: i-type ang 'cd Prog' pagkatapos ay pindutin ang Tab, dapat itong kumpletuhin ang pangalan ng repository!

cd Progetto_One_Pin_Keypad_Python_Package

pagkatapos i-type:

mga halimbawa ng cd

Susunod, patakbuhin ang halimbawa ng calibratethresholds gamit ang utos na ito:

python3 calibratethresholds

at sundin ang mga tagubiling ipinakita sa console upang i-calibrate ang iyong board. Pagkatapos ng pag-calibrate sa lahat ng mga pindutan, subukan ang iyong bagong mga halagang analog upang makita kung gumagana ang mga ito sa pamamagitan ng pagpindot sa ilang mga pindutan kapag sinenyasan na "Magsimula.", Kung ang mga bagong halaga ay napatunayan na hindi tumpak, gamitin ang Ctrl C upang patayin ang programa at patakbuhin ito muli

Ang halimbawa ng pagkakalibrate ay dapat magbigay sa iyo ng 2 mga linya ng code na kakailanganin mo sa susunod na halimbawa, tiyaking panatilihing bukas ang console at / o kopyahin ang pareho!

Hakbang 7: Baguhin at Pagkatapos Patakbuhin ang Readkeypadwithtimeout

Baguhin at Pagkatapos Patakbuhin ang Readkeypadwithtimeout
Baguhin at Pagkatapos Patakbuhin ang Readkeypadwithtimeout
Baguhin at Pagkatapos Patakbuhin ang Readkeypadwithtimeout
Baguhin at Pagkatapos Patakbuhin ang Readkeypadwithtimeout
Baguhin at Pagkatapos Patakbuhin ang Readkeypadwithtimeout
Baguhin at Pagkatapos Patakbuhin ang Readkeypadwithtimeout

Ngayon na ang iyong One Pin Keypad ay calirbated, oras na upang gamitin ito upang magamit. Habang magagawa mo ito mula sa linya ng utos gamit ang vi, personal kong ginusto ang paggamit ng isang IDE tulad ng IDLE.

Buksan ang IDLE (gugustuhin mo ang bersyon ng python3) at baguhin ang mga sumusunod na linya:

Tandaan na ang analog na halaga ng array na nakopya mo? Palitan ang linya 13 (tingnan sa ibaba) ng mga bagong na-calibrate na halagang analog.

# hal: my_thresholds = [ang mga naka-calibrate na halaga ay narito]

ay pinalitan nito:

my_thresholds = [225, 2116, 3904, 5200, 6300, 7350, 8450, 9325, 10000, 10750, 11500, 12100, 12550, 13100, 13800, 14250]

Susunod, idagdag ang susunod na linya ng code sa pagkatapos ng linya 23, (tingnan sa ibaba):

keypad.useCalibratedThresholds (my_thresholds)

ay idinagdag pagkatapos ng linya 23:

# hal: keypad.use_calibrated_thresholds (ang iyong pangalan ng array)

ang paggawa ng mga linya 22 hanggang 24 ay ganito ang hitsura sa huli:

# Kung ginagamit ang mga na-calibrate na halaga, gamitin ang_calibrated_thresholds sa ibaba:

# hal: keypad.use_calibrated_thresholds (ang iyong pangalan ng array)

keypad.use_calibrated_thresholds (my_thresholds)

Pagkatapos matapos iyon, patakbuhin ang code at subukan ito sa pamamagitan ng pagpindot sa ilang mga pindutan! Huwag mag-atubiling iakma ang halimbawa ng sketch sa iyong mga proyekto! Tandaan na ang read_keypad_with_timeout ay nagbabalik ng pindutan na pinindot bilang isang char at ang timeout ay nakatakda sa milliseconds! Kung hindi mo nais ang isang pag-timeout gamitin ang keypad. NO_TIMEOUT pare-pareho.

Hakbang 8: Paano Gumagana ang One Pin Keypad

Paano gumagana ang One Pin Keypad
Paano gumagana ang One Pin Keypad
Paano gumagana ang One Pin Keypad
Paano gumagana ang One Pin Keypad

Karamihan sa disenyo ng One Pin Keypad ay batay sa pagpapatupad ni Hari Wiguna ng isang voltage divider upang makakuha ng isang natatanging halaga ng analog para sa bawat key sa isang 16 pin keypad. Ang disenyo ng Isang Pin Keypad ay nananatiling higit sa pareho, na may ilang mga pag-aayos. Kung nais mo ang isang mahusay na tutorial sa kung paano gumagana ang One Pin Keypad, huwag mag-atubiling tingnan ang kahanga-hangang video ni Hari Wiguna dito!

Hakbang 9: Konklusyon

Konklusyon
Konklusyon

Sa itinuturo na ito, sinakop namin kung paano makapagsimula sa iyong board na One Pin Keypad. Ngayon, ang nagtataka sa iyo ay maaaring nagtaka kung bakit ang readKeypadInstantaneous na halimbawa ng sketch ay hindi kailanman ginamit, ang dahilan ay hindi ito kasing kapaki-pakinabang, dahil ang pindutan ay dapat na pinindot kapag ito ay tinawag, ang readKeypadInstantaneous () na pagpapaandar ay pangunahing ginagamit upang gawing simple basahin angKeypadWithTimeout () sa library. Kung mahuli nito ang iyong mata huwag mag-atubiling dalhin ito para sa isang paikutin. Maligayang Pag-hack!

Kung mayroon kang anumang mga katanungan, mag-iwan ng komento sa ibaba o mag-email sa amin sa [email protected]. Lahat ng pinakamahusay, Progetto Company P. S. Tulad ng ipinangako, isang link sa Eagle Files ng board.

Inirerekumendang: