Innehållsförteckning:
- Steg 1: Anslutning av NRF24L01 -moduler och krets
- Steg 2: Kodning av sändaren
- Steg 3: Kodning av mottagaren
- Steg 4: KLAR
Video: Trådlös Arduino ljusmatchande LED-lampa med fotoresistor: 4 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:46
Denna instruerbara detalj beskriver de steg som krävs för att konstruera en rudimentär trådlös ljuskänslig LED-lampa med Arduino Unos och en fotoresistor. En möjlig applikation för denna enhet skulle vara att belysa ett rum som inte har fönster med artificiellt solljus, som matchar de faktiska ljusförhållandena ute i realtid. Låt oss börja!
Utbudslista:
Arduino Uno x2
NRF24L01 Trådlös sändtagare x2 (tillval - NRF24L01 ryggsäck x2)
TIP120 darlington -transistor
Fotoresistor
5 mm lysdioder x3
Tryckknapp
100 ohm motstånd x3
10k ohm motstånd x3
Olika tröjor
Steg 1: Anslutning av NRF24L01 -moduler och krets
I detta projekt kommer en Arduino att fungera som en sändare och skicka ljusnivådata från fotoresistorn när tryckknappen trycks in. Den andra Arduino kommer att fungera som mottagare, ta den informationen och omvandla den till signalen till lysdioderna. Den första bilden visar sändardiagrammet och den andra visar mottagaren.
Obs! På bilderna av mitt projekt kommer du att märka att NRF24L01 -sändtagarna är anslutna till ett annat kretskort. Detta är en ryggsäcksmodul för transceivrarna, som fungerar som en effektregulator. Förutom att göra kablarna enklare, reglerar dessa ryggsäckar ingången för NRF24L01, vilket möjliggör användning av en 5V strömförsörjning. Jag har för klarhetens skull utelämnat dessa ryggsäckar i mitt diagram.
(Om du bestämmer dig för att använda ryggsäckarna, se denna länk för ett diagram över stiftplatserna med hänvisning till lager NRF24L01).
Nedan bifogas en PDF -kopia av kretsen för enklare zoomning/detaljerad visning.
Steg 2: Kodning av sändaren
Det sista steget är kodning. Du måste installera RadioHead -biblioteket eller ett motsvarande bibliotek för användning med NRF24L01 -modulerna.
För detta projekt använder sändaren och mottagaren Arduinos olika koder på varje. Här är koden för sändaren:
Jag har också bifogat.ino -filen (NRF_Send) för enkelhets skull.
#omfatta
#omfatta
RH_NRF24 nrf24; // Initierar en transceiver som nrf24
int -knapp = 5; // Ställa in stiftvärden för knappen och fotoresistor
int pResistor = A0; int värde = 0; // Ljusets värde från 0-1023
void setup ()
{Serial.begin (9600); pinMode (knapp, INGÅNG); pinMode (pResistor, INPUT); if (! nrf24.init ()) // Varnar användaren om initialiseringen av modulen misslyckas Serial.println ("init misslyckades"); // Standardvärdena efter init är 2.402 GHz (kanal 2), 2Mbps, 0dBm om (! Nrf24.setChannel (1)) Serial.println ("setChannel misslyckades"); if (! nrf24.setRF (RH_NRF24:: DataRate2Mbps, RH_NRF24:: TransmitPower0dBm)) Serial.println ("setRF misslyckades"); }
void loop ()
{if (digitalRead (knapp)) {// Skicka ett meddelande om knappen trycks ned value = analogRead (pResistor); // Läs värdet på fotoresistorn (0-1023) uint8_t data = {värde}; // Ställer in en array som heter "data " som innehåller ljusvärdet nrf24.send (data, sizeof (data)); // Skicka matrisen till mottagaren nrf24.waitPacketSent (); // Vänta tills paketet har skickats Serial.println ("Light Value:" +String (value)); // Skriv ut ljusvärdet i den seriella bildskärmen}}
Steg 3: Kodning av mottagaren
För mottagaren använder koden också RadioHead -biblioteket.
#omfatta
#omfatta
RH_NRF24 nrf24;
int LEDPin = 3;
int värde = 0; // Ljusets värde från 0-1023
void setup ()
{Serial.begin (9600); pinMode (LEDPin, OUTPUT); if (! nrf24.init ()) Serial.println ("init misslyckades"); // Standardvärdena efter init är 2.402 GHz (kanal 2), 2Mbps, 0dBm om (! Nrf24.setChannel (1)) Serial.println ("setChannel misslyckades"); if (! nrf24.setRF (RH_NRF24:: DataRate2Mbps, RH_NRF24:: TransmitPower0dBm)) Serial.println ("setRF misslyckades"); }
void loop ()
{// Vänta på ett meddelande uint8_t buf [RH_NRF24_MAX_MESSAGE_LEN]; // Lagra det mottagna meddelandet som en array som heter "buf " uint8_t len = sizeof (buf); // Lagra storleken på buf som "len" medan (nrf24.waitAvailableTimeout (200) && nrf24.recv (buf, & len)) // Tar emot meddelandet i 200 millisekunder eller tills hela meddelandet mottas {value = buf [0]; // Sätter värde till det första indexet för buf , vilket är int från fotoresistor analogWrite (LEDPin, map (värde, 0, 1023, 0, 255)); // Ställer in PWM-stiftet för att mata ut ett skalat värde mellan 0-255 för LED-ljusstyrkan Serial.println (Sträng (värde)); } analogWrite (LEDPin, 0); }
Steg 4: KLAR
Njut av att leka med olika ljusnivåer och se hur lysdioderna matchar dem! Fotoresistorn kan vara finurlig ibland och fungerar bäst i ett mörkt rum med en lokaliserad ljuskälla (men kan också fungera utomhus med solen).
Rekommenderad:
Ljussensor (fotoresistor) med Arduino i Tinkercad: 5 steg (med bilder)
Ljussensor (fotoresistor) Med Arduino i Tinkercad: Lär oss hur man läser en fotoresistor, en ljuskänslig typ av variabelt motstånd, med Arduinos analoga ingång. Det kallas också ett LDR (ljusberoende motstånd). Hittills har du redan lärt dig att styra lysdioder med Arduinos analoga utgång, och att
Trådlös Arduino -robot med HC12 trådlös modul: 7 steg
Trådlös Arduino -robot som använder HC12 trådlös modul: Hej killar, välkommen tillbaka. I mitt förra inlägg förklarade jag vad en H Bridge Circuit är, L293D motorförare IC, piggybacking L293D Motorförare IC för att köra högströmsmotordrivrutiner och hur du kan designa och göra din egen L293D -motorförarkort,
Trådlös fjärrkontroll med 2,4 GHz NRF24L01 -modul med Arduino - Nrf24l01 4 -kanals / 6 -kanals sändarmottagare för Quadcopter - Rc helikopter - RC -plan med Arduino: 5 steg (med bilder)
Trådlös fjärrkontroll med 2,4 GHz NRF24L01 -modul med Arduino | Nrf24l01 4 -kanals / 6 -kanals sändarmottagare för Quadcopter | Rc helikopter | Rc -plan med Arduino: Att driva en Rc -bil | Quadcopter | Drone | RC -plan | RC -båt, vi behöver alltid en mottagare och sändare, antag att för RC QUADCOPTER behöver vi en 6 -kanals sändare och mottagare och den typen av TX och RX är för dyr, så vi kommer att göra en på vår
Femtio meter trådlös åtkomstpunkt med TP Link WN7200ND trådlös USB -adapter på Raspbian -stretch: 6 steg
Femtio meter trådlös åtkomstpunkt med TP Link WN7200ND trådlös USB -adapter på Raspbian Stretch: Raspberry Pi är bra att skapa säkra trådlösa åtkomstpunkter men det har inte ett bra utbud, jag använde en TP Link WN7200ND trådlös adapter för att förlänga den. Jag vill dela hur jag gör det Varför vill jag använda en hallon pi istället för en router? T
Hacka en trådlös dörrklocka till en trådlös larmströmbrytare eller strömbrytare: 4 steg
Hacka en trådlös dörrklocka till en trådlös larmströmbrytare eller strömbrytare: Jag byggde nyligen ett larmsystem och installerade det i mitt hus. Jag använde magnetbrytare på dörrarna och kopplade dem via vinden. Fönstren var en annan historia och hårda kablar var inte ett alternativ. Jag behövde en trådlös lösning och det här är