Turinys:

UCL-lloT-Lauko šviesa Suaktyvina saulėtekis/saulėlydis .: 6 žingsniai
UCL-lloT-Lauko šviesa Suaktyvina saulėtekis/saulėlydis .: 6 žingsniai

Video: UCL-lloT-Lauko šviesa Suaktyvina saulėtekis/saulėlydis .: 6 žingsniai

Video: UCL-lloT-Lauko šviesa Suaktyvina saulėtekis/saulėlydis .: 6 žingsniai
Video: СВЕТ ИСТИННЫЙ 2024, Lapkritis
Anonim
UCL-lloT-Lauko šviesa Suaktyvina saulėtekis/saulėlydis
UCL-lloT-Lauko šviesa Suaktyvina saulėtekis/saulėlydis

Sveiki visi! Šiek tiek padirbėję, kai kurias dalis ir kodą surinkau šią instrukciją, kuri nuo pradžios iki pabaigos tiksliai parodys, kaip gaminti šią lauko šviesą. Idėja kilo iš mano tėvo, kuriam vasarą tekdavo rankiniu būdu užgesinti ir persirengti, kai degdavo šviesa. Sparčiai keičiantis saulėlydžio ir saulėtekio metams ištisus metus, jis paklausė, ar galėčiau rasti automatinį būdą tai padaryti. Ir taip mes čia. Santykinai mažas projektas.

1 žingsnis: IO sąrašas ir ko jums reikės

IO sąrašas ir ko jums reikės
IO sąrašas ir ko jums reikės
IO sąrašas ir ko jums reikės
IO sąrašas ir ko jums reikės
IO sąrašas ir ko jums reikės
IO sąrašas ir ko jums reikės

„Arduino MEGA 2560“. Aš bent jau tai naudoju, žinau, kad galite lengvai naudoti kitą.

DS3231 ir tai biblioteka. (https://rinkydinkelectronics.com/library.php?id=73 … Svarbu žinoti, kad SDA ir SCL nustatyti kaiščiai skiriasi priklausomai nuo to, kurį „Arduino“naudojate.

I052116 IR infraraudonųjų spindulių judesio jutiklio jutiklio modulis. Šį modulį galima iškeisti į jūsų pasirinktą jutiklį, jis sąžiningai neprivalomas.

2 žingsnis: schema

Blokinė schema
Blokinė schema

Kaip matyti iš paprastos schemos, didžioji dalis sunkiųjų kėlimų yra „Node-Red“. Turint palyginti paprastus mazgus, idėja yra ta, kad iš „Node-Red“pasieksite svetainę, kuri žino, kada saulė leidžiasi ir teka. Kai ji ją turės, ji nusiųs informaciją „Arduino“ir pasakys. Iš „Arduino“gausime signalą, tiksliai nurodantį, kada iš tikrųjų įjungtos šviesos, kad galėtumėte patikrinti iš savo namų, kai tik lemputės užsidega. Taip pat iš „Arduino“gausime informacijos, kad artumo jutiklis buvo įjungtas, kurio lemputė įjungta x laiko.

3 žingsnis: Fritzing

Fritzing
Fritzing

Palyginti su kitais projektais, kabeliai čia yra gana paprasti. Turite žinoti, kad jums reikės WIFI modulio, kad palaikytumėte ryšį su „Node-Red“serveriu, arba įsigykite išmetamą kompiuterį, kad galėtumėte priimti „Node-Red“serverį, prijungtą prie „Arduino“. Nuotraukoje nerodomas ryšys tarp „Arduino“ir nešiojamojo kompiuterio, ir iš anksto atsiprašau už prastą „Fritzing“nuotrauką!

4 žingsnis: kodavimas

Kodavimas
Kodavimas
Kodavimas
Kodavimas

Jei radau vieną dalyką, tai, kad naudojant „Firmata“(„Arduino“ryšiui su „Node-Red“), DS3231 biblioteką ir dar daugiau, buvo daug įkeltų bibliotekų. Paskelbtas kodavimas nėra visiškai atliktas, todėl įtraukiamas pseudokodas.

Bibliotekoje iš DS3231 yra iš anksto nustatyti kiekvienos „Arduino“plokštės kaiščiai, o „Mega“atveju - 20 ir 21 kaiščiai, nes jie yra mega SDA ir SCL kaiščiai. Prijungus laikrodį, galima tiksliai pasakyti, kokia ji diena ir kokia ji turėtų būti stebima. Man buvo lengviau dirbti, kai reikia sekti skaičius, vietoj eilutės naudojamas int. Taigi, ką aš padariau, tai konvertuoju eilutės numerius į int, bet kaip int negaliu naudoti: norėdamas atskirti laikrodį, nusprendžiau padaryti ką nors kita. Užuot dirbę su valandomis, mes dirbsime su minutėmis. Daug minučių. Jei, pavyzdžiui, laikrodis yra 13:21, pirmieji du skaitmenys bus atskirti ir nustatyti šešiasdešimt. Dabar esame 801 minutėje, nes 13 kartų 60 yra 780, o jūs pridedate paskutines 21 minutes. Jei mūsų raudonas mazgas sako, kad saulė leidžiasi 16:58 (žiemos atveju), lauko apšvietimas įjungiamas nuo 1018 minučių iki iš anksto nustatyto išjungimo laiko, kuris bus 1380 (23:00)). Jei mūsų laikmatis yra tarp jų, lemputės įsijungia. Aukščiau pateikta matematika iš esmės yra visa programa, be žingsnių, kaip „Node-Red“prisijungti prie „Arduino“ir bendrauti. Taip pat bus naudojamas jutiklis, užtikrinantis, kad lemputės įsijungtų (bet kokiu atveju, praėjus saulei), tačiau priešingu atveju tai yra visa aukščiau pateikta programa.

5 žingsnis: mazgas raudonas

Mazgas-raudonas
Mazgas-raudonas
Mazgas-raudonas
Mazgas-raudonas
Mazgas-raudonas
Mazgas-raudonas
Mazgas-raudonas
Mazgas-raudonas

Ne itin didelis srautas, o ne tai, kad tai turi būti šiuo atveju. Pirmosios 2 mazgų eilutės yra didelė programos dalis. Naudodami GET funkciją, mes gauname šios dienos prognozę, kaip saulė teka ir leidžiasi. Iš ten mes naudojame CSS parinkiklį, kad gautume konkrečią informaciją, kuri paprastai pasiekiama svetainėse „Inspect Elements“naudojant „Firefox“, kaip nurodyta paveikslėliuose. Atminkite, kad ne visos svetainės veikia taip ir mano naudojama svetainė puikiai veikia taip. Iš ten ji įrašys informaciją į 13 kaištį, nes būtent tai aš paskyriau, nors bandymai dar nenurodo, ar vienas smeigtukas, pasiekiantis skirtingus laikus, yra tinkamas. Kaip aprašyta kodavimo dalyje, informacija ateis iš „Arduino“į „Node-Red“, kur ji bus nurodyta prieinamoje svetainėje, kur ją galima lengvai patikrinti. Jei norite naudoti „Arduino“funkcijas, jums reikės „Firmata“. įsigytas per „Node-Red“biblioteką „node-red-node-arduino“. Nors jis dar nėra visiškai nustatytas ir jis bus atnaujintas, kai baigsiu projektą, pridėjau „Node-Red Flow“kodą teksto dokumente, kad būtų lengva jį pasiekti.

6 žingsnis: diegimas ir naudojimas

Diegimas ir naudojimas
Diegimas ir naudojimas

Ir baigti mūsų pamokomą dalyką yra praktinė jo dalis. Kadangi keli namai turi tokio lygio automatinę šviesą, daugelio namų savininkų laukiamas sprendimas ištisus metus. Norėdami tai iš tikrųjų prijungti prie lempų, naudojančių elektrą, kuri nėra „Arduino“, nerekomenduoju to daryti patys, nebent tiksliai žinote, ką darote. Pasibaigus projektui, aš pasirūpinsiu šia užduotimi padedant elektrikui, kad būtum tikras. Apšviesdamas savo važiuojamąją dalį jutikliu arba griežtai pagal laiką, rekomenduoju remtis tuo, ką jau padariau, jei norėčiau iš tikrųjų panaudoti jį po šio bandymo etapo, kuriame jis šiuo metu yra. Dauguma mano problemų, susijusių su projektu, buvo tik nuo mazgo iki raudonojo iki Arduino dalies, ir tikiuosi, kad man pavyko kuo aiškiau paaiškinti, kaip tai padaryti yra padaryta.

Rekomenduojamas: