Turinys:
- 1 žingsnis: NRF24L01 modulių ir grandinės prijungimas
- 2 žingsnis: siųstuvo kodavimas
- 3 žingsnis: imtuvo kodavimas
- 4 žingsnis: ATLIKTA
Video: Belaidė „Arduino“šviesą atitinkanti LED lempa naudojant fotorezistorių: 4 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:48
Šioje instrukcijoje išsamiai aprašomi žingsniai, kurių reikia norint sukurti pradinę belaidę šviesos jutimo LED lempą naudojant „Arduino Unos“ir fotorezistorių. Galimas šio prietaiso pritaikymas būtų kambario, kuriame nėra langų, apšvietimas dirbtine saulės šviesa, atitinkantis realias apšvietimo sąlygas lauke realiu laiku. Pradėkime!
Tiekimo sąrašas:
Arduino Uno x2
NRF24L01 x2 belaidis siųstuvas -imtuvas (pasirinktinai - NRF24L01 kuprinė x2)
TIP120 Darlingtono tranzistorius
Fotorezistorius
5 mm šviesos diodai x3
Mygtukas
100 omų rezistorius x3
10 kΩ rezistorius x3
Įvairūs jungiamieji laidai
1 žingsnis: NRF24L01 modulių ir grandinės prijungimas
Šiame projekte vienas „Arduino“veiks kaip siųstuvas, siųsdamas šviesos lygio duomenis iš fotorezistoriaus, kai bus paspaustas mygtukas. Kitas „Arduino“tarnaus kaip imtuvas, paimdamas tuos duomenis ir paversdamas juos signalu į šviesos diodus. Pirmasis vaizdas rodo siųstuvo schemą, o antrasis - imtuvą.
Pastaba: mano projekto nuotraukose pastebėsite, kad NRF24L01 siųstuvas -imtuvai yra prijungti prie kitos PCB. Tai siųstuvo -imtuvo kuprinės modulis, veikiantis kaip galios reguliatorius. Šios kuprinės ne tik palengvina laidų prijungimą, bet ir reguliuoja NRF24L01 įvestį, leidžiantį naudoti 5 V maitinimo šaltinį. Aiškumo dėlei diagramoje praleidau šias kuprines.
(Jei nuspręsite naudoti kuprines, naudokite šią nuorodą, kad gautumėte kaiščių vietų schemą, nurodytą atsargų NRF24L01).
Žemiau pridedama grandinės PDF kopija, kad būtų lengviau priartinti/išsamiai peržiūrėti.
2 žingsnis: siųstuvo kodavimas
Paskutinis žingsnis yra kodavimas. Norėdami naudoti su NRF24L01 moduliais, turėsite įdiegti „RadioHead“biblioteką arba lygiavertę biblioteką.
Šiam projektui siųstuvas ir imtuvas „Arduinos“naudoja skirtingą kodą. Čia yra siųstuvo kodas:
Patogumo dėlei pridėjau.ino failą (NRF_Send).
#įtraukti
#įtraukti
RH_NRF24 nrf24; // Imtuvo imtuvo inicijavimas kaip nrf24
int mygtukas = 5; // Mygtuko ir fotorezistoriaus kaiščio verčių nustatymas
int pRezistorius = A0; int reikšmė = 0; // Šviesos vertė nuo 0-1023
negaliojanti sąranka ()
{Serial.begin (9600); pinMode (mygtukas, INPUT); pinMode (pResistor, INPUT); if (! nrf24.init ()) // Įspėja vartotoją, jei nepavyksta inicijuoti modulio Serial.println ("init nepavyko"); // Pagal numatytuosius nustatymus po init yra 2,402 GHz (2 kanalas), 2Mbps, 0dBm if (! Nrf24.setChannel (1)) Serial.println ("setChannel nepavyko"); if (! nrf24.setRF (RH_NRF24:: DataRate2Mbps, RH_NRF24:: TransmitPower0dBm)) Serial.println ("setRF nepavyko"); }
tuštumos kilpa ()
{if (digitalRead (mygtukas)) {// Siųsti pranešimą, jei mygtukas yra paspaustas value = analogRead (pResistor); // Skaityti fotorezistoriaus reikšmę (0-1023) uint8_t data = {value}; // Nustato masyvą, pavadintą „data “, kuriame yra šviesos vertė nrf24.send (data, sizeof (data)); // Siųsti masyvą imtuvui nrf24.waitPacketSent (); // Palaukite, kol paketas bus išsiųstas Serial.println ("Light Value:" +String (value)); // Spausdinkite šviesos vertę į nuoseklųjį monitorių}}
3 žingsnis: imtuvo kodavimas
Imtuve kodas taip pat naudoja „RadioHead“biblioteką.
#įtraukti
#įtraukti
RH_NRF24 nrf24;
int LEDPin = 3;
int reikšmė = 0; // Šviesos vertė nuo 0-1023
negaliojanti sąranka ()
{Serial.begin (9600); pinMode (LEDPin, OUTPUT); if (! nrf24.init ()) Serial.println ("init nepavyko"); // Numatytieji nustatymai po init yra 2,402 GHz (2 kanalas), 2Mbps, 0dBm if (! Nrf24.setChannel (1)) Serial.println ("setChannel nepavyko"); if (! nrf24.setRF (RH_NRF24:: DataRate2Mbps, RH_NRF24:: TransmitPower0dBm)) Serial.println ("setRF nepavyko"); }
tuštumos kilpa ()
{// Palaukite pranešimo uint8_t buf [RH_NRF24_MAX_MESSAGE_LEN]; // Gautą pranešimą išsaugoti kaip masyvą, pavadintą "buf " uint8_t len = sizeof (buf); // Išsaugokite buf dydį kaip „len“, kol (nrf24.waitAvailableTimeout (200) && nrf24.recv (buf, & len)) // Gauna pranešimą 200 milisekundžių arba kol bus gautas visas pranešimas {value = buf [0]; // Nustato vertę į pirmąjį buf indeksą, kuris yra int iš fotorezistoriaus analogWrite (LEDPin, map (value, 0, 1023, 0, 255)); // Nustato PWM kaištį, kad išvestų skalės reikšmę tarp 0–255 šviesos diodo ryškumui Serial.println (String (vertė)); } analogWrite (LEDPin, 0); }
4 žingsnis: ATLIKTA
Mėgaukitės žaisdami su skirtingu apšvietimo lygiu ir stebėdami, kaip šviesos diodai juos atitinka! Fotorezistorius kartais gali būti švelnus ir geriausiai veikia tamsioje patalpoje, kurioje yra lokalizuotas šviesos šaltinis (tačiau gali veikti ir lauke, saulėje).
Rekomenduojamas:
Lengva pakreipiama spalva keičiama belaidė Rubiko kubo lempa: 10 žingsnių (su nuotraukomis)
Lengva pakreipiama spalva keičiama belaidė Rubiko kubo lempa: Šiandien mes sukursime šią nuostabią Rubiko kubo formos lempą, kuri keičia spalvą priklausomai nuo to, kuri pusė yra aukštyn. Kubas veikia su maža „LiPo“baterija, įkrauta standartiniu „micro-usb“kabeliu, ir, mano bandymų metu, baterija veikia kelias dienas. Ši
Belaidė RGB LED juostelė naudojant „Bluetooth“ir „Wifi“ESP8266: 3 žingsniai
Belaidė RGB LED juostelė naudojant „Bluetooth“ir „Wifi“ESP8266: RGB LED juostelė naudojant „Bluetooth“ir „WIFI“Žiūrėkite „YouTube“vaizdo įrašą, kad gautumėte išsamios informacijos
Belaidė vaivorykštės šviesa, kurią maitina „Tesla“ritė: 6 žingsniai
Belaidė vaivorykštės šviesa, kurią maitina „Tesla“ritė: čia yra projektas, kuriame naudojama mažos, dvipolės „Tesla“ritės sukurta radijo dažnio energija, kad būtų galima įjungti įvairiaspalvių, šalto katodo lempų žiedą. Kaip ir bet kuris aukštos įtampos įrenginys, dirbdami būkite atsargūs ir gerai apsvarstykite
Saulės šviesa be akumuliatoriaus arba saulės dienos šviesa Kodėl gi ne ?: 3 žingsniai
Saulės šviesa be akumuliatoriaus arba saulės dienos šviesa … Kodėl gi ne?: Sveiki. Atsiprašau už mano dienos šviesą? Saulės? Kodėl? Dienos metu turiu šiek tiek tamsų kambarį, o naudodamas turiu įjungti šviesą. Įdiekite saulės šviesą dieną ir naktį (1 kambarys): (Čilėje)-Saulės skydas 20w: 42 USD-Baterija: 15 USD-saulės apmokestinimas
Muzikinė reaktyvioji šviesa -- Kaip sukurti itin paprastą muzikos reaktyviąją šviesą, kad stalinis kompiuteris būtų patrauklus: 5 žingsniai (su paveikslėliais)
Muzikinė reaktyvioji šviesa || Kaip sukurti itin paprastą muzikinę reaktyviąją šviesą, kad stalinis kompiuteris būtų patrauklus. Ei, kas vyksta, vaikinai, šiandien mes sukursime labai įdomų projektą. Šiandien mes sukursime muzikos reaktyviąją šviesą. LED pakeis savo ryškumą pagal bosas, kuris iš tikrųjų yra žemo dažnio garso signalas. Tai labai paprasta sukurti. Mes