Cuprins:
- Pasul 1: Cablarea modulelor și circuitului NRF24L01
- Pasul 2: Codificarea transmițătorului
- Pasul 3: Codificarea receptorului
- Pasul 4: GATA
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:45
Această instrucțiune detaliază pașii necesari pentru a construi o lampă LED fără fir rudimentară cu detectare a luminii folosind Arduino Unos și un fotorezistor. O posibilă aplicație pentru acest dispozitiv ar fi iluminarea unei încăperi care nu are ferestre cu lumină solară artificială, potrivind condițiile reale de iluminare din exterior în timp real. Să începem!
Lista de aprovizionare:
Arduino Uno x2
NRF24L01 Transceiver wireless x2 (Opțional - Rucsac NRF24L01 x2)
TIP120 tranzistor darlington
Fotorezistor
LED-uri de 5 mm x3
Apasa butonul
Rezistor de 100 ohmi x3
Rezistor 10k ohm x3
Diverse fire Jumper
Pasul 1: Cablarea modulelor și circuitului NRF24L01
În acest proiect, un Arduino va acționa ca un transmițător, trimitând date de nivel de lumină de la fotorezistor atunci când butonul este apăsat. Celălalt Arduino va servi ca receptor, luând acele date și transformându-le în semnal către LED-uri. Prima imagine arată schema emițătorului, iar a doua arată receptorul.
Notă: în fotografiile proiectului meu, veți observa că transmițătoarele NRF24L01 sunt atașate la un alt PCB. Acesta este un modul de rucsac pentru transmițătoare, care acționează ca un regulator de putere. Pe lângă simplificarea cablajului, aceste rucsaci reglează puterea de intrare pentru NRF24L01, permițând utilizarea unei surse de alimentare de 5V. Am omis aceste rucsaci în diagrama mea din motive de claritate.
(Dacă decideți să folosiți rucsacurile, vă rugăm să consultați acest link pentru o diagramă a locațiilor pinului cu referire la stocul NRF24L01).
Atașat mai jos este o copie PDF a circuitului, pentru zoom mai ușor / vizualizare detaliată.
Pasul 2: Codificarea transmițătorului
Ultimul pas este codarea. Va trebui să instalați biblioteca RadioHead sau o bibliotecă echivalentă pentru utilizare cu modulele NRF24L01.
Pentru acest proiect, emițătorul și receptorul Arduinos utilizează coduri diferite pe fiecare. Iată codul pentru transmițător:
Am atașat și fișierul.ino (NRF_Send) pentru comoditate.
#include
#include
RH_NRF24 nrf24; // Initializarea unui transceiver ca nrf24
buton int = 5; // Setarea valorilor pinului pentru buton și fotorezistor
int pResistor = A0; valoarea int = 0; // Valoarea luminii de la 0-1023
configurare nulă ()
{Serial.begin (9600); pinMode (buton, INPUT); pinMode (pResistor, INPUT); if (! nrf24.init ()) // Alertă utilizatorul dacă inițializarea modulului eșuează Serial.println ("init a eșuat"); // Valori implicite după inițiere sunt 2.402 GHz (canal 2), 2Mbps, 0dBm dacă (! Nrf24.setChannel (1)) Serial.println ("setChannel a eșuat"); if (! nrf24.setRF (RH_NRF24:: DataRate2Mbps, RH_NRF24:: TransmitPower0dBm)) Serial.println ("setRF a eșuat"); }
bucla nulă ()
{if (digitalRead (button)) {// Trimiteți un mesaj dacă butonul este apăsat value = analogRead (pResistor); // Citiți valoarea fotorezistorului (0-1023) uint8_t data = {value}; // Setează o matrice numită „date ” care conține valoarea luminii nrf24.send (date, sizeof (data)); // Trimiteți matricea la destinatar nrf24.waitPacketSent (); // Așteptați până când pachetul a fost trimis Serial.println ("Valoare lumină:" + Șir (valoare)); // Imprimați valoarea luminii în monitorul serial}}
Pasul 3: Codificarea receptorului
Pentru receptor, codul folosește și Biblioteca RadioHead.
#include
#include
RH_NRF24 nrf24;
int LEDPin = 3;
valoarea int = 0; // Valoarea luminii de la 0-1023
configurare nulă ()
{Serial.begin (9600); pinMode (LEDPin, OUTPUT); if (! nrf24.init ()) Serial.println ("init a eșuat"); // Valori implicite după inițiere sunt 2.402 GHz (canal 2), 2Mbps, 0dBm dacă (! Nrf24.setChannel (1)) Serial.println ("setChannel a eșuat"); if (! nrf24.setRF (RH_NRF24:: DataRate2Mbps, RH_NRF24:: TransmitPower0dBm)) Serial.println ("setRF a eșuat"); }
bucla nulă ()
{// Așteptați un mesaj uint8_t buf [RH_NRF24_MAX_MESSAGE_LEN]; // Stocați mesajul primit ca o matrice numită "buf " uint8_t len = sizeof (buf); // Stocați dimensiunea buf ca „len” în timp ce (nrf24.waitAvailableTimeout (200) && nrf24.recv (buf, & len)) // Primește mesajul timp de 200 de milisecunde sau până când se primește întregul mesaj {value = buf [0]; // Setează valoarea la primul index al lui buf , care este int-ul din fotorezistor analogWrite (LEDPin, map (valoare, 0, 1023, 0, 255)); // Setează pinul PWM pentru a afișa o valoare scalată între 0-255 pentru luminozitatea LED Serial.println (String (valoare)); } analogWrite (LEDPin, 0); }
Pasul 4: GATA
Bucurați-vă să vă jucați cu diferite niveluri de lumină și să urmăriți cum LED-urile se potrivesc cu ele! Fotorezistorul poate fi uneori finicky și funcționează cel mai bine într-o cameră întunecată cu o sursă de lumină localizată (dar poate funcționa și în afara soarelui).
Recomandat:
MicroKeyRing: Depozitare mică a parolei care se potrivește în buzunar: 4 pași
MicroKeyRing: Stocare de parole minusculă care se potrivește în buzunar: parole, parole și mai multe parole. Fiecare site web, aplicație de e-mail sau serviciu google are nevoie de o parolă. ȘI NU TREBUIEȚI să folosiți aceeași parolă în două locuri. Unde le puteți stoca? Într-o aplicație desktop? Într-o aplicație web (probabil sigură)?
Robot Arduino fără fir folosind modulul HC12 fără fir: 7 pași
Robot wireless Arduino folosind modulul HC12 fără fir: Hei băieți, bine ați revenit. În postarea mea anterioară, am explicat ce este un circuit H Bridge, circuitul de conducător auto L293D IC, piggybacking L293D driverul IC pentru conducerea driverelor de curent mare și modul în care puteți proiecta și crea propriul dvs. driver de motor L293D
Microfon fără fir DIY la sistem de chitară fără fir: 4 pași
Sistem de microfon fără fir DIY la sistem de chitară fără fir: Am urmărit câteva videoclipuri și câteva trupe și aproape dintre ele folosesc un sistem wireless pe chitară. Înnebunind, mișcându-se, mergând și fac tot ce vor fără cablu, așa că visez să am unul .. Dar … pentru mine acum este prea scump, așa că am ajuns la asta
Răcitor / suport pentru laptop cu cost zero (fără lipici, fără găurire, fără piulițe și șuruburi, fără șuruburi): 3 pași
Zero Cost Laptop Cooler / Stand (Fără lipici, fără găurire, fără piulițe și șuruburi, fără șuruburi): ACTUALIZARE: VĂ RUGĂM VOTĂ PENTRU MEA MEA MEA INTRAREA PE www.instructables.com/id/Zero-Cost-Aluminum-Furnace-No-Propane-No-Glue-/ SAU POATE VOTA PENTRU CEL MAI BUN PRIETEN AL MEU
Hack un clopoțel fără fir într-un comutator de alarmă fără fir sau întrerupător de pornire / oprire: 4 pași
Spargerea unui clopoțel wireless într-un comutator de alarmă fără fir sau întrerupător de pornire / oprire: recent am construit un sistem de alarmă și l-am instalat în casa mea. Am folosit întrerupătoare magnetice la ușă și le-am conectat prin pod la ferestre. Ferestrele erau o altă poveste, iar cablarea dură a acestora nu era o opțiune. Aveam nevoie de o soluție wireless și asta este