INHOUDSOPGAWE:
- Stap 1: Bedrading van die NRF24L01 -modules en stroombaan
- Stap 2: Kodering van die sender
- Stap 3: Kodering van die ontvanger
- Stap 4: GEDOEN
Video: Draadlose Arduino ligbypassende LED-lamp met fotoresistor: 4 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:27
Hierdie instruksies beskryf die stappe wat nodig is om 'n rudimentêre draadlose ligwaarnemende LED-lamp te bou met behulp van Arduino Unos en 'n fotoresistor. 'N Moontlike toepassing vir hierdie toestel is die aansteek van 'n kamer sonder vensters met kunsmatige sonlig, wat ooreenstem met die werklike beligtingstoestande buite in reële tyd. Laat ons begin!
Voorsieningslys:
Arduino Uno x2
NRF24L01 Draadlose transceiver x2 (opsioneel - NRF24L01 rugsak x2)
TIP120 darlington -transistor
Fotoresistor
5 mm LED's x3
Druk knoppie
100 ohm weerstand x3
10k ohm weerstand x3
Verskeie springdrade
Stap 1: Bedrading van die NRF24L01 -modules en stroombaan
In hierdie projek sal een Arduino as 'n sender dien, wat ligvlakdata vanaf die fotoresistor stuur wanneer die drukknop ingedruk word. Die ander Arduino dien as ontvanger, neem die data en omskep dit in die sein na die LED's. Die eerste beeld toon die sender -diagram, en die tweede toon die ontvanger.
Let wel: op die foto's van my projek sien u dat die NRF24L01 -ontvangers aan 'n ander PCB gekoppel is. Dit is 'n rugsakmodule vir die ontvangers, wat dien as 'n kragreguleerder. Behalwe dat die bedrading vergemaklik word, reguleer hierdie rugsakke ook die ingang van die NRF24L01, wat die gebruik van 'n 5V -kragtoevoer moontlik maak. Ter wille van die duidelikheid het ek hierdie rugsakke in my diagram weggelaat.
(As u besluit om die rugsakke te gebruik, verwys na hierdie skakel vir 'n diagram van die penpunte met verwysing na die voorraad NRF24L01).
Hieronder is 'n PDF -kopie van die kring aangeheg vir makliker inzoomen/gedetailleerde besigtiging.
Stap 2: Kodering van die sender
Die laaste stap is kodering. U moet die RadioHead -biblioteek of 'n ekwivalente biblioteek installeer vir gebruik met die NRF24L01 -modules.
Vir hierdie projek gebruik die sender en ontvanger Arduinos verskillende kode op elkeen. Hier is die kode vir die sender:
Ek het ook die.ino -lêer (NRF_Send) aangeheg vir gemak.
#insluit
#insluit
RH_NRF24 nrf24; // Initialiseer 'n transceiver as nrf24
int knoppie = 5; // Stel penwaardes vir die knoppie en fotoresistor in
int pResistor = A0; int waarde = 0; // Waarde van lig van 0-1023
leemte opstelling ()
{Serial.begin (9600); pinMode (knoppie, INVOER); pinMode (pResistor, INPUT); if (! nrf24.init ()) // Waarsku die gebruiker as die inisialisering van die module misluk Serial.println ("init misluk"); // Standaard na init is 2.402 GHz (kanaal 2), 2Mbps, 0dBm as (! Nrf24.setChannel (1)) Serial.println ("setChannel misluk"); if (! nrf24.setRF (RH_NRF24:: DataRate2Mbps, RH_NRF24:: TransmitPower0dBm)) Serial.println ("setRF misluk"); }
leemte lus ()
{if (digitalRead (knoppie)) {// Stuur 'n boodskap as die knoppie ingedruk word value = analogRead (pResistor); // Lees die waarde van die fotoresistor (0-1023) uint8_t data = {waarde}; // Stel 'n skikking met die naam "data " wat die ligwaarde nrf24.send bevat (data, sizeof (data)); // Stuur die skikking na die ontvanger nrf24.waitPacketSent (); // Wag totdat die pakkie gestuur is Serial.println ("Light Value:" +String (value)); // Druk die ligwaarde op die seriële monitor}}
Stap 3: Kodering van die ontvanger
Vir die ontvanger gebruik die kode ook die RadioHead -biblioteek.
#insluit
#insluit
RH_NRF24 nrf24;
int LEDPin = 3;
int waarde = 0; // Waarde van lig van 0-1023
leemte opstelling ()
{Serial.begin (9600); pinMode (LEDPin, OUTPUT); as (! nrf24.init ()) Serial.println ("init misluk"); // Standaard na init is 2.402 GHz (kanaal 2), 2Mbps, 0dBm as (! Nrf24.setChannel (1)) Serial.println ("setChannel misluk"); if (! nrf24.setRF (RH_NRF24:: DataRate2Mbps, RH_NRF24:: TransmitPower0dBm)) Serial.println ("setRF misluk"); }
leemte lus ()
{// Wag vir 'n boodskap uint8_t buf [RH_NRF24_MAX_MESSAGE_LEN]; // Stoor die ontvangde boodskap as 'n skikking genaamd "buf " uint8_t len = sizeof (buf); // Stoor die grootte van buf as "len" terwyl (nrf24.waitAvailableTimeout (200) && nrf24.recv (buf, & len)) // Ontvang die boodskap vir 200 millisekondes of totdat die hele boodskap ontvang is {value = buf [0]; // Stel waarde op die eerste indeks van buf , wat die int is van die fotoresistor analogWrite (LEDPin, map (waarde, 0, 1023, 0, 255)); // Stel die PWM-pen in om 'n afgeskaalde waarde tussen 0-255 vir die LED-helderheid Serial.println (string (waarde)) uit te voer; } analogWrite (LEDPin, 0); }
Stap 4: GEDOEN
Speel met verskillende ligvlakke en kyk hoe die LED's daarby pas! Die fotoresistor kan soms fyn wees en werk die beste in 'n donker kamer met 'n gelokaliseerde ligbron (maar kan ook buite met die son werk).
Aanbeveel:
Lichtsensor (fotoresistor) met Arduino in Tinkercad: 5 stappe (met foto's)
Lichtsensor (fotoresistor) Met Arduino in Tinkercad: Kom ons leer hoe om 'n fotoresistor, 'n ligsensitiewe tipe veranderlike weerstand, te lees met behulp van Arduino se analoog insette. Dit word ook 'n LDR (ligafhanklike weerstand) genoem. Tot dusver het jy al geleer om LED's te beheer met die analoog-uitgang van Arduino, en
Draadlose Arduino -robot met behulp van die HC12 -draadlose module: 7 stappe
Draadlose Arduino -robot wat die HC12 -draadlose module gebruik: Hallo ouens, welkom terug. In my vorige pos het ek verduidelik wat 'n H Bridge Circuit is, L293D -motorbestuurder -IC, L293D -motorbestuurder -IC vir die bestuur van hoëstroom -motorbestuurders en hoe u u eie L293D -motorbestuurderbord kan ontwerp en maak
Draadlose afstandsbediening met 2,4 GHz NRF24L01 -module met Arduino - Nrf24l01 4 -kanaals / 6 -kanaals sender -ontvanger voor quadcopter - Rc Helikopter - Rc -vliegtuig met Arduino: 5 stappe (met foto's)
Draadlose afstandsbediening met 2,4 GHz NRF24L01 -module met Arduino | Nrf24l01 4 -kanaals / 6 -kanaals sender -ontvanger voor quadcopter | Rc Helikopter | Rc -vliegtuig met Arduino: om 'n Rc -motor te bestuur | Quadcopter | Drone | RC -vliegtuig | RC -boot, ons het altyd 'n ontvanger en sender nodig, veronderstel dat ons vir RC QUADCOPTER 'n 6 -kanaals sender en ontvanger nodig het en dat die tipe TX en RX te duur is, so ons maak een op ons
Vyftig meter bereik draadlose toegangspunt met TP Link WN7200ND USB draadlose adapter op Raspbian -rek: 6 stappe
Vyftig meter bereik draadlose toegangspunt met TP Link WN7200ND USB draadlose adapter op Raspbian Stretch: Raspberry Pi is wonderlik om veilige draadlose toegangspunte te skep, maar dit het nie 'n goeie bereik nie; ek het 'n TP Link WN7200ND USB draadlose adapter gebruik om dit uit te brei. Ek wil deel hoe om dit te doen Hoekom wil ek 'n framboos pi in plaas van 'n router gebruik? T
DIY draadlose mikrofoon na draadlose kitaarstelsel: 4 stappe
DIY draadlose mikrofoon na draadlose kitaarstelsel: ek het 'n paar videos en 'n paar bands gekyk, en byna 'n draadlose stelsel op kitaar. Word mal, beweeg, loop en doen wat hulle wil sonder die koord, so ek droom daarvan om een te hê .. Maar .. vir my is dit nou te duur, so ek het hierop gekom