Sommario:

Lucchetto con combinazione wireless Arduino con NRF24L01 e display a 7 segmenti a 4 cifre: 6 passaggi (con immagini)
Lucchetto con combinazione wireless Arduino con NRF24L01 e display a 7 segmenti a 4 cifre: 6 passaggi (con immagini)

Video: Lucchetto con combinazione wireless Arduino con NRF24L01 e display a 7 segmenti a 4 cifre: 6 passaggi (con immagini)

Video: Lucchetto con combinazione wireless Arduino con NRF24L01 e display a 7 segmenti a 4 cifre: 6 passaggi (con immagini)
Video: 4 Digit 7 Segment Wireless Combination Lock 2024, Dicembre
Anonim
Lucchetto a combinazione wireless Arduino con NRF24L01 e display a 7 segmenti a 4 cifre
Lucchetto a combinazione wireless Arduino con NRF24L01 e display a 7 segmenti a 4 cifre

Questo progetto è iniziato come un esercizio per fare qualcosa con un display a 4 cifre e 7 segmenti.

Quello che mi è venuta in mente è stata la possibilità di inserire 4 cifre in un numero combinato, ma una volta terminato, è stato piuttosto noioso. L'ho costruito usando un Arduino UNO. Ha funzionato, ma non ha fatto nient'altro.

Ho quindi avuto l'idea che avrebbe dovuto avere un pulsante per accettare il numero selezionato, e forse un altro pulsante per cambiare la combinazione, e forse un LED per mostrare lo stato in cui si trovava in qualsiasi momento. Anche se sembrava un piano, significava anche che avrei finito i pin sull'ONU. Potrebbe esserci un modo per multiplexare questa unità, ma non sono sicuro da dove iniziare, quindi ho raggiunto l'Arduino Mega.

Ora che stavo usando una scheda più grande e avevo più pin con cui giocare, ho anche deciso di aggiungere funzionalità Wi-Fi per comunicare con un altro Arduino che avrebbe effettivamente controllato una sorta di interruttore.

Passaggio 1: requisiti ed elenco delle parti

Requisiti e lista delle parti
Requisiti e lista delle parti

Dopo aver pensato a tutto questo, ora ho un elenco di requisiti:

  • Per poter inserire una combinazione di 4 cifre.
  • Per iniziare con una combinazione codificata predefinita.
  • Per poter cambiare la combinazione e memorizzare la nuova combinazione nella EEPROM di Arduino.
  • Visualizza lo stato della serratura con LED rosso per bloccato e LED verde per aperto.
  • Visualizza lo stato al momento della modifica della combinazione con un LED blu.
  • Quando lo stato è sbloccato, rimanere per un periodo di tempo, quindi tornare allo stato bloccato.
  • Trasmetti lo stato bloccato/sbloccato a un altro Arduino.
  • Visualizza lo stesso stato con i LED rosso e verde sull'Arduino ricevente.
  • A scopo dimostrativo, utilizzare un servo che funga da meccanismo di blocco in base allo stato ricevuto.

Dai requisiti ora posso creare un elenco delle parti:

Il trasmettitore:

  • Arduino Mega.
  • Tagliere.
  • Display a 7 segmenti a 4 cifre.
  • 2 X interruttori momentanei, con tappi.
  • 1 LED RGB.
  • 9 resistenze da 220 ohm. 8 per il display e 1 per il LED RGB.
  • 2 resistenze da 10 kohm. Resistenze pull down per i 2 pulsanti. (In realtà ho usato 9.1kohm perché era quello che avevo)
  • Potenziometro 1X10k.
  • 1 X NRF24L01
  • [opzionale] 1 X YL-105 breakout board per NRF24L01. Ciò consente una connessione a 5 V e un cablaggio più semplice. Ponticelli

Il ricevente:

  • Arduino UNO.
  • Tagliere.
  • 1 LED RGB.
  • 1 x resistenza da 220 ohm. Per il LED.
  • 1 X servo. Ho usato un SG90 solo a scopo dimostrativo.
  • 1 X NRF24L01
  • opzionale] 1 X YL-105 breakout board per NRF24L01. Ciò consente una connessione a 5 V e un cablaggio più semplice.
  • Ponticelli

Passaggio 2: il display

Il display
Il display
Il display
Il display

Ho usato un display a 7 segmenti a 4 cifre

Testato con SMA420564 e SM420562K (i pin sono gli stessi)

I pin 1 e 12 sono contrassegnati.

Disposizione dei perni dall'alto in basso 12, 11, 10, 9, 8, 7 1, 2, 3, 4, 5, 6

I pin 12, 9, 8, 6 attivano o disattivano le cifre da 1 a 4 da sinistra a destra

Passaggio 3: cablaggio di Arduino Mega:

Cablaggio dell'Arduino Mega
Cablaggio dell'Arduino Mega

Disposizione dei pin da display a Arduino

  • 1 al pin 6 tramite resistore da 220 ohm (E)
  • 2 al pin 5 tramite resistenza da 220 ohm (D)
  • 3 al pin 9 tramite resistore da 220 ohm (DP) non utilizzato qui
  • 4 al pin 4 tramite resistenza da 220 ohm (C)
  • 5 al pin 8 tramite resistenza da 220 ohm (G)
  • 6 al pin 33 (cifra 4)
  • 7 al pin 3 tramite resistenza da 220 ohm (B)
  • 8 al pin 32 (cifra 3)
  • 9 al pin 31 (cifra 2)
  • 10 al pin 7 tramite resistenza da 220 ohm (F)
  • 11 al pin 2 tramite resistore da 220 ohm (A)
  • 12 al pin 30 (cifra 1)

Potenziometro da 10kohm per modificare il numero sulla cifra visualizzata

  • Pin esterno a 5v
  • Perno centrale su A0
  • Altro pin esterno a GND

Accetta il pulsante numerico

  • Al pin 36.
  • E il pin 36 attraverso un resistore pull-down da 10 kohm a GND

Pulsante Modifica numero combinazione

  • Per appuntare 37.
  • E il pin 37 attraverso un resistore pull-down da 10 kohm a GND

LED RGB (catodo comune)

  • Catodo a GND tramite resistore da 220 ohm
  • Rosso al pin 40
  • Verde al pin 41
  • Blu al pin 42

NRF24L01 con breakout board:

  • MISO al pin 50 (Obbligatorio tramite pin dedicato)
  • MOSI al pin 51 (Obbligatorio tramite pin dedicato)
  • SCK al pin 52 (Obbligatorio tramite pin dedicato)
  • CE al pin 44 (numero di pin opzionale ma definito nello schizzo)
  • CSN al pin 45 (numero di pin opzionale ma definito nello schizzo)
  • Da Vcc ad Arduino 5v (o 3.3v se non si utilizza la breakout board)
  • GND a Arduino GND

Passaggio 4: cablaggio di Arduino UNO:

Cablaggio di Arduino UNO
Cablaggio di Arduino UNO

LED RGB (catodo comune)

  • Catodo a GND tramite resistore da 220 ohm
  • Rosso al pin 2 Verde al pin 3
  • Blu (non utilizzato qui)

Servo:

  • Rosso per Arduino 5v o alimentazione separata se utilizzata
  • Da marrone a Arduino GND e alimentazione separata se utilizzata
  • Arancio al pin 6

NRF24L01 con breakout board:

MISO al pin 12 (Obbligatorio tramite pin dedicato)

MOSI al pin 11 (Obbligatorio tramite pin dedicato)

SCK al pin 13 (Obbligatorio tramite pin dedicato)

CE al pin 7 (numero di pin opzionale ma definito nello schizzo)

CSN al pin 8 (numero di pin opzionale ma definito nello schizzo)

Da Vcc ad Arduino 5v (o 3.3v se non si utilizza la breakout board)

GND a Arduino GND

Passaggio 5: come funziona

Image
Image
Come funziona
Come funziona
Come funziona
Come funziona
Come funziona
Come funziona

Una volta che entrambe le breadboard sono state completate e lo schizzo appropriato è stato caricato su di esse, ora possiamo testarlo.

Con alimentazione su entrambe le schede.

I LED rossi dovrebbero apparire su entrambe le schede.

Il display visualizzerà un numero nella prima cifra. Questo numero dipenderà da dove è attualmente impostato il potenziometro.

Ruotare il potenziometro per ottenere il numero desiderato.

Una volta trovato il numero, premere il pulsante Accetta. Nel mio caso è quello a sinistra del potenziometro.

Fai lo stesso per gli altri tre numeri.

Se la combinazione inserita è corretta, verrà visualizzata la scritta OPEn, il LED verde si accenderà su entrambe le schede e il servo ruoterà di 180 gradi.

Il display si spegnerà e il LED verde rimarrà acceso per circa 5 secondi in più.

Una volta scaduto il tempo di sblocco, entrambi i LED diventeranno rossi e il servo tornerà indietro di 180 gradi all'inizio.

Se la combinazione inserita non è corretta verrà visualizzata la scritta OOPS ei led rossi rimarranno accesi.

C'è una combinazione predefinita codificata nello schizzo di 1 1 1 1.

Per modificare la combinazione, devi prima inserire la combinazione corretta.

Quando la scritta OPEN scompare, hai circa 5 secondi per premere l'altro pulsante.

Una volta inserita la sequenza di cambio combinazione, il LED della scheda madre diventerà blu, mentre l'altro rimarrà verde e quindi aperto.

Inserisci una nuova combinazione come prima.

Una volta che la nuova combinazione è stata accettata (all'ultima pressione del pulsante) verrà memorizzata nella EEPROM.

Entrambi gli Arduino andranno ora in modalità bloccata.

Inserisci la tua nuova combinazione e si sbloccherà come previsto.

Una volta che una combinazione è stata modificata e memorizzata nella EEPROM, l'impostazione predefinita 1 1 1 1 viene ignorata.

Passaggio 6: tutto fatto

L'ho costruito utilizzando il NRF24L01 di base con antenna incorporata e ho gestito una buona comunicazione di circa 15 piedi attraverso una parete.

Poiché la breadboard Arduino Mega era un po' impegnata con i fili, in alcuni punti ho usato i ponticelli diretti. Questo, con il fatto che c'è molto su una breadboard, rende difficile seguire le immagini.

Tuttavia, penso di aver spiegato tutto pin per pin e anche se sei un principiante, dovresti essere in grado di costruire questo piccolo progetto semplicemente prendendo un filo o un pin alla volta.

Entrambi gli schizzi sono completamente commentati per facilità di lettura e sono disponibili qui per il download.

Lo schizzo per Arduino Mega è piuttosto grande, circa 400 linee ma è suddiviso in blocchi gestibili, quindi dovrebbe essere facilmente seguito.

Consigliato: