Satura rādītājs:
- 1. darbība: NRF24L01 moduļu un ķēdes vadu savienošana
- 2. darbība: raidītāja kodēšana
- 3. solis: uztvērēja kodēšana
- 4. solis: GATAVS
Video: Bezvadu Arduino gaismas atbilstības LED lampa, izmantojot fotorezistoru: 4 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:57
Šajā pamācībā ir sīki aprakstītas darbības, kas nepieciešamas, lai izveidotu elementāru bezvadu gaismas sensoru LED lampu, izmantojot Arduino Unos un fotorezistoru. Šīs ierīces iespējamais pielietojums būtu telpas, kurā nav logu, apgaismošana ar mākslīgu saules gaismu, kas reālajā laikā atbilstu faktiskajiem apgaismojuma apstākļiem ārpusē. Sāksim!
Piegādes saraksts:
Arduino Uno x2
NRF24L01 bezvadu uztvērējs x2 (pēc izvēles - NRF24L01 mugursoma x2)
TIP120 darlington tranzistors
Fotorezistors
5 mm gaismas diodes x3
Uzspied pogu
100 omu rezistors x3
10k omu rezistors x3
Dažādi džemperu vadi
1. darbība: NRF24L01 moduļu un ķēdes vadu savienošana
Šajā projektā viens Arduino darbosies kā raidītājs, nosūtot gaismas līmeņa datus no fotorezistora, nospiežot pogu. Otrs Arduino kalpos kā uztvērējs, ņemot šos datus un pārveidojot tos par gaismas diodes signālu. Pirmajā attēlā redzama raidītāja diagramma, bet otrajā - uztvērējs.
Piezīme: mana projekta fotoattēlos pamanīsit, ka NRF24L01 raiduztvērēji ir pievienoti citai PCB. Šis ir raiduztvērēju mugursomas modulis, kas darbojas kā jaudas regulators. Papildus vadu atvieglošanai, šīs mugursomas regulē NRF24L01 strāvas padevi, ļaujot izmantot 5 V barošanas avotu. Skaidrības labad diagrammā esmu izlaidis šīs mugursomas.
(Ja jūs nolemjat izmantot mugursomas, lūdzu, skatiet šo saiti, lai redzētu tapas atrašanās vietu diagrammu, atsaucoties uz krājumu NRF24L01).
Tālāk pievienota shēmas PDF kopija, lai atvieglotu tālummaiņu/detalizētu apskati.
2. darbība: raidītāja kodēšana
Pēdējais solis ir kodēšana. Jums būs jāinstalē RadioHead bibliotēka vai līdzvērtīga bibliotēka lietošanai kopā ar NRF24L01 moduļiem.
Šim projektam raidītājs un uztvērējs Arduinos katrā izmanto atšķirīgu kodu. Šeit ir raidītāja kods:
Ērtības labad esmu pievienojis arī.ino failu (NRF_Send).
#iekļaut
#iekļaut
RH_NRF24 nrf24; // Raidītāja uztvērēja inicializēšana kā nrf24
int poga = 5; // Pogas un fotorezistora tapu vērtību iestatīšana
int pResistor = A0; int vērtība = 0; // Gaismas vērtība no 0-1023
anulēts iestatījums ()
{Sērijas sākums (9600); pinMode (poga, INPUT); pinMode (pResistor, INPUT); if (! nrf24.init ()) // Brīdina lietotāju, ja moduļa inicializācija neizdodas Serial.println ("init neizdevās"); // Noklusējuma vērtības pēc init ir 2,402 GHz (2. kanāls), 2 Mb/ s, 0 dBm, ja (! Nrf24.setChannel (1)) Serial.println ("setChannel neizdevās"); ja (! nrf24.setRF (RH_NRF24:: DataRate2Mbps, RH_NRF24:: TransmitPower0dBm)) Serial.println ("setRF neizdevās"); }
tukša cilpa ()
{if (digitalRead (poga)) {// Nosūtīt ziņojumu, ja poga ir nospiesta value = analogRead (pResistor); // Nolasiet fotorezistora vērtību (0-1023) uint8_t data = {value}; // Iestata masīvu ar nosaukumu "data ", kas satur gaismas vērtību nrf24.send (data, sizeof (data)); // Sūtīt masīvu uztvērējam nrf24.waitPacketSent (); // Pagaidiet, līdz pakete ir nosūtīta Serial.println ("Light Value:" +String (value)); // Izdrukājiet gaismas vērtību sērijas monitorā}}
3. solis: uztvērēja kodēšana
Uztvērējam kods izmanto arī RadioHead bibliotēku.
#iekļaut
#iekļaut
RH_NRF24 nrf24;
int LEDPin = 3;
int vērtība = 0; // Gaismas vērtība no 0-1023
anulēts iestatījums ()
{Sērijas sākums (9600); pinMode (LEDPin, OUTPUT); ja (! nrf24.init ()) Serial.println ("init neizdevās"); // Noklusējuma vērtības pēc init ir 2,402 GHz (2. kanāls), 2 Mb/ s, 0 dBm, ja (! Nrf24.setChannel (1)) Serial.println ("setChannel neizdevās"); ja (! nrf24.setRF (RH_NRF24:: DataRate2Mbps, RH_NRF24:: TransmitPower0dBm)) Serial.println ("setRF neizdevās"); }
tukša cilpa ()
{// Gaidiet ziņojumu uint8_t buf [RH_NRF24_MAX_MESSAGE_LEN]; // Saglabājiet saņemto ziņojumu kā masīvu ar nosaukumu "buf " uint8_t len = sizeof (buf); // Saglabājiet buf lielumu kā "len", kamēr (nrf24.waitAvailableTimeout (200) && nrf24.recv (buf, & len)) // Saņem ziņojumu 200 milisekundēs vai līdz visa ziņojuma saņemšanai {value = buf [0]; // Iestata vērtību uz buf pirmo indeksu, kas ir int no fotorezistora analogWrite (LEDPin, karte (vērtība, 0, 1023, 0, 255)); // Iestata PWM tapu, lai izvadītu mērogotu vērtību no 0 līdz 255 LED spilgtumam Serial.println (String (vērtība)); } analogWrite (LEDPin, 0); }
4. solis: GATAVS
Izbaudiet spēlēšanos ar dažādiem gaismas līmeņiem un skatieties, kā gaismas diodes tiem atbilst! Fotorezistors dažreiz var būt smalks un vislabāk darbojas tumšā telpā ar lokalizētu gaismas avotu (bet var darboties arī ārā ar sauli).
Ieteicams:
Kā izmantot fotorezistoru, lai apgaismotu LED ar Aurduino: 12 soļi
Kā izmantot fotorezistoru, lai iedegtu LED ar Aurduino: Labrīt/pēcpusdienā/vakarā visiem Arduino entuziastiem! Šodien es demonstrēšu, kā izmantot fotorezistoru (fotoelementu) gaismas diodes iedegšanai. Šajā instrukcijā iekļautais kods ļaus gaismas diodei normāli aptumšoties, bet mirgos
Arduino fotorezistoru gaismas diode: 4 soļi
Arduino fotorezistoru LED: mans projekts ir par foto rezistoru, kas pazemina gaismas diodes gaismu atkarībā no ārējās gaismas. Iedvesmu smēlos no Tech, A Style. “Arduino fotorezistora LED ieslēgts/izslēgts.” Instructables, Instructables, 2017. gada 8. oktobris, www.instructables.com/Arduino-Photore
Uzņemiet un nosūtiet attēlus, izmantojot ESP32-Cam, izmantojot ESP8266 WeMos D1 R1 bezvadu procesoru ar Uno: 7 soļi
Uzņemiet un nosūtiet attēlus ar ESP32-Cam, izmantojot ESP8266 WeMos D1 R1 bezvadu procesoru ar Uno: uzņemiet attēlu, izmantojot ESP32-Cam (OV2640), izmantojot ESP8266 WeMos D1 R1 WiFI procesoru ar Uno, un nosūtiet to uz e-pastu, saglabājiet Google diskā un nosūtiet to uz Whatsapp, izmantojot Twilio. Prasības: ESP8266 WeMos D1 R1 WiFI procesors ar Uno (https: // protosupplies
Bezvadu Arduino robots, izmantojot bezvadu moduli HC12: 7 soļi
Bezvadu Arduino robots, izmantojot HC12 bezvadu moduli: Sveiki, puiši, laipni lūdzam atpakaļ. Iepriekšējā ziņojumā es paskaidroju, kas ir H tilta ķēde, L293D motora vadītāja IC, cūciņa L293D motora vadītāja IC, lai vadītu lielas strāvas motoru vadītājus, un kā jūs varat izveidot un izveidot savu L293D motora draivera paneli
Bezvadu tālvadība, izmantojot 2,4 GHz NRF24L01 moduli ar Arduino - Nrf24l01 4 kanālu / 6 kanālu raidītāja uztvērējs kvadrakopteram - Rc helikopters - Rc lidmašīna, izmantojot Arduino: 5 soļi (ar attēliem)
Bezvadu tālvadība, izmantojot 2,4 GHz NRF24L01 moduli ar Arduino | Nrf24l01 4 kanālu / 6 kanālu raidītāja uztvērējs kvadrakopteram | Rc helikopters | Rc lidmašīna, izmantojot Arduino: lai vadītu Rc automašīnu | Kvadkopters | Drons | RC plakne | RC laiva, mums vienmēr ir nepieciešams uztvērējs un raidītājs, pieņemsim, ka RC QUADCOPTER mums ir nepieciešams 6 kanālu raidītājs un uztvērējs, un šāda veida TX un RX ir pārāk dārgi, tāpēc mēs to izgatavosim savā