Sommario:
- Passaggio 1: cablaggio dei moduli e del circuito NRF24L01
- Passaggio 2: codifica del trasmettitore
- Passaggio 3: codifica del ricevitore
- Passaggio 4: FATTO
Video: Lampada LED Wireless Arduino con abbinamento di luce con fotoresistenza: 4 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:04
Questa istruzione descrive in dettaglio i passaggi necessari per costruire una rudimentale lampada a LED wireless con rilevamento della luce utilizzando Arduino Unos e una fotoresistenza. Una possibile applicazione per questo dispositivo sarebbe l'illuminazione di una stanza che non ha finestre con luce solare artificiale, adattando le effettive condizioni di illuminazione all'esterno in tempo reale. Iniziamo!
Elenco forniture:
Arduino Uno x2
NRF24L01 Ricetrasmettitore wireless x2 (Opzionale - Zaino NRF24L01 x2)
TIP120 transistor Darlington
Fotoresistenza
LED 5mm x3
Premi il bottone
Resistenza da 100 ohm x3
Resistenza da 10k ohm x3
Vari cavi jumper
Passaggio 1: cablaggio dei moduli e del circuito NRF24L01
In questo progetto, un Arduino fungerà da trasmettitore, inviando dati sul livello di luce dalla fotoresistenza quando viene premuto il pulsante. L'altro Arduino fungerà da ricevitore, prendendo quei dati e trasformandoli nel segnale ai LED. La prima immagine mostra il diagramma del trasmettitore e la seconda mostra il ricevitore.
Nota: nelle foto del mio progetto noterete che i ricetrasmettitori NRF24L01 sono collegati a un altro PCB. Questo è un modulo zaino per i ricetrasmettitori, che funge da regolatore di potenza. Oltre a facilitare il cablaggio, questi zaini regolano l'ingresso di alimentazione per l'NRF24L01, consentendo l'utilizzo di un alimentatore a 5V. Ho omesso questi zaini nel mio diagramma per motivi di chiarezza.
(Se decidi di utilizzare gli zaini, fai riferimento a questo link per uno schema delle posizioni dei pin in riferimento allo stock NRF24L01).
Di seguito è allegata una copia PDF del circuito, per facilitare lo zoom/visualizzazione dettagliata.
Passaggio 2: codifica del trasmettitore
L'ultimo passaggio è la codifica. Dovrai installare la libreria RadioHead o una libreria equivalente da utilizzare con i moduli NRF24L01.
Per questo progetto, il trasmettitore e il ricevitore Arduino utilizzano codici diversi su ciascuno. Ecco il codice del trasmettitore:
Ho anche allegato il file.ino (NRF_Send) per comodità.
#includere
#includere
RH_NRF24 nrf24; //Inizializzazione di un ricetrasmettitore come nrf24
pulsante int = 5; //Impostazione dei valori dei pin per il pulsante e la fotoresistenza
int pResistore = A0; int valore = 0; //Valore della luce da 0-1023
configurazione nulla()
{ Serial.begin(9600); pinMode(pulsante, INGRESSO); pinMode(pResistor, INPUT); if (!nrf24.init()) //Avvisa l'utente se l'inizializzazione del modulo fallisce Serial.println("init failed"); // I valori predefiniti dopo init sono 2,402 GHz (canale 2), 2Mbps, 0dBm if (!nrf24.setChannel(1)) Serial.println("setChannel failed"); if (!nrf24.setRF(RH_NRF24::DataRate2Mbps, RH_NRF24::TransmitPower0dBm)) Serial.println("setRF failed"); }
ciclo vuoto()
{ if (digitalRead(button)) { //Invia un messaggio se il pulsante viene premuto value = analogRead(pResistor); //Leggi il valore della fotoresistenza (0-1023) uint8_t data = {value}; //Imposta un array chiamato "data" contenente il valore light nrf24.send(data, sizeof(data)); //Invia l'array al destinatario nrf24.waitPacketSent(); //Attendi l'invio del pacchetto Serial.println("Light Value: " +String(value)); //Stampa il valore della luce nel monitor seriale } }
Passaggio 3: codifica del ricevitore
Per il ricevitore, il codice utilizza anche la libreria RadioHead.
#includere
#includere
RH_NRF24 nrf24;
int LEDPin = 3;
int valore = 0; //Valore della luce da 0-1023
configurazione nulla()
{ Serial.begin(9600); pinMode(LEDPin, OUTPUT); if (!nrf24.init()) Serial.println("init fallito"); // I valori predefiniti dopo init sono 2,402 GHz (canale 2), 2Mbps, 0dBm if (!nrf24.setChannel(1)) Serial.println("setChannel failed"); if (!nrf24.setRF(RH_NRF24::DataRate2Mbps, RH_NRF24::TransmitPower0dBm)) Serial.println("setRF failed"); }
ciclo vuoto()
{ // Attendi un messaggio uint8_t buf[RH_NRF24_MAX_MESSAGE_LEN]; //Salva il messaggio ricevuto come un array chiamato "buf" uint8_t len = sizeof(buf); //Memorizza la dimensione di buf come "len" while (nrf24.waitAvailableTimeout(200) && nrf24.recv(buf, &len)) //Riceve il messaggio per 200 millisecondi o finché non viene ricevuto l'intero messaggio { value = buf[0]; //Imposta il valore al primo indice di buf, che è l'int della fotoresistenza analogWrite(LEDPin, map(value, 0, 1023, 0, 255)); //Imposta il pin PWM per emettere un valore scalato tra 0-255 per la luminosità del LED Serial.println(String(value)); } analogWrite(LEDPin, 0); }
Passaggio 4: FATTO
Divertiti a giocare con diversi livelli di luce e guardare i LED abbinarli! La fotoresistenza può essere pignolo a volte e funziona meglio in una stanza buia con una fonte di luce localizzata (ma può funzionare anche all'aperto con il sole).
Consigliato:
Come Usare una Fotoresistenza per Accendere un LED con Aurduino: 12 Passaggi
Come utilizzare una fotoresistenza per accendere un LED con Aurduino: buongiorno/pomeriggio/sera a tutti voi appassionati di Arduino! Oggi mostrerò come utilizzare una fotoresistenza (fotocellula) per accendere un LED. Il codice fornito con questo Instructable lascerà che il LED si affievolisca normalmente, ma lampeggerà quando
LED fotoresistenza Arduino: 4 passaggi
Arduino Fotoresistenza LED: Il mio progetto riguarda una fotoresistenza che abbassa la luce di un LED a seconda della luce esterna. Ho preso ispirazione da, Tech, A Style. "LED fotoresistenza Arduino On/Off." Instructables, Instructables, 8 ottobre 2017, www.instructables.com/Arduino-Photore
Octarine: un gioco di abbinamento dei colori con LED RGB WS2812: 6 passaggi
Octarine: un gioco di abbinamento di colori con LED RGB WS2812: Octarine, il colore della magia. Era vivo e splendente di un vibrante ed era il pigmento indiscusso dell'immaginazione, perché ovunque apparisse era segno che la semplice materia era serva dei poteri della mente magica. Erano incantatori
Sensore di luce (fotoresistenza) con Arduino in Tinkercad: 5 passaggi (con immagini)
Sensore di luce (fotoresistenza) con Arduino in Tinkercad: impariamo a leggere una fotoresistenza, un tipo di resistenza variabile sensibile alla luce, utilizzando l'ingresso analogico di Arduino. Viene anche chiamato LDR (resistenza dipendente dalla luce). Finora hai già imparato a controllare i LED con l'uscita analogica di Arduino e a
Circuito OLED a lume di candela con fotoresistenza per il controllo dell'intensità (TfCD): 4 passaggi (con immagini)
Circuito a lume di candela OLED con fotoresistenza per il controllo dell'intensità (TfCD): in questo tutorial ti mostriamo come realizzare un circuito che mostri lo sfarfallio di (O) LED come una candela e reagisca all'intensità dell'ambiente. Con una minore intensità luminosa è necessaria una minore emissione di luce dalle sorgenti luminose. Con questa applicazione