Sadržaj:

UCL-lloT-Vanjsko svjetlo Pokrenuto izlaskom/zalaskom sunca .: 6 koraka
UCL-lloT-Vanjsko svjetlo Pokrenuto izlaskom/zalaskom sunca .: 6 koraka

Video: UCL-lloT-Vanjsko svjetlo Pokrenuto izlaskom/zalaskom sunca .: 6 koraka

Video: UCL-lloT-Vanjsko svjetlo Pokrenuto izlaskom/zalaskom sunca .: 6 koraka
Video: Part 02 - Moby Dick Audiobook by Herman Melville (Chs 010-025) 2024, Juli
Anonim
UCL-lloT-Vanjsko svjetlo Pokrenuto izlaskom/zalaskom sunca
UCL-lloT-Vanjsko svjetlo Pokrenuto izlaskom/zalaskom sunca

Pozdrav svima! Uz malo rada, neke dijelove i kôd sastavio sam ovo uputstvo koje će vam od početka do kraja pokazati kako se točno proizvodi ovo vanjsko svjetlo. Ideja je potekla od mog oca, koji je tokom ljeta morao ručno izaći van i promijeniti kad se upalilo svjetlo. S obzirom na to da se vrijeme zalaska sunca i izlaska sunca brzo mijenjalo tijekom cijele godine, upitao me mogu li pronaći automatiziran način za to. I tako smo ovdje. Relativno mali projekat.

Korak 1: IO lista i šta vam je potrebno

IO lista i šta vam treba
IO lista i šta vam treba
IO lista i šta vam treba
IO lista i šta vam treba
IO lista i šta vam treba
IO lista i šta vam treba

Arduino MEGA 2560. To je ono što sam ja barem koristio, znam da biste lako mogli koristiti i drugi.

DS3231 i njegova biblioteka. (https://rinkydinkelectronics.com/library.php?id=73… Važno je znati da su pinovi postavljeni za SDA i SCL različiti ovisno o tome koji Arduino koristite.

I052116 IR infracrveni senzorski modul senzora detektora pokreta. Ovaj određeni modul može se zamijeniti za vaš senzor po izboru, iskreno je neobavezan za cijelu stvar.

Korak 2: Dijagram toka

Dijagram toka
Dijagram toka

Kao što se vidi na jednostavnom dijagramu toka, većina teških tereta nalazi se u čvorištu Red. Sa relativno jednostavnim čvorovima, ideja je da ćete iz Node-Reda doći do web stranice koja zna u koje vrijeme sunce zalazi i izlazi. Kad ga dobije, poslat će informacije na Arduino i reći mu. Iz Arduina ćemo dobiti signal koji precizno pokazuje kada su svjetla zaista uključena, tako da možete provjeriti iz svog doma baš kad svjetla ugase. Također iz Arduina dobit ćemo informacije da je senzor blizine aktiviran, koja ima uključeno svjetlo x vrijeme.

Korak 3: Frizing

Fritzing
Fritzing

U usporedbi s drugim projektima, kabliranje je ovdje prilično jednostavno. Ono što morate biti svjesni je da će vam biti potreban WIFI modul za održavanje kontakta sa Node-Red serverom ili da nabavite računar za bacanje koji će ugostiti Node-Red server na koji je povezan sa Arduinom. Na slici nije prikazana veza između Arduina i prijenosnog računara i unaprijed se izvinjavam zbog loše Fritzing slike!

Korak 4: Kodiranje

Kodiranje
Kodiranje
Kodiranje
Kodiranje

Ako sam nešto otkrio, to je da je s Firmatom (za Arduino komunikaciju s Node-Redom), bibliotekom DS3231 i drugim, bilo puno učitanih knjižnica. Od objavljivanja, kodiranje nije sasvim završeno, pa je uključen pseudokod.

U biblioteci s DS3231 nalaze se unaprijed postavljeni pinovi za svaku od Arduino ploča, a u slučaju Mege to su pin 20 i 21 jer su to SDA i SCL pinovi na mega. Kada se sat spoji, može se tačno reći koji je dan i o čemu treba voditi računa. Ono što je meni bilo lakše raditi kada je u pitanju praćenje brojeva je korištenje int umjesto niza. Ono što sam učinio je da pretvaram brojeve niza u int, ali budući da int ne može koristiti: za odvajanje sata, odlučio sam učiniti nešto drugo. Umjesto rada sa satima, mi ćemo raditi sa minutama. Puno minuta. Ako je na primjer 13:21, prve dvije znamenke ću odvojiti i mjeriti sa šezdeset. Sada smo na 801 minuti, jer je 13 puta 60 jednako 780, a vi dodajte posljednjih 21 minutu. Ako naš Node-Red kaže da sunce zalazi u 16:58 (u slučaju zime), vanjska svjetla ćemo uključiti između 1018 minuta i unaprijed definirano vrijeme isključivanja, koje će biti 1380 (23:00)). Ako je naš mjerač vremena između njih, svjetla će se upaliti. Gore navedena matematika je u osnovi cijeli program, bez koraka da se Node-Red spoji na Arduino i komunicira. Također će se koristiti senzor koji osigurava da se svjetla pale (u svakom slučaju prošlo zalazak sunca), ali u suprotnom je to cijeli gornji program.

Korak 5: Node-Red

Node-Red
Node-Red
Node-Red
Node-Red
Node-Red
Node-Red
Node-Red
Node-Red

Nije naročito veliki tok, nije da bi u ovom slučaju trebao biti. Prva 2 reda čvorova veliki su dio programa. Koristeći funkciju GET, dohvatimo današnje predviđanje o tome kako će sunce izaći i zaći. Odatle koristimo CSS birač za dohvat naših specifičnih podataka, kojima se obično pristupa na web stranici "Inspect Elements" na firefoxu kako je navedeno na slikama. Imajte na umu da ne funkcioniraju sve web stranice na ovaj način, a ona koju ja koristim savršeno funkcionira na ovaj način. Odatle će pisati informacije na pin 13 jer sam ga tako odredio, mada testiranje tek treba da odredi je li jedan pin do različitog vremena izvediv. Kao što je opisano u dijelu kodiranja, informacije će dolaziti s Arduina na Node-Red, gdje će se zatim naznačiti na pristupačnoj web stranici na kojoj se to može lako provjeriti. Za to će vam trebati Firmata ako želite koristiti Arduino funkcije nabavljeno putem biblioteke node-red-node-arduino na Node-Redu. Iako još nije u potpunosti postavljen i bit će ažuriran dok završim projekt, priložio sam kôd za Node-Red Flow u tekstualni dokument radi lakšeg pristupa.

Korak 6: Raspoređivanje i upotreba

Raspoređivanje i upotreba
Raspoređivanje i upotreba

A da dovršimo naše instrukcije, to je praktični dio toga. S nekoliko kuća s ovim nivoom automatskog osvjetljenja, rješenje za cijelu godinu dobrodošlo je mnogim vlasnicima kuća. Da biste ovo zapravo povezali sa svjetiljkama pomoću električne energije koja nije Arduino, ne preporučujem da to radite sami ako ne znate točno što radite. S završetkom projekta, preuzimam ovaj zadatak uz pomoć električara samo da budem siguran. Osvjetljavajući prilaz senzorom ili strogo vremenski, preporučujem da nadogradite ono što sam već učinio ako zapravo želim da ga upotrebim izvan ove testne faze u kojoj se trenutno nalazi. Većina mojih problema sa projektom bila je isključivo u dijelu Node-Red to Arduino, i nadam se da sam uspio što jasnije objasniti kako je to je učinjeno.

Preporučuje se: