Cuprins:

Blocare combinată wireless Arduino cu NRF24L01 și afișaj cu 4 cifre pe 7 segmente: 6 pași (cu imagini)
Blocare combinată wireless Arduino cu NRF24L01 și afișaj cu 4 cifre pe 7 segmente: 6 pași (cu imagini)

Video: Blocare combinată wireless Arduino cu NRF24L01 și afișaj cu 4 cifre pe 7 segmente: 6 pași (cu imagini)

Video: Blocare combinată wireless Arduino cu NRF24L01 și afișaj cu 4 cifre pe 7 segmente: 6 pași (cu imagini)
Video: Nextion и FLProg - Разгон скорости и работа над дизайном 2024, Noiembrie
Anonim
Blocare combinată wireless Arduino cu NRF24L01 și afișaj cu 4 cifre pe 7 segmente
Blocare combinată wireless Arduino cu NRF24L01 și afișaj cu 4 cifre pe 7 segmente

Acest proiect și-a început viața ca un exercițiu de a face ceva cu un afișaj de 4 cifre pe 7 segmente.

Ceea ce am venit a fost capacitatea de a introduce 4 cifre un număr combinat, dar odată ce a fost terminat, a fost destul de plictisitor. L-am construit folosind un Arduino UNO. A funcționat, dar nu a făcut nimic altceva.

Apoi am avut ideea că ar trebui să aibă un buton pentru a accepta numărul selectat și poate un alt buton pentru a schimba combinația și poate un LED pentru a arăta starea în care se afla în orice moment. În timp ce părea a fi un plan, a însemnat, de asemenea, că voi rămâne fără pini la UNO. Este posibil să existe o modalitate de multiplexare a acestei unități, dar nu sunt sigur de unde să încep, așa că am ajuns la Arduino Mega.

Acum, când foloseam o placă mai mare și aveam mai mulți pini cu care să mă joc, am decis, de asemenea, să adaug capacități wi-fi pentru a comunica cu un alt Arduino care ar controla de fapt un fel de comutator.

Pasul 1: Cerințe și lista pieselor

Cerințe și listă de piese
Cerințe și listă de piese

După ce m-am gândit la toate acestea, am acum o listă de cerințe:

  • Pentru a putea introduce o combinație de 4 cifre.
  • Pentru a începe cu o combinație implicită codificată.
  • Pentru a putea schimba combinația și a stoca noua combinație în EEPROM-ul Arduino.
  • Afișați starea blocării cu un LED roșu pentru blocat și LED verde pentru deschis.
  • Afișați starea când combinația a fost schimbată cu un LED albastru.
  • Când starea este deblocată, rămâneți o perioadă de timp, apoi reveniți la starea blocată.
  • Transmite starea blocat / deblocat către un alt Arduino.
  • Afișați aceeași stare cu LED-uri roșii și verzi pe receptorul Arduino.
  • În scop demonstrativ, utilizați un servo pentru a acționa ca un mecanism de blocare bazat pe starea primită.

Din cerințe, pot crea acum o listă de piese:

Transmițătorul:

  • Arduino Mega.
  • Pană de pâine.
  • Afișaj cu 4 cifre și 7 segmente.
  • 2 comutatoare momentane X, cu capace.
  • 1 X LED RGB.
  • Rezistoare 9 X 220ohm. 8 pentru afișaj și 1 pentru LED-ul RGB.
  • 2 rezistențe X 10kohm. Trageți rezistențele în jos pentru cele 2 butoane. (De fapt, am folosit 9,1 kohm pentru că asta am avut)
  • 1 X 10k potențiometru.
  • 1 X NRF24L01
  • [opțional] 1 placă de separare YL-105 pentru NRF24L01. Acest lucru permite o conexiune de 5V și o conexiune mai ușoară. Sârme de jumper

Destinatarul:

  • Arduino UNO.
  • Pană de pâine.
  • 1 X LED RGB.
  • Rezistor 1 X 220ohm. Pentru LED.
  • 1 X servo. Am folosit un SG90 numai în scop demonstrativ.
  • 1 X NRF24L01
  • opțional] 1 X placă YL-105 pentru NRF24L01. Acest lucru permite o conexiune de 5V și o conexiune mai ușoară.
  • Sârme de jumper

Pasul 2: Afișajul

Afișajul
Afișajul
Afișajul
Afișajul

Am folosit un afișaj cu 4 cifre pe 7 segmente

Testat cu SMA420564 și SM420562K (pinii sunt aceiași)

Pinii 1 și 12 sunt marcați.

Dispunerea pinilor de sus în jos 12, 11, 10, 9, 8, 7 1, 2, 3, 4, 5, 6

Pinii 12, 9, 8, 6 activează sau opresc cifra de la 1 la 4 de la stânga la dreapta

Pasul 3: Cablarea Arduino Mega:

Cablarea Arduino Mega
Cablarea Arduino Mega

Afișați aranjamentul pinului Arduino

  • 1 la pinul 6 prin rezistor de 220ohm (E)
  • 2 la pin 5 prin rezistor de 220ohm (D)
  • 3 la pinul 9 prin rezistor de 220ohm (DP) neutilizat aici
  • 4 la pinul 4 prin rezistor 220ohm (C)
  • 5 până la pinul 8 prin rezistor de 220ohm (G)
  • 6 la pinul 33 (cifra 4)
  • 7 la pin 3 prin rezistor de 220ohm (B)
  • 8 la pinul 32 (cifra 3)
  • 9 la pinul 31 (cifra 2)
  • 10 la pinul 7 prin rezistor 220ohm (F)
  • 11 la pin 2 prin rezistor 220ohm (A)
  • 12 la pinul 30 (cifra 1)

Potențiometru de 10 kohm pentru a schimba numărul de pe cifra afișată

  • Pin exterior la 5v
  • Centrați pinul la A0
  • Alt pin exterior la GND

Butonul de acceptare a numărului

  • Pentru a fixa 36.
  • Și pinul 36 printr-un rezistor de tragere de 10 kohm la GND

Butonul de schimbare a numărului de combinație

  • Pentru a fixa 37.
  • Și pinul 37 printr-un rezistor de tragere de 10 kohm la GND

LED RGB (catod comun)

  • Catod la GND prin rezistor de 220ohm
  • Roșu la pinul 40
  • Verde la pinul 41
  • Albastru la pinul 42

NRF24L01 cu panou de prindere:

  • MISO la pinul 50 (Obligatoriu prin pinul dedicat)
  • MOSI la pinul 51 (Obligatoriu prin pinul dedicat)
  • SCK la pinul 52 (Obligatoriu prin pinul dedicat)
  • CE până la pinul 44 (numărul opțional al pinului, dar definit în schiță)
  • CSN la pinul 45 (numărul opțional al pinului, dar definit în schiță)
  • Vcc la Arduino 5v (sau 3.3v dacă nu utilizați placa de breakout)
  • GND către Arduino GND

Pasul 4: Cablarea Arduino UNO:

Cablarea Arduino UNO
Cablarea Arduino UNO

LED RGB (catod comun)

  • Catod la GND prin rezistor de 220ohm
  • Roșu la pin 2 Verde la pin 3
  • Albastru (Nu este folosit aici)

Servo:

  • Roșu la Arduino 5v sau sursă separată, dacă este utilizată
  • Maroniți la Arduino GND și separați alimentarea, dacă este utilizată
  • Portocaliu la pinul 6

NRF24L01 cu panou de prindere:

MISO la pinul 12 (Obligatoriu prin pinul dedicat)

MOSI la pinul 11 (obligatoriu prin pinul dedicat)

SCK la pinul 13 (Obligatoriu prin pinul dedicat)

CE la pinul 7 (numărul opțional al pinului, dar definit în schiță)

CSN la pinul 8 (numărul opțional al pinului, dar definit în schiță)

Vcc la Arduino 5v (sau 3.3v dacă nu utilizați placa de breakout)

GND către Arduino GND

Pasul 5: Cum funcționează

Image
Image
Cum functioneaza
Cum functioneaza
Cum functioneaza
Cum functioneaza
Cum functioneaza
Cum functioneaza

Odată ce ambele panouri sunt completate și schița corespunzătoare este încărcată pe ele, acum o putem testa.

Cu alimentare pe ambele plăci.

LED-urile roșii ar trebui să apară pe ambele plăci.

Afișajul va afișa un număr din prima cifră. Acest număr va depinde de locul în care este setat în prezent potențiometrul.

Rotiți potențiometrul pentru a obține numărul dorit.

Odată ce numărul a fost găsit, apăsați butonul de acceptare. În cazul meu este cel din stânga potențiometrului.

Faceți același lucru pentru celelalte trei numere.

Dacă combinația introdusă este corectă, va fi afișat cuvântul OPEn, LED-ul verde se va aprinde pe ambele plăci și servo-ul se va întoarce la 180 de grade.

Afișajul va rămâne gol și LED-ul verde va rămâne aprins cu aproximativ 5 secunde mai mult.

Odată ce timpul de deblocare a expirat, ambele LED-uri vor deveni roșii, iar servo-ul se va întoarce cu 180 de grade până la pornire.

Dacă combinația introdusă nu este corectă, va fi afișat cuvântul OOPS și LED-urile roșii vor rămâne aprinse.

Există o combinație implicită codificată în schița 1 1 1 1.

Pentru a schimba combinația, trebuie mai întâi să introduceți combinația corectă.

Odată ce cuvântul OPEn dispare, aveți la dispoziție aproximativ 5 secunde pentru a apăsa celălalt buton.

Odată ce ați introdus secvența de combinație de schimbare, LED-ul plăcii principale va deveni albastru, în timp ce celălalt rămâne verde și, prin urmare, este deschis.

Introduceți o nouă combinație în același mod ca înainte.

Odată ce noua combinație a fost acceptată (la apăsarea butonului final) va fi stocată în EEPROM.

Ambele Arduino vor intra acum în modul blocat.

Introduceți noua combinație și se va debloca conform așteptărilor.

Odată ce o combinație a fost modificată și stocată în EEPROM, valoarea implicită codată tare de 1 1 1 1 este ignorată.

Pasul 6: Toate sunt terminate

Am construit acest lucru folosind NRF24L01 de bază, cu o antenă încorporată și am reușit o comunicare bună de aproximativ 15 picioare printr-un perete.

Deoarece placa de măsurare Arduino Mega s-a cam ocupat cu firele în cale, am folosit salturi directe în unele locuri. Acest lucru, având în vedere că există multe pe o singură placă, face dificilă urmărirea imaginilor.

Cu toate acestea, cred că am explicat totul pin pentru pin și chiar dacă sunteți începător, ar trebui să puteți construi acest mic proiect doar luând câte un fir sau pin la un moment dat.

Ambele schițe sunt complet comentate pentru ușurința citirii și sunt disponibile aici pentru descărcare.

Schița pentru Arduino Mega este destul de mare, aproximativ 400 de linii, dar este împărțită în bucăți ușor de gestionat, așa că ar trebui urmată cu ușurință.

Recomandat: