Sisukord:

Juhtmevaba Arduino valgusele vastav LED-lamp, kasutades fototakistit: 4 sammu
Juhtmevaba Arduino valgusele vastav LED-lamp, kasutades fototakistit: 4 sammu

Video: Juhtmevaba Arduino valgusele vastav LED-lamp, kasutades fototakistit: 4 sammu

Video: Juhtmevaba Arduino valgusele vastav LED-lamp, kasutades fototakistit: 4 sammu
Video: #15 HC 05 Bluetooth Modbus Android HMI | Внешний ПЛК Arduino 2024, November
Anonim
Juhtmevaba Arduino valgusele vastav LED-lamp, kasutades fototakistit
Juhtmevaba Arduino valgusele vastav LED-lamp, kasutades fototakistit
Juhtmevaba Arduino valgusele vastav LED-lamp, kasutades fototakistit
Juhtmevaba Arduino valgusele vastav LED-lamp, kasutades fototakistit
Juhtmevaba Arduino valgusele vastav LED-lamp, kasutades fototakistit
Juhtmevaba Arduino valgusele vastav LED-lamp, kasutades fototakistit

See juhend annab üksikasjalikud sammud, mis on vajalikud algse juhtmevaba valgustundliku LED-lampi ehitamiseks, kasutades Arduino Unos ja fototakistit. Selle seadme võimalik rakendus oleks ruumi, millel ei ole aknaid, valgustamine kunstliku päikesevalgusega, mis vastaks tegelikule valgustingimusele väljas reaalajas. Alustame!

Tarnekiri:

Arduino Uno x2

NRF24L01 juhtmeta transiiver x2 (valikuline - seljakott NRF24L01 x2)

TIP120 darlingtoni transistor

Fototakisti

5 mm LED -id x3

Nupp

100 oomi takisti x3

10k oomi takisti x3

Erinevad hüppajajuhtmed

Samm: ühendage NRF24L01 moodulid ja vooluring

NRF24L01 moodulite ja vooluahela juhtmestik
NRF24L01 moodulite ja vooluahela juhtmestik
NRF24L01 moodulite ja vooluahela juhtmestik
NRF24L01 moodulite ja vooluahela juhtmestik
NRF24L01 moodulite ja vooluahela juhtmestik
NRF24L01 moodulite ja vooluahela juhtmestik

Selles projektis tegutseb saatjana üks Arduino, mis saadab fototakistilt valgusnumbri andmeid, kui vajutada nuppu. Teine Arduino toimib vastuvõtjana, võtab need andmed ja muudab need LED -ide signaaliks. Esimene pilt näitab saatja skeemi ja teine vastuvõtjat.

Märkus: minu projekti fotodel märkate, et transiiverid NRF24L01 on ühendatud teise trükkplaadiga. See on transiiverite jaoks mõeldud seljakoti moodul, mis toimib võimsuse regulaatorina. Lisaks juhtmete lihtsustamisele reguleerivad need seljakotid NRF24L01 sisendvõimsust, võimaldades kasutada 5 V toiteallikat. Olen need seljakotid selguse huvides oma skeemist välja jätnud.

(Kui otsustate seljakotte kasutada, vaadake seda linki, et näha tihvtide asukohtade skeemi, viidates varudele NRF24L01).

Allpool on ahela PDF -koopia suumimise hõlbustamiseks/üksikasjalikuks vaatamiseks.

2. samm: saatja kodeerimine

Viimane samm on kodeerimine. NRF24L01 moodulitega kasutamiseks peate installima RadioHeadi raamatukogu või samaväärse kogu.

Selle projekti jaoks kasutavad saatja ja vastuvõtja Arduinos mõlemat erinevat koodi. Siin on saatja kood:

Lisasin mugavuse huvides ka.ino faili (NRF_Send).

#kaasake

#kaasake

RH_NRF24 nrf24; // Transiiveri vormindamine nrf24 -ks

int nupp = 5; // Nupu ja fototakisti pin -väärtuste seadmine

int pTakisti = A0; int väärtus = 0; // Valguse väärtus vahemikus 0-1023

tühine seadistus ()

{Serial.begin (9600); pinMode (nupp, INPUT); pinMode (pResistor, INPUT); if (! nrf24.init ()) // Hoiatab kasutajat, kui mooduli initsialiseerimine ebaõnnestub Serial.println ("init ebaõnnestus"); // Vaikeväärtused pärast init on 2,402 GHz (kanal 2), 2Mbps, 0dBm if (! Nrf24.setChannel (1)) Serial.println ("setChannel ebaõnnestus"); if (! nrf24.setRF (RH_NRF24:: DataRate2Mbps, RH_NRF24:: TransmitPower0dBm)) Serial.println ("setRF ebaõnnestus"); }

tühine tsükkel ()

{if (digitalRead (nupp)) {// Saada sõnum nupule vajutamisel value = analogRead (pResistor); // Loe fototakisti väärtust (0-1023) uint8_t data = {value}; // Määrab massiivi nimega "data ", mis sisaldab valgusväärtust nrf24.send (data, sizeof (data)); // Saada massiiv vastuvõtjale nrf24.waitPacketSent (); // Oodake, kuni pakett on saadetud Serial.println ("Valgusväärtus:" +String (väärtus)); // Valgusväärtuse printimine jadamonitorile}}

3. samm: vastuvõtja kodeerimine

Vastuvõtja jaoks kasutab kood ka RadioHeadi raamatukogu.

#kaasake

#kaasake

RH_NRF24 nrf24;

int LEDPin = 3;

int väärtus = 0; // Valguse väärtus vahemikus 0-1023

tühine seadistus ()

{Serial.begin (9600); pinMode (LEDPin, OUTPUT); if (! nrf24.init ()) Serial.println ("init ebaõnnestus"); // Vaikeväärtused pärast init on 2,402 GHz (kanal 2), 2Mbps, 0dBm if (! Nrf24.setChannel (1)) Serial.println ("setChannel ebaõnnestus"); if (! nrf24.setRF (RH_NRF24:: DataRate2Mbps, RH_NRF24:: TransmitPower0dBm)) Serial.println ("setRF ebaõnnestus"); }

tühine tsükkel ()

{// Oota sõnumit uint8_t buf [RH_NRF24_MAX_MESSAGE_LEN]; // Salvesta saadud teade massiivina nimega "buf " uint8_t len = sizeof (buf); // Salvestage bufi suurus "len", samal ajal (nrf24.waitAvailableTimeout (200) && nrf24.recv (buf, & len)) // Saab sõnumi 200 millisekundi jooksul või kuni kogu sõnum on kätte saadud {value = buf [0]; // Määrab väärtuseks buf esimese indeksi, mis on fotoresistori analogWrite int (LEDPin, kaart (väärtus, 0, 1023, 0, 255)); // Seadistab PWM-i tihvti väljastama skaleeritud väärtuse vahemikus 0-255 LED-heleduse jaoks Serial.println (String (väärtus)); } analogWrite (LEDPin, 0); }

4. samm: VALMIS

Nautige mängimist erinevate valgustustasemetega ja vaadake, kuidas LED -id neile sobivad! Fototakisti võib mõnikord olla peen ja see toimib kõige paremini pimedas ruumis, kus on lokaalne valgusallikas (kuid võib töötada ka päikese käes).

Soovitan: