Talaan ng mga Nilalaman:

Arduino Wireless Combination Lock With NRF24L01 at 4 Digit 7 Segment Display: 6 Hakbang (na may Mga Larawan)
Arduino Wireless Combination Lock With NRF24L01 at 4 Digit 7 Segment Display: 6 Hakbang (na may Mga Larawan)

Video: Arduino Wireless Combination Lock With NRF24L01 at 4 Digit 7 Segment Display: 6 Hakbang (na may Mga Larawan)

Video: Arduino Wireless Combination Lock With NRF24L01 at 4 Digit 7 Segment Display: 6 Hakbang (na may Mga Larawan)
Video: 4 Digit 7 Segment Wireless Combination Lock 2024, Disyembre
Anonim
Arduino Wireless Combination Lock With NRF24L01 at 4 Digit 7 Segment Display
Arduino Wireless Combination Lock With NRF24L01 at 4 Digit 7 Segment Display

Sinimulan ng proyektong ito ang buhay nito bilang isang ehersisyo upang makagawa ng isang bagay sa isang 4 na digit na 7 segment na pagpapakita.

Ang naisip ko ay ang kakayahang magpasok ng 4 na digit ng isang kombinasyon na numero, ngunit sa oras na ito ay natapos, medyo mainip ito. Itinayo ko ito gamit ang isang Arduino UNO. Gumana ito, ngunit wala nang ginawa.

Nagkaroon ako ng ideya na dapat itong magkaroon ng isang pindutan upang matanggap ang napiling numero, at marahil isa pang pindutan upang baguhin ang kumbinasyon, at marahil isang LED upang ipakita ang estado na ito ay nasa anumang oras. Habang ito ay parang isang plano, nangangahulugan din ito na mauubusan ako ng mga pin sa UNO. Maaaring may isang paraan ng multiplexing ng yunit na ito ngunit hindi ako sigurado kung saan magsisimula, kaya naabot ko ang Arduino Mega.

Ngayon na gumagamit ako ng isang mas malaking board at maraming mga pin na mapaglalaruan, nagpasya din akong magdagdag ng mga kakayahan sa wi-fi upang makipag-usap sa isa pang Arduino na makokontrol talaga ang ilang uri ng switch.

Hakbang 1: Listahan ng Mga Kinakailangan at Bahagi

Mga Kinakailangan at Listahan ng Mga Bahagi
Mga Kinakailangan at Listahan ng Mga Bahagi

Matapos isipin ang lahat ng iyon, mayroon na akong listahan ng mga kinakailangan:

  • Upang makapasok sa isang 4 na kumbinasyon.
  • Upang magsimula sa isang default na kumbinasyon ng hard coded.
  • Upang mapalitan ang kumbinasyon at maiimbak ang bagong kumbinasyon sa EEPROM ng Arduino.
  • Ipakita ang katayuan ng lock na may isang pulang LED para sa naka-lock at berdeng LED para bukas.
  • Ipakita ang katayuan kapag ang kumbinasyon ay binago ng isang asul na LED.
  • Kapag ang estado ay naka-unlock, manatili sa isang tagal ng oras pagkatapos ay bumalik sa naka-lock na estado.
  • Ipadala ang naka-lock / naka-unlock na estado sa isa pang Arduino.
  • Ipakita ang parehong estado na may pula at berde na LEDs sa pagtanggap ng Arduino.
  • Para sa mga layunin ng pagpapakita, gumamit ng isang servo upang kumilos bilang isang mekanismo ng lock batay sa natanggap na estado.

Mula sa mga kinakailangan maaari na akong lumikha ng isang listahan ng mga bahagi:

Ang transmiter:

  • Arduino Mega.
  • Breadboard.
  • Ipinapakita ang 4 na digit na 7 segment.
  • 2 X panandalian switch, may mga takip.
  • 1 X RGB LED.
  • 9 X 220ohm resistors. 8 para sa display at 1 para sa RGB LED.
  • 2 X 10kohm resistors. Hilahin ang mga resistor para sa 2 mga pindutan. (Gumamit talaga ako ng 9.1kohm sapagkat iyon ang mayroon ako)
  • 1 X 10k potensyomiter.
  • 1 X NRF24L01
  • [opsyonal] 1 X YL-105 breakout board para sa NRF24L01. Pinapayagan nito ang 5v na koneksyon at mas madaling mga kable. Jumper wires

Ang tagatanggap:

  • Arduino UNO.
  • Breadboard.
  • 1 X RGB LED.
  • 1 X 220ohm risistor. Para sa LED.
  • 1 X servo. Gumamit ako ng isang SG90 para sa mga layunin ng pagpapakita lamang.
  • 1 X NRF24L01
  • opsyonal] 1 X YL-105 breakout board para sa NRF24L01. Pinapayagan nito ang 5v na koneksyon at mas madaling mga kable.
  • Jumper wires

Hakbang 2: Ang Display

Ang Display
Ang Display
Ang Display
Ang Display

Gumamit ako ng isang 4 digit na 7 segment na display

Nasubukan sa SMA420564 at SM420562K (ang mga pin ay pareho)

Ang mga pine 1 at 12 ay minarkahan.

Pag-aayos ng top down pin 12, 11, 10, 9, 8, 7 1, 2, 3, 4, 5, 6

Ang mga Pin 12, 9, 8, 6 ay buksan o i-off ang digit na 1 hanggang 4 mula kaliwa hanggang kanan

Hakbang 3: Pag-kable sa Arduino Mega:

Pag-wire sa Arduino Mega
Pag-wire sa Arduino Mega

Ipakita sa pag-aayos ng pin ng Arduino

  • 1 sa pin 6 sa pamamagitan ng 220ohm risistor (E)
  • 2 sa pin 5 sa pamamagitan ng 220ohm resistor (D)
  • 3 upang i-pin ang 9 sa pamamagitan ng 220ohm resistor (DP) na hindi ginagamit dito
  • 4 sa pin 4 sa pamamagitan ng 220ohm risistor (C)
  • 5 upang i-pin 8 sa pamamagitan ng 220ohm risistor (G)
  • 6 upang i-pin 33 (Digit 4)
  • 7 upang i-pin ang 3 sa pamamagitan ng 220ohm risistor (B)
  • 8 sa pin 32 (Digit 3)
  • 9 upang i-pin 31 (Digit 2)
  • 10 upang i-pin 7 sa pamamagitan ng 220ohm risistor (F)
  • 11 sa pin 2 sa pamamagitan ng 220ohm risistor (A)
  • 12 hanggang sa 30 (Digit 1)

10kohm potentiometer upang mabago ang bilang sa ipinakitang digit

  • Panlabas na pin sa 5v
  • Center pin sa A0
  • Iba pang panlabas na pin sa GND

Tanggapin ang pindutan ng numero

  • Upang i-pin 36.
  • At i-pin ang 36 sa pamamagitan ng isang 10kohm pull-down na risistor sa GND

Baguhin ang pindutan ng numero ng kumbinasyon

  • Upang i-pin 37.
  • At i-pin ang 37 sa pamamagitan ng isang 10kohm pull-down na risistor sa GND

RGB LED (Karaniwang katod)

  • Ang Cathode sa GND sa pamamagitan ng 220ohm resistor
  • Pula sa pin 40
  • Green upang i-pin 41
  • Blue to pin 42

NRF24L01 na may breakout board:

  • MISO upang i-pin ang 50 (sapilitan sa pamamagitan ng nakatuon na pin)
  • MOSI upang i-pin ang 51 (Sapilitan sa pamamagitan ng nakatuon na pin)
  • SCK upang i-pin 52 (Sapilitan sa pamamagitan ng nakatuon na pin)
  • CE upang i-pin ang 44 (Opsyonal na numero ng pin ngunit tinukoy sa sketch)
  • CSN sa pin 45 (Opsyonal na numero ng pin ngunit tinukoy sa sketch)
  • Vcc sa Arduino 5v (o 3.3v kung hindi gumagamit ng breakout board)
  • GND sa Arduino GND

Hakbang 4: Pag-kable ng Up ng Arduino UNO:

Pag-kable ng Up ng Arduino UNO
Pag-kable ng Up ng Arduino UNO

RGB LED (Karaniwang katod)

  • Ang Cathode sa GND sa pamamagitan ng 220ohm resistor
  • Pula upang i-pin ang 2 Green sa pin 3
  • Blue (Hindi nagamit dito)

Servo:

  • Pula sa Arduino 5v o magkakahiwalay na supply kung ginamit
  • Brown sa Arduino GND at magkakahiwalay na supply kung ginamit
  • Orange upang i-pin 6

NRF24L01 na may breakout board:

MISO upang i-pin 12 (Sapilitan sa pamamagitan ng nakatuon na pin)

MOSI upang i-pin 11 (sapilitan sa pamamagitan ng nakatuon na pin)

SCK sa pin 13 (Sapilitan sa pamamagitan ng nakalaang pin)

CE sa pin 7 (Opsyonal na numero ng pin ngunit tinukoy sa sketch)

CSN sa pin 8 (Opsyonal na numero ng pin ngunit tinukoy sa sketch)

Vcc sa Arduino 5v (o 3.3v kung hindi gumagamit ng breakout board)

GND sa Arduino GND

Hakbang 5: Paano Ito Gumagana

Image
Image
Paano Ito Gumagana
Paano Ito Gumagana
Paano Ito Gumagana
Paano Ito Gumagana
Paano Ito Gumagana
Paano Ito Gumagana

Kapag ang parehong mga breadboard ay kumpleto na at ang naaangkop na sketch ay na-upload sa kanila, maaari na natin itong subukan.

Na may kapangyarihan sa parehong mga board.

Ang mga pulang LED ay dapat na ipakita sa parehong mga board.

Ang display ay magpapakita ng isang numero sa unang digit. Ang bilang na ito ay depende sa kung saan kasalukuyang itinakda ang potensyomiter.

Lumiko ang potentiometer upang makuha ang ninanais na numero.

Kapag nahanap na ang numero, pindutin ang button na tanggapin. Sa aking kaso ito ang isa sa kaliwa ng potentiometer.

Gawin ang pareho para sa iba pang tatlong mga numero.

Kung ang ipinasok na kumbinasyon ay tama, ang salitang OPEn ay ipapakita, ang berdeng LED ay ilaw sa parehong mga board at ang servo ay magiging 180 degree.

Ang display ay magiging blangko at ang berdeng LED ay mananatiling naiilawan para sa tungkol sa 5 segundo mas mahaba.

Kapag natapos na ang oras ng pag-unlock, ang parehong mga LED ay magiging pula at ang servo ay babalik sa 180 degree sa pagsisimula nito.

Kung ang pagsingit na ipinasok ay hindi tama, ang salitang OOPS ay ipapakita at ang mga pulang LED ay mananatili sa.

Mayroong isang mahirap na naka-code na kombinasyon ng default sa sketch ng 1 1 1 1.

Upang baguhin ang kumbinasyon, dapat mo munang ipasok ang tamang kumbinasyon.

Kapag nawala ang salitang OPEn, mayroon kang mga 5 segundo upang pindutin ang iba pang pindutan.

Kapag naipasok mo na ang pagkakasunud-sunod ng kumbinasyon ng pagbabago, ang LED ng pangunahing board ay magiging asul, habang ang iba pa ay mananatiling berde at samakatuwid ay bukas.

Magpasok ng isang bagong kumbinasyon sa parehong paraan tulad ng dati.

Kapag natanggap ang bagong kumbinasyon (sa pangwakas na pindutin ang pindutan) maiimbak ito sa EEPROM.

Ang parehong Arduinos ay pupunta ngayon sa naka-lock na mode.

Ipasok ang iyong bagong kumbinasyon at mag-a-unlock ito tulad ng inaasahan.

Kapag ang isang kumbinasyon ay binago at nakaimbak sa EEPROM, ang matigas na naka-code na default ng 1 1 1 1 ay hindi papansinin.

Hakbang 6: Lahat Tapos Na

Itinayo ko ito gamit ang pangunahing NRF24L01 na may built in aerial at pinamamahalaang mahusay na komunikasyon na halos 15 talampakan sa pamamagitan ng isang pader.

Dahil ang Arduino Mega breadboard ay medyo naging abala sa mga wire sa paraan, gumamit ako ng mga direktang jumper sa ilang mga lugar. Ito, sa katotohanang maraming sa isang breadboard, ginagawang mahirap na sundin ang mga larawan.

Gayunpaman, sa palagay ko ay ipinaliwanag ko ang lahat ng bagay para sa pin at kahit na ikaw ay isang nagsisimula, dapat mong maitayo ang maliit na proyekto sa pamamagitan lamang ng pagkuha ng isang kawad o pin nang paisa-isa.

Ang parehong mga sketch ay ganap na nagkomento para sa kadalian sa pagbabasa at magagamit dito upang ma-download.

Ang sketch para sa Arduino Mega ay malaki, halos 400 mga linya ngunit pinaghiwalay sa mga napapamahalaang mga tipak kaya't dapat madali itong sundin.

Inirerekumendang: