Kazalo:
- 1. korak: Ožičenje modulov in vezja NRF24L01
- 2. korak: Kodiranje oddajnika
- 3. korak: Kodiranje sprejemnika
- 4. korak: KONČANO
Video: Brezžična LED svetilka Arduino, ki se ujema z uporabo fotorezistorja: 4 koraki
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:07
Ta navodila podrobno opisujejo korake, potrebne za izdelavo osnovne brezžične LED svetilke z zaznavanjem svetlobe z uporabo Arduino Unos in fotorezistorja. Možna aplikacija za to napravo bi bila osvetlitev prostora, ki nima oken z umetno sončno svetlobo, ki bi v realnem času ustrezala dejanskim razmeram osvetlitve zunaj. Začnimo!
Seznam zalog:
Arduino Uno x2
NRF24L01 Brezžični oddajnik x2 (izbirno - nahrbtnik NRF24L01 x2)
TIP120 darlingtonski tranzistor
Foto upor
5 mm LED diode x3
Pritisni gumb
100 ohmski upor x3
10k ohmski upor x3
Različne mostične žice
1. korak: Ožičenje modulov in vezja NRF24L01
V tem projektu bo en Arduino deloval kot oddajnik, ki bo ob pritisku na gumb pošiljal podatke o svetlobni upornosti s fotorezistorja. Drugi Arduino bo služil kot sprejemnik, ki bo te podatke sprejel in jih spremenil v signal LED. Prva slika prikazuje diagram oddajnika, druga pa sprejemnik.
Opomba: na fotografijah mojega projekta boste opazili, da so oddajniki NRF24L01 pritrjeni na drugo tiskano vezje. To je modul nahrbtnika za oddajnike, ki deluje kot regulator moči. Poleg tega, da olajšajo ožičenje, ti nahrbtniki uravnavajo vhodno moč za NRF24L01, kar omogoča uporabo 5V napajanja. Zaradi jasnosti sem te nahrbtnike v diagramu izpustil.
(Če se odločite za uporabo nahrbtnikov, si na tej povezavi oglejte diagram loka zatičev glede na zalogo NRF24L01).
Spodaj je priložena kopija vezja PDF za lažje povečevanje/podroben ogled.
2. korak: Kodiranje oddajnika
Zadnji korak je kodiranje. Za uporabo z moduli NRF24L01 boste morali namestiti knjižnico RadioHead ali enakovredno knjižnico.
Za ta projekt oddajnik in sprejemnik Arduinos na vsakem uporabljata drugačno kodo. Tu je koda za oddajnik:
Za udobje sem priložil tudi datoteko.ino (NRF_Send).
#vključi
#vključi
RH_NRF24 nrf24; // Inicializacija oddajnika kot nrf24
gumb int = 5; // Nastavitev vrednosti pin za gumb in foto upor
int pResistor = A0; int vrednost = 0; // Vrednost svetlobe od 0-1023
void setup ()
{Serial.begin (9600); pinMode (gumb, VHOD); pinMode (pResistor, INPUT); if (! nrf24.init ()) // Opozori uporabnika, če inicializacija modula ne uspe Serial.println ("init failed"); // Privzete vrednosti po init so 2,402 GHz (kanal 2), 2 Mb/ s, 0 dBm, če (! Nrf24.setChannel (1)) Serial.println ("setChannel failed"); if (! nrf24.setRF (RH_NRF24:: DataRate2Mbps, RH_NRF24:: TransmitPower0dBm)) Serial.println ("setRF ni uspelo"); }
void loop ()
{if (digitalRead (button)) {// Pošljite sporočilo, če je gumb pritisnjen value = analogRead (pResistor); // preberemo vrednost fotorezistorja (0-1023) uint8_t data = {vrednost}; // Nastavi niz, imenovan "data ", ki vsebuje svetlobno vrednost nrf24.send (data, sizeof (data)); // pošlji matriko prejemniku nrf24.waitPacketSent (); // Počakajte, da se paket pošlje Serial.println ("Light Value:" +String (value)); // Natisnite vrednost svetlobe v serijski monitor}}
3. korak: Kodiranje sprejemnika
Za sprejemnik koda uporablja tudi knjižnico RadioHead.
#vključi
#vključi
RH_NRF24 nrf24;
int LEDPin = 3;
int vrednost = 0; // Vrednost svetlobe od 0-1023
void setup ()
{Serial.begin (9600); pinMode (LEDPin, OUTPUT); if (! nrf24.init ()) Serial.println ("init ni uspel"); // Privzete vrednosti po init so 2,402 GHz (kanal 2), 2 Mb/ s, 0 dBm, če (! Nrf24.setChannel (1)) Serial.println ("setChannel failed"); if (! nrf24.setRF (RH_NRF24:: DataRate2Mbps, RH_NRF24:: TransmitPower0dBm)) Serial.println ("setRF ni uspelo"); }
void loop ()
{// Počakajte na sporočilo uint8_t buf [RH_NRF24_MAX_MESSAGE_LEN]; // Shranite prejeto sporočilo kot niz, imenovan "buf " uint8_t len = sizeof (buf); // Shranimo velikost buf kot "len" while (nrf24.waitAvailableTimeout (200) && nrf24.recv (buf, & len)) // Prejema sporočilo 200 milisekund ali dokler ni prejeto celotno sporočilo {value = buf [0]; // Nastavi vrednost prvemu indeksu buf , ki je int iz fotorezistorja analogWrite (LEDPin, zemljevid (vrednost, 0, 1023, 0, 255)); // Nastavi pin PWM tako, da prikaže skalirano vrednost med 0-255 za svetilnost LED Serial.println (String (vrednost)); } analogWrite (LEDPin, 0); }
4. korak: KONČANO
Uživajte v igri z različnimi stopnjami svetlobe in opazujte, kako se LED ujemajo z njimi! Fotografski upor je včasih lahko prefinjen in najbolje deluje v temni sobi z lokaliziranim virom svetlobe (lahko pa deluje tudi zunaj s soncem).
Priporočena:
Brezžična svetilka Rubikova kocka za spreminjanje barve na podlagi nagiba: 10 korakov (s slikami)
Brezžična Rubikova kockasta svetilka za enostavno spreminjanje barve na nagibu: danes bomo zgradili to čudovito svetilko Rubikove kocke, ki spreminja barvo glede na to, katera stran je navzgor. Kocka deluje na majhni bateriji LiPo, ki se polni s standardnim kablom micro-usb, in po mojem testiranju ima življenjsko dobo baterije nekaj dni. Ta
Zadnja svetilka za motorno kolo z vgrajenimi utripalkami z uporabo programabilnih LED: 4 koraki
Zadnja svetilka za motorno kolo z vgrajenimi utripalkami z uporabo programabilnih LED: Pozdravljeni! To je nekoliko enostaven način, kako izdelati programirljivo zadnjo svetilko RGB (z vgrajenimi utripalkami/indikatorji) za vaše motorno kolo ali morda karkoli z uporabo WS2812B (posamično naslovljive LED diode) in Arduinosa . Obstajajo 4 načini osvetlitve
Brezžična brezžična električna energija v radijskih valovih v Katmanduju: 6 korakov
Brezžična brezžična oblika električnih radijskih valov v Katmanduju: Kar sem naredil, sem to prilagodil in poenostavil in ima samo dva konca namesto štirih. Prava velikost palačinke z dvema koncema, povezanima z Arialom, in tla delujeta kot sprejemnik. Dolg odsek dveh arij, eden povezan z g
Brezžična komunikacija z uporabo poceni 433MHz RF modulov in Pic mikrokontrolerjev. 2. del: 4 koraki (s slikami)
Brezžična komunikacija z uporabo poceni 433MHz RF modulov in Pic mikrokontrolerjev. 2. del: V prvem delu tega navodila sem pokazal, kako programirati PIC12F1822 s prevajalnikom MPLAB IDE in XC8, da brezžično pošlje preprost niz z uporabo poceni modulov TX/RX 433MHz. kabelski oglas
Brezžična serijska komunikacija z uporabo Bluefruit: 4 koraki
Brezžična serijska komunikacija z uporabo Bluefruit: Tukaj je preprost vodnik po korakih za zamenjavo vaših žic z nizkoenergetsko povezavo Bluetooth: Rabil sem nekaj časa, da sem to ugotovil, ker skoraj ni nobene dokumentacije o tem, kako to storiti s sodobno tehnologijo bluetooth z nizko porabo energije, kot je kot Bluefrui