Sadržaj:
- Korak 1: Ožičenje modula i kruga NRF24L01
- Korak 2: Kodiranje predajnika
- Korak 3: Kodiranje prijemnika
- Korak 4: GOTOVO
Video: Bežična Arduino LED lampa koja odgovara svjetlosti pomoću fotootpornika: 4 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:08
Ovo uputstvo detaljno opisuje korake potrebne za konstrukciju rudimentarne bežične LED svjetiljke sa svjetlosnim senzorom koristeći Arduino Unos i fotootpornik. Moguća primjena za ovaj uređaj bi bila osvjetljavanje prostorije koja nema prozore umjetnom sunčevom svjetlošću, u skladu sa stvarnim uvjetima osvjetljenja vani u stvarnom vremenu. Hajde da počnemo!
Lista zaliha:
Arduino Uno x2
NRF24L01 Bežični primopredajnik x2 (opcionalno - ruksak NRF24L01 x2)
TIP120 darlington tranzistor
Fotootpornik
5 mm LED diode x3
Taster
100 ohmski otpornik x3
10k ohm otpornik x3
Razne kratkospojne žice
Korak 1: Ožičenje modula i kruga NRF24L01
U ovom projektu, jedan Arduino će djelovati kao odašiljač, šaljući podatke o razini svjetlosti s fotootpornika kada se pritisne tipka. Drugi Arduino poslužit će kao prijemnik, uzimajući te podatke i pretvarajući ih u signal LED diodama. Prva slika prikazuje dijagram predajnika, a druga prikazuje prijemnik.
Napomena: na fotografijama mog projekta primijetit ćete da su primopredajnici NRF24L01 pričvršćeni na drugu PCB. Ovo je ruksak modul za primopredajnike, koji djeluje kao regulator snage. Osim što olakšavaju ožičenje, ovi ruksaci reguliraju ulaznu snagu za NRF24L01, dopuštajući upotrebu 5V napajanja. Izostavio sam ove ruksake u svom dijagramu radi jasnoće.
(Ako se ipak odlučite za korištenje ruksaka, molimo vas da pogledate ovu vezu za dijagram položaja igala u odnosu na zalihu NRF24L01).
Dolje je u prilogu PDF kopija kola za lakše zumiranje/detaljan pregled.
Korak 2: Kodiranje predajnika
Zadnji korak je kodiranje. Morat ćete instalirati biblioteku RadioHead ili ekvivalentnu biblioteku za upotrebu s modulima NRF24L01.
Za ovaj projekt, odašiljač i prijemnik Arduinos koriste različite kodove za svaki. Evo koda za predajnik:
Priložio sam i.ino datoteku (NRF_Send) radi praktičnosti.
#include
#include
RH_NRF24 nrf24; // Inicijalizacija primopredajnika kao nrf24
int dugme = 5; // Postavljanje pin vrijednosti za gumb i fotootpornik
int pResistor = A0; int vrijednost = 0; // Vrijednost svjetlosti od 0-1023
void setup ()
{Serial.begin (9600); pinMode (dugme, ULAZ); pinMode (pResistor, INPUT); if (! nrf24.init ()) // Upozorava korisnika ako inicijalizacija modula ne uspije Serial.println ("init failed"); // Zadane vrijednosti nakon init -a su 2.402 GHz (kanal 2), 2Mbps, 0dBm if (! Nrf24.setChannel (1)) Serial.println ("setChannel nije uspio"); if (! nrf24.setRF (RH_NRF24:: DataRate2Mbps, RH_NRF24:: TransmitPower0dBm)) Serial.println ("setRF nije uspio"); }
void loop ()
{if (digitalRead (button)) {// Pošaljite poruku ako je dugme pritisnuto value = analogRead (pResistor); // Očitavanje vrijednosti fotootpornika (0-1023) uint8_t podaci = {vrijednost}; // Postavlja niz naziva "data " koji sadrži svjetlosnu vrijednost nrf24.send (data, sizeof (data)); // Pošaljite niz primatelju nrf24.waitPacketSent (); // Sačekajte dok se paket ne pošalje Serial.println ("Light Value:" +String (value)); // Odštampajte vrijednost svjetla na serijskom monitoru}}
Korak 3: Kodiranje prijemnika
Za prijemnik, kod također koristi RadioHead Library.
#include
#include
RH_NRF24 nrf24;
int LEDPin = 3;
int vrijednost = 0; // Vrijednost svjetlosti od 0-1023
void setup ()
{Serial.begin (9600); pinMode (LEDPin, OUTPUT); if (! nrf24.init ()) Serial.println ("init nije uspio"); // Zadane vrijednosti nakon init -a su 2.402 GHz (kanal 2), 2Mbps, 0dBm if (! Nrf24.setChannel (1)) Serial.println ("setChannel nije uspio"); if (! nrf24.setRF (RH_NRF24:: DataRate2Mbps, RH_NRF24:: TransmitPower0dBm)) Serial.println ("setRF nije uspio"); }
void loop ()
{// Sačekajte poruku uint8_t buf [RH_NRF24_MAX_MESSAGE_LEN]; // Spremi primljenu poruku kao niz nazvan "buf " uint8_t len = sizeof (buf); // Spremi veličinu bufa kao "len" while (nrf24.waitAvailableTimeout (200) && nrf24.recv (buf, & len)) // Prima poruku 200 milisekundi ili dok se cijela poruka ne primi {value = buf [0]; // Postavlja vrijednost prvom indeksu buf , koji je int od fotootpornika analogWrite (LEDPin, karta (vrijednost, 0, 1023, 0, 255)); // Postavlja PWM pin za izlaz skalirane vrijednosti između 0-255 za LED svjetlinu Serial.println (String (vrijednost)); } analogWrite (LEDPin, 0); }
Korak 4: GOTOVO
Uživajte u igranju s različitim nivoima svjetlosti i gledanju LED dioda koje im odgovaraju! Fotootpornik ponekad može biti izbirljiv, a najbolje radi u tamnoj prostoriji s lokaliziranim izvorom svjetlosti (ali može raditi i vani sa suncem).
Preporučuje se:
Lampa na baterije koja se uključuje pomoću magneta!: 8 koraka (sa slikama)
Lampa na baterije koja se uključuje pomoću magneta !: Znamo da se većina lampi uključuje/isključuje putem fizičkog prekidača. Moj cilj s ovim projektom bio je stvoriti jedinstven način za jednostavno paljenje/gašenje lampe bez tog klasičnog prekidača. Zaintrigirala me ideja lampe koja je promijenila oblik tokom ovog procesa
Lagana bežična Rubikova kockasta lampa koja mijenja boju na nagibu: 10 koraka (sa slikama)
Lagana bežična Rubikova kockasta svjetiljka koja mijenja boju na bazi nagiba: Danas ćemo izgraditi ovu sjajnu Rubikovu svjetiljku u obliku kocke koja mijenja boju ovisno o tome koja je strana prema gore. Kocka radi na maloj LiPo bateriji, puni se standardnim micro-usb kabelom i, prema mom testiranju, ima vijek trajanja baterije od nekoliko dana. Ovo
Siromašni poklopac objektiva ili sjenilo (odgovara bilo kojem DSLR-u / polu-DSLR-u): 4 koraka
Siromašni poklopac objektiva ili sjenilo (odgovara bilo kojem DSLR-u / polu-DSLR-u): Kada sam kupovao svoj DSLR, iz druge ruke nije imao poklopac objektiva. Još je bio u dobrom stanju i nikada nisam stigao kupiti poklopac za objektiv. Tako da sam upravo napravio jedan. Budući da nosim fotoaparat na neka prašnjava mjesta, vjerovatno je najbolje imati poklopac objektiva
Bežična RGB LED traka koja koristi Bluetooth i Wifi ESP8266: 3 koraka
Bežična RGB LED traka pomoću Bluetootha i WiFi -ja ESP8266: RGB LED traka pomoću Bluetootha i WIFI -a Za detaljne informacije pogledajte YouTube video zapis
Knex iPod priključna stanica (odgovara bilo kojoj veličini): 6 koraka
Knex iPod priključna stanica (odgovara bilo kojoj veličini): Zdravo! Ovo je moj prvi razumni Instructable! Pa čestitke za mene! Sada na Instructable! Ovo je K'nex Ipod priključna stanica. To je moja prijava za Jayefuu -ovo natjecanje u knexu. Odgovara bilo kojoj vrsti iPod -a ili iPhone -a. VRLO je čvrst. Spustio sam ga niz stazu