Innholdsfortegnelse:
- Trinn 1: Koble til NRF24L01 -modulene og kretsen
- Trinn 2: Koding av senderen
- Trinn 3: Koding av mottakeren
- Trinn 4: Ferdig
Video: Trådløs Arduino lysmatchende LED-lampe ved hjelp av fotoresistor: 4 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:24
Denne instruksen beskriver trinnene som er nødvendige for å konstruere en rudimentær trådløs lysfølende LED-lampe ved hjelp av Arduino Unos og en fotoresistor. En mulig applikasjon for denne enheten er å tenne et rom som ikke har vinduer med kunstig sollys, og som matcher de faktiske lysforholdene ute i sanntid. La oss komme i gang!
Tilbudsliste:
Arduino Uno x2
NRF24L01 Trådløs transceiver x2 (valgfritt - NRF24L01 ryggsekk x2)
TIP120 darlington -transistor
Fotoresistor
5 mm lysdioder x3
Trykknapp
100 ohm motstand x3
10k ohm motstand x3
Ulike hoppetråder
Trinn 1: Koble til NRF24L01 -modulene og kretsen
I dette prosjektet vil en Arduino fungere som en sender og sende lysnivådata fra fotoresistoren når trykknappen trykkes. Den andre Arduino vil fungere som en mottaker, ta disse dataene og transformere dem til signalet til lysdiodene. Det første bildet viser senderdiagrammet, og det andre viser mottakeren.
Merk: På bildene av prosjektet mitt vil du legge merke til at NRF24L01 -mottakerne er festet til en annen PCB. Dette er en ryggsekkmodul for transceiverne, som fungerer som en effektregulator. I tillegg til å gjøre ledningen enklere, regulerer disse ryggsekkene inngangen til NRF24L01, slik at du kan bruke en 5V strømforsyning. Jeg har utelatt disse ryggsekkene i diagrammet mitt for klarhetens skyld.
(Hvis du bestemmer deg for å bruke ryggsekkene, kan du se denne lenken for et diagram over pinnesteder i referanse til NRF24L01).
Vedlagt nedenfor er en PDF -kopi av kretsen, for enklere zooming/detaljert visning.
Trinn 2: Koding av senderen
Det siste trinnet er koding. Du må installere RadioHead -biblioteket eller et tilsvarende bibliotek for bruk med NRF24L01 -modulene.
For dette prosjektet bruker senderen og mottakeren Arduinos forskjellige koder på hver. Her er koden for senderen:
Jeg har også lagt ved.ino -filen (NRF_Send) for enkelhets skyld.
#inkludere
#inkludere
RH_NRF24 nrf24; // Initialiserer en transceiver som nrf24
int -knapp = 5; // Angi pinverdier for knappen og fotoresistor
int pResistor = A0; int verdi = 0; // Verdi av lys fra 0-1023
ugyldig oppsett ()
{Serial.begin (9600); pinMode (knapp, INNGANG); pinMode (pResistor, INPUT); if (! nrf24.init ()) // Varsler brukeren hvis initialiseringen av modulen mislykkes Serial.println ("init mislyktes"); // Standardinnstillinger etter init er 2,402 GHz (kanal 2), 2 Mbps, 0dBm hvis (! Nrf24.setChannel (1)) Serial.println ("setChannel mislyktes"); if (! nrf24.setRF (RH_NRF24:: DataRate2Mbps, RH_NRF24:: TransmitPower0dBm)) Serial.println ("setRF mislyktes"); }
hulrom ()
{if (digitalRead (knapp)) {// Send en melding hvis knappen er trykket value = analogRead (pResistor); // Les verdien av fotoresistoren (0-1023) uint8_t data = {verdi}; // Angir en matrise kalt "data " som inneholder lysverdien nrf24.send (data, sizeof (data)); // Send matrisen til mottakeren nrf24.waitPacketSent (); // Vent til pakken er sendt Serial.println ("Light Value:" +String (value)); // Skriv ut lysverdien i den serielle skjermen}}
Trinn 3: Koding av mottakeren
For mottakeren bruker koden også RadioHead -biblioteket.
#inkludere
#inkludere
RH_NRF24 nrf24;
int LEDPin = 3;
int verdi = 0; // Verdi av lys fra 0-1023
ugyldig oppsett ()
{Serial.begin (9600); pinMode (LEDPin, OUTPUT); if (! nrf24.init ()) Serial.println ("init mislyktes"); // Standardinnstillinger etter init er 2,402 GHz (kanal 2), 2 Mbps, 0dBm hvis (! Nrf24.setChannel (1)) Serial.println ("setChannel mislyktes"); if (! nrf24.setRF (RH_NRF24:: DataRate2Mbps, RH_NRF24:: TransmitPower0dBm)) Serial.println ("setRF mislyktes"); }
hulrom ()
{// Vent på en melding uint8_t buf [RH_NRF24_MAX_MESSAGE_LEN]; // Lagre den mottatte meldingen som en matrise kalt "buf " uint8_t len = sizeof (buf); // Lagre størrelsen på buf som "len" mens (nrf24.waitAvailableTimeout (200) && nrf24.recv (buf, & len)) // Mottar meldingen i 200 millisekunder eller til hele meldingen er mottatt {value = buf [0]; // Setter verdien til den første indeksen til buf , som er int fra fotoresistoren analogWrite (LEDPin, map (verdi, 0, 1023, 0, 255)); // Angir at PWM-pinnen skal sende ut en skalert verdi mellom 0-255 for LED-lysstyrken Serial.println (streng (verdi)); } analogWrite (LEDPin, 0); }
Trinn 4: Ferdig
Nyt å leke med forskjellige lysnivåer og se på lysdiodene som matcher dem! Fotoresistoren kan være finurlig noen ganger, og fungerer best i et mørkt rom med en lokalisert lyskilde (men kan også fungere ute med solen).
Anbefalt:
DIY -- Hvordan lage en edderkopprobot som kan kontrolleres ved hjelp av smarttelefon ved hjelp av Arduino Uno: 6 trinn
DIY || Hvordan lage en edderkopprobot som kan kontrolleres ved hjelp av smarttelefon ved hjelp av Arduino Uno: Mens du lager en edderkopprobot, kan du lære så mange ting om robotikk. Som å lage roboter er både underholdende og utfordrende. I denne videoen skal vi vise deg hvordan du lager en Spider -robot, som vi kan bruke ved hjelp av smarttelefonen vår (Androi
Trådløs RGB LED -stripe ved hjelp av Bluetooth og Wifi ESP8266: 3 trinn
Trådløs RGB Led Strip ved hjelp av Bluetooth og Wifi ESP8266: RGB Led Strip Bruke Bluetooth og WIFI Se YouTube -video for detaljert informasjon
Trådløs Arduino -robot ved bruk av HC12 trådløs modul: 7 trinn
Trådløs Arduino -robot som bruker HC12 trådløs modul: Hei folkens, velkommen tilbake. I mitt forrige innlegg forklarte jeg hva en H Bridge Circuit er, L293D motordriver IC, piggybacking L293D Motordriver IC for å kjøre motorer med høy strøm og hvordan du kan designe og lage ditt eget L293D motorførerkort
Hvordan lage en drone ved hjelp av Arduino UNO - Lag en quadcopter ved hjelp av mikrokontroller: 8 trinn (med bilder)
Hvordan lage en drone ved hjelp av Arduino UNO | Lag en Quadcopter ved hjelp av mikrokontroller: Introduksjon Besøk min Youtube -kanal En Drone er en veldig dyr gadget (produkt) å kjøpe. I dette innlegget skal jeg diskutere hvordan jeg får det billig? Og hvordan kan du lage din egen slik til en billig pris … Vel, i India er alle materialer (motorer, ESCer
DIY trådløs overføring ved hjelp av IR LED og solcellepanel .: 4 trinn
DIY trådløs overføring ved hjelp av IR LED og solcellepanel .: Som vi alle vet om solcellepaneler, absorberer solcellepaneler sollys som energikilde for å generere elektrisitet. Det er en flott gave til en gratis strømkilde. Men likevel er den ikke mye brukt. Hovedårsaken bak dette er at det er dyrt