Բովանդակություն:
- Քայլ 1. NRF24L01 մոդուլների և սխեմայի միացում
- Քայլ 2. Հաղորդիչի կոդավորումը
- Քայլ 3: Ստացողի կոդավորումը
- Քայլ 4: ԿԱՌԱՎՈՐ
Video: Անլար Arduino լուսային համապատասխանող լուսադիոդային լամպ `օգտագործելով ֆոտոռեզիստոր` 4 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:51
Այս հրահանգը մանրամասնում է այն քայլերը, որոնք անհրաժեշտ են տարրական անլար լուսազգայուն լուսադիոդային լամպ կառուցելու համար `օգտագործելով Arduino Unos և ֆոտոռեզիստոր: Այս սարքի հնարավոր կիրառումը կլինի սենյակի լուսավորումը, որը պատուհաններ չունի արհեստական արևի լույսով, որը կհամապատասխանի իրական ժամանակի դրսի լուսավորության պայմաններին: Եկեք սկսենք!
Մատակարարման ցուցակ
Arduino Uno x2
NRF24L01 անլար հաղորդիչ x2 (ըստ ցանկության - NRF24L01 ուսապարկ x2)
TIP120 darlington տրանզիստոր
Ֆոտոռեզիստոր
5 մմ LEDs x3
Pushbutton
100 օմ դիմադրություն x3
10k ohm դիմադրություն x3
Տարբեր Jumper լարեր
Քայլ 1. NRF24L01 մոդուլների և սխեմայի միացում
Այս նախագծում մեկ Arduino- ն հանդես կգա որպես հաղորդիչ, որը լույսի մակարդակի տվյալներ կուղարկի ֆոտոռեզիստորից, երբ սեղմում է կոճակը: Մյուս Arduino- ն կծառայի որպես ընդունիչ ՝ վերցնելով այդ տվյալները և այն վերածելով LED- ների ազդանշանի: Առաջին պատկերը ցույց է տալիս հաղորդիչի դիագրամը, իսկ երկրորդը `ընդունիչը:
Նշում. Իմ նախագծի լուսանկարներում դուք կնկատեք, որ NRF24L01 հաղորդիչներն ամրացված են մեկ այլ PCB- ի վրա: Սա փոխանցման սարքերի համար նախատեսված ուսապարկի մոդուլ է, որը գործում է որպես էներգիայի կարգավորիչ: Էլեկտրագծերը հեշտացնելուց բացի, այս ուսապարկերը կարգավորում են NRF24L01- ի էներգիայի մուտքը ՝ թույլ տալով օգտագործել 5 Վ լարման աղբյուր: Ես պարզության համար բաց եմ թողել այս ուսապարկերը իմ գծապատկերում:
(Եթե դուք որոշեք օգտագործել ուսապարկերը, խնդրում ենք անդրադառնալ այս հղմանը ՝ նշելով քորոցների գտնվելու վայրը ՝ NRF24L01 ֆոնդին վերաբերող):
Ստորև կցված է սխեմայի PDF պատճենը ՝ ավելի մեծացնելու/մանրամասն դիտելու համար:
Քայլ 2. Հաղորդիչի կոդավորումը
Վերջին քայլը կոդավորումն է: NRF24L01 մոդուլների հետ օգտագործելու համար ձեզ հարկավոր է տեղադրել RadioHead գրադարանը կամ համարժեք գրադարան:
Այս նախագծի համար հաղորդիչ և ընդունիչ Arduinos- ն յուրաքանչյուրի վրա օգտագործում են տարբեր կոդեր: Ահա հաղորդիչի կոդը.
Հարմարության համար կցել եմ նաև.ino ֆայլը (NRF_Send):
#ներառում
#ներառում
RH_NRF24 nrf24; // Հաղորդիչ ընդունիչի սկզբնականացում որպես nrf24
int կոճակ = 5; // Կոճակի և ֆոտոընդդիմադիրի քորոցների արժեքների սահմանում
int pResistor = A0; int արժեքը = 0; // Լույսի արժեքը 0-1023-ից
դատարկ կարգավորում ()
{Serial.begin (9600); pinMode (կոճակ, Մուտք); pinMode (pResistor, INPUT); if (! nrf24.init ()) // Aleգուշացնում է օգտագործողին, եթե մոդուլի սկզբնականացումը ձախողվի Serial.println ("init ձախողվեց"); // Ինտից հետո կանխադրված են 2.402 ԳՀց (ալիք 2), 2 Մբիթ/ վ, 0 դԲմ եթե (! Nrf24.setChannel (1)) Serial.println ("setChannel ձախողվեց"); եթե (! nrf24.setRF (RH_NRF24:: DataRate2Mbps, RH_NRF24:: TransmitPower0dBm)) Serial.println ("setRF ձախողվեց"); }
դատարկ շրջան ()
{if (digitalRead (կոճակ)) {// Ուղարկեք հաղորդագրություն, եթե կոճակը սեղմված է value = analogRead (pResistor); // Կարդալ ֆոտոընդդիմադիրի արժեքը (0-1023) uint8_t տվյալները = {արժեքը}; // Սահմանում է «տվյալների » կոչվող զանգված, որը պարունակում է nrf24.send լուսային արժեքը (տվյալներ, չափսեր (տվյալներ)); // Sendանգվածն ուղարկեք ստացողին nrf24.waitPacketSent (); // Սպասեք, մինչև փաթեթն ուղարկվի Serial.println ("Light Value:" +String (value)); // Լույսի արժեքը տպեք սերիական մոնիտորի մեջ}}
Քայլ 3: Ստացողի կոդավորումը
Ստացողի համար կոդը օգտագործում է նաև RadioHead գրադարանը:
#ներառում
#ներառում
RH_NRF24 nrf24;
int LEDPin = 3;
int արժեքը = 0; // Լույսի արժեքը 0-1023-ից
դատարկ կարգավորում ()
{Serial.begin (9600); pinMode (LEDPin, OUTPUT); եթե (! nrf24.init ()) Serial.println ("init ձախողվեց"); // Ինտից հետո կանխադրված են 2.402 ԳՀց (ալիք 2), 2 Մբիթ/ վ, 0 դԲմ եթե (! Nrf24.setChannel (1)) Serial.println ("setChannel ձախողվեց"); եթե (! nrf24.setRF (RH_NRF24:: DataRate2Mbps, RH_NRF24:: TransmitPower0dBm)) Serial.println ("setRF ձախողվեց"); }
դատարկ շրջան ()
{// Սպասեք հաղորդագրության uint8_t buf [RH_NRF24_MAX_MESSAGE_LEN]; // Պահել ստացված հաղորդագրությունը որպես զանգված «buf » uint8_t len = sizeof (buf); // Պահել buf- ի չափը որպես «len», մինչդեռ (nrf24.waitAvailableTimeout (200) && nrf24.recv (buf, & len)) // Ստանում է հաղորդագրությունը 200 միլիվայրկյանով կամ մինչև ամբողջ հաղորդագրության ստացումը {value = buf [0]; // Արժեքը սահմանում է buf - ի առաջին ինդեքսի վրա, որը int- ն է photoresistor analogWrite- ից (LEDPin, քարտեզ (արժեք, 0, 1023, 0, 255)); // PWM- ի քորոցը սահմանում է 0-255-ի միջև լայնածավալ արժեք LED լուսավորության համար Serial.println (լարային (արժեք)); } analogWrite (LEDPin, 0); }
Քայլ 4: ԿԱՌԱՎՈՐ
Վայելեք խաղալ տարբեր լուսային մակարդակներով և դիտեք, թե ինչպես են LED- ները համապատասխանում նրանց: Ֆոտոռեզիստորը երբեմն կարող է անհանգիստ լինել և լավագույնս աշխատում է տեղայնացված լույսի աղբյուր ունեցող մութ սենյակում (բայց կարող է աշխատել նաև արևի հետ դրսում):
Խորհուրդ ենք տալիս:
Aարմանալի DIY արևային էներգիա Արտաքին լուսադիոդային լամպ. 9 քայլ
AMարմանալի DIY արևային էներգիայի բացօթյա լուսադիոդային լամպ. Բարև ձեզ: Այս Instructable- ում դուք կարող եք սովորել, թե ինչպես կարելի է կառուցել էժան և հեշտ արևային էներգիայով աշխատող LED լամպ: Այն լիցքավորում է մարտկոցը ցերեկը, և գիշերը լուսավորում է շատ վառ COB LED: Պարզապես հետևեք քայլերին: Դու կարող ես դա անել! Դա իսկապես հեշտ և զվարճալի է: Այս des
Անլար RGB լուսադիոդային ժապավեն ՝ օգտագործելով Bluetooth և Wifi ESP8266: 3 քայլ
Bluetooth և Wifi ESP8266 անլար RGB Led ժապավեն ՝ օգտագործելով Bluetooth և WIFI Դիտեք youtube տեսանյութ մանրամասն տեղեկությունների համար
Անլար Arduino ռոբոտ ՝ օգտագործելով HC12 անլար մոդուլը ՝ 7 քայլ
Անլար Arduino ռոբոտ, որն օգտագործում է HC12 անլար մոդուլը. Բարև ձեզ, բարի գալուստ: Իմ նախորդ գրառման մեջ ես բացատրեցի, թե ինչ է H Bridge Circuit- ը, L293D շարժիչի վարորդը IC, խոզուկ L293D Motor վարորդի IC- ն ՝ բարձր ընթացիկ շարժիչով վարորդներ վարելու համար, և ինչպես կարող եք նախագծել և պատրաստել ձեր սեփական L293D շարժիչային վարորդների խորհուրդը
Ինտերակտիվ լուսադիոդային լամպ - Tensegrity Կառուցվածք + Arduino. 5 քայլ (նկարներով)
Ինտերակտիվ լուսադիոդային լամպ | Tensegrity Կառուցվածք + Arduino. Այս կտորը շարժումներին արձագանքող լամպ է: Նախագծված որպես նվազագույն լարվածության քանդակ, լամպը փոխում է գույների կազմաձևը `ի պատասխան ամբողջ կառույցի կողմնորոշման և շարժումների: Այլ կերպ ասած, կախված դրա կողմնորոշումից
Դյուրակիր լուսադիոդային պրոյեկտոր լուսային էֆեկտների համար. 6 քայլ (նկարներով)
Դյուրակիր լուսադիոդային պրոյեկտոր ՝ լուսային էֆեկտների համար. Ինձ միշտ դուր են եկել նկարների գունագեղ լուսային էֆեկտները … Այսպիսով, ես առաջ եկա լուսանկարչության և ֆիլմերի ստեղծման համար շարժական լուսադիոդային պրոյեկտոր ստեղծելու գաղափարով: Անսահման թվով զտիչներ, որոնք մենք կարող ենք պատրաստել նման լամպը ընդլայնում է իր հնարավորությունները p