Sadržaj:
- Korak 1: Lista dijelova i alati
- Korak 2: Pripremite OLED ekran i sat u realnom vremenu
- Korak 3: Pripremite rotacijski davač
- Korak 4: Ograđivanje
- Korak 5: Onemogućite Arduino Power LED (opcionalno)
- Korak 6: Napajanje + relej u čvrstom stanju
- Korak 7: Arduino Nano + napajanje + relej u čvrstom stanju
- Korak 8: Arduino Nano + sat u stvarnom vremenu
- Korak 9: Povežite OLED ekran
- Korak 10: Rotacijski davač
- Korak 11: Instalacija u kućište
- Korak 12: Spajanje na električnu mrežu / svjetlo za prebacivanje
- Korak 13: Dovršavanje kućišta
- Korak 14: Programiranje Arduina
- Korak 15: Postavljanje vremena i prebacivanje vremena
Video: Arduino mjerač sata za sumrak/zoru: 15 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:07
Sažetak:
Ovaj tajmer zasnovan na Arduinu može uključiti jedno svjetlo od 220 V u sumrak, zoru ili određeno vrijeme.
Uvod:
Neka svjetla u mojoj kući automatski se pale u sumrak, sve do unaprijed postavljenog vremena ili do zore (cijelu noć).
Položaj svjetala ne dopušta upotrebu senzora svjetla. Uobičajeni dostupni tajmeri sata uključuju se u određeno vrijeme. Za uključivanje u sumrak stoga je potrebno redovno prilagođavanje postavki programa tajmera.
Kao lijep izazov, odlučio sam umjesto toga izgraditi prilagođeni samostalni tajmer zasnovan na Arduinu. Koristi sat u stvarnom vremenu i biblioteku Dusk2Dawn za određivanje vremena u kojem se svjetla moraju uključiti ili isključiti. Kućište za taj timer je 3D štampano i može se pronaći na Thingiverse -u. Arduino kôd za ovaj projekt možete pronaći na GitHub -u.
U stvaranju ovog mjerača vremena inspirirao sam se mnogim dizajnom i sklopovima na internetu. Zahvaljujem se svim saradnicima koji nisu izričito navedeni.
Radi čitljivosti, parcijalni dijagrami su prikazani u koracima gdje je potrebno, umjesto potpunog dijagrama.
Alternativna rješenja:
Umjesto samostalnog mjerača vremena, postoje mnoga rješenja gdje sistem za automatizaciju pametne kuće upravlja svjetlima. Moj cilj je bio imati neovisno rješenje koje ne ovisi o WIFI (ili nekoj drugoj) vezi.
Ograničenja:
Kôd koji je dostavljen ovom projektu uključivao je implementaciju izmjena ljetnog računanja vremena zasnovanu na evropskom sistemu za ljetno računanje vremena.
Korak 1: Lista dijelova i alati
Dijelovi:
Ukupni troškovi dijelova (isključujući 3D štampanje) približno 30 €, -.
- Arduino Nano V3 (kompatibilan) bez zaglavlja
- Napajanje 5V 0.6A (34 x 20 x 15 mm)
- Solid -state relej 5V - Aktivno nisko - 2A 230VAC
- Sat za realno vrijeme DS3231 (mali)
- 0,96”OLED ekran SPI 128*64 piksela
- Rotacijski davač - EC11 - 20mm
- Ručica 6mm osovine 15mm * 17mm
- Ploča sa štampanom pločom,
- 4* M3x25mm vijci
- 3D štampano kućište
- Termoskupljajuće cijevi
- Žice
- Vijčani terminalni blok (za povezivanje neutralnih žica)
Potrebni alati:
- Lemilica
- Solder Wire
- Pumpa za lemljenje
- Strojevi za skidanje žice
- Rezači
- 3D štampač (za štampanje kućišta)
- Raznovrsni mali alati
UPOZORENJE
Ovo kolo radi na 230 V AC, a ako niste navikli raditi s mrežnim naponom ili nemate dovoljno iskustva u radu s 230 V AC mrežnim naponom, klonite se ovog projekta
Ne preuzimam odgovornost za bilo kakav gubitak ili štetu nastalu izravno ili kao posljedicu praćenja ovog projekta
Uvijek se savjetuje da vodite računa o oprezu i oprezu pri radu s mrežnim napajanjem
Korak 2: Pripremite OLED ekran i sat u realnom vremenu
3D štampano kućište dizajnirano je za minimalnu veličinu. Zbog toga je potrebno ukloniti zaglavlja OLED ekrana i sata u realnom vremenu.
U pripremi za sljedeći korak, očistite preostali lem iz rupa pomoću pumpe za odmrzavanje.
Korak 3: Pripremite rotacijski davač
Rotacijski davač ima slabe konektore. Kako biste spriječili oštećenje, montirajte komad tiskane ploče na davač.
Na slici je priključak za uzemljenje (gore desno i srednje dno) već pripremljen.
Napomena: Uvjerite se da rotacijski davač s tiskanom pločom staje u kućište bez dodirivanja Arduina. Možda će biti potrebno brušenje štampane ploče kako bi se dobro prilijeglo.
Korak 4: Ograđivanje
Odštampajte tri dela kućišta 3D štampačem. Pogledajte upute za Thingiverse.
Korak 5: Onemogućite Arduino Power LED (opcionalno)
Da biste spriječili zeleno svjetlo u mjeraču vremena, LED za napajanje Arduina može se onemogućiti.
Imajte na umu da je ova izmjena opcionalna.
Modifikacija Arduino Nano sastoji se u uklanjanju otpornika pored napajanja (pogledajte crveni krug na slici).
Korak 6: Napajanje + relej u čvrstom stanju
U ovom koraku napajanje i poluprovodnički relej se kombiniraju i montiraju u donji dio kućišta.
Priključci između napajanja i releja izvedeni su na dnu ovih komponenti. Vijčani terminalni blok releja će se koristiti za spajanje na Arduino.
Napomena: Prilikom povezivanja vodite računa da rupe za pričvršćivanje poluprovodničkog releja budu slobodne.
- Lemiti priključnu žicu između SSD releja A1 na jedan od AC priključaka napajanja
- Lemite žicu na drugi AC priključak napajanja (ovo će biti spojeno na neutralni vijčani stezni blok u koraku 7)
- Lemite žicu između izvora napajanja -Vo releja DC-
- Lemite žicu za spajanje napajanja +Vo na relej DC +
Napomena: Možda će biti potrebno skratiti kabele na napajanju i releju kako bi se mogli uklopiti u kućište.
Korak 7: Arduino Nano + napajanje + relej u čvrstom stanju
U ovom koraku, Arduino Nano je spojen na izvor napajanja i SSD relej.
- Odrežite dvije žice dužine približno 70 mm. Odvojite 30 mm izolacije s jedne strane i 4 mm s druge strane.
- Lemite stranu sa izoliranom izolacijom od 30 mm na Arduino +5V i GND, sa žicom koja proviruje
- Izrežite dvije termoskupljajuće cijevi duljine 20 mm i postavite ih preko ogoljenog dijela od 25 mm. Time se izoliraju žice do veze s montažnim vijčanim priključnim blokom DC+ i DC- poluprovodničkog releja.
- Imajte na umu da se žice za GND i +5V moraju ukrstiti da bi se ispravno spojile na priključni blok releja.
- Odrežite žicu duljine približno 40 mm i odvojite 4 mm izolacije s oba kraja. Lemite jednu stranu na A2 priključak na poleđini Arduina, a drugu stranu na CH1 priključak vijčanog priključnog bloka za montažu u čvrstom stanju.
UPOZORENJE
Arduino se napaja izravno iz stabilnog napajanja od 5 V umjesto da se koristi unutarnji regulator snage Arduino. Stoga nije sigurno spojiti USB kada Arduino prima napajanje iz izvora napajanja.
Uvijek isključite napajanje 230VAC prije korištenja Arduino USB veze.
Korak 8: Arduino Nano + sat u stvarnom vremenu
U ovom koraku sat u stvarnom vremenu spojen je na Arduino, djelomično pomoću kabela pripremljenih u prethodnom koraku.
- Lemite žicu koja dolazi iz Arduino GND-a (također spojen na DC- releja) na ‘-’ sata u stvarnom vremenu.
- Lemite žicu koja dolazi s Arduina+5V (također spojena na DC+releja) na „+“sata u stvarnom vremenu.
- Odrežite dvije žice duljine približno 40 mm i odvojite 4 mm izolacije s oba kraja.
- Lemite žicu između Arduina A4 i sata u realnom vremenu D (SDA).
- Lemite žicu između Arduina A5 i sata u realnom vremenu C (SCL).
- Oblikujte žice sata u stvarnom vremenu kako biste bili sigurni da ne ometaju rotacijski davač. Za to, žice moraju biti na dnu kućišta.
Korak 9: Povežite OLED ekran
U ovom koraku OLED SPI zaslon dodaje se Arduinu.
- Odrežite 2 žice dužine 65 mm i odvojite izolaciju od 4 mm s oba kraja.
- Lemite žicu na GND vezu OLED ekrana. Lemite ovu žicu na izoliranu žicu toplinski skupljajućih cijevi koja dolazi iz Arduino GND (pogledajte korak 4) i spojite obje žice s priključnim blokom na istosmjernom releju za montažu na istosmjernu struju.
- Lemite žicu na VCC vezu OLED ekrana. Lemite ovu žicu na izoliranu žicu toplinski skupljajućih cijevi koja dolazi s Arduina + 5V (pogledajte korak 4) i spojite obje žice na DC + montažni vijčani priključni blok poluprovodničkog releja.
- Odrežite 5 žica dužine 65 mm i odvojite 4 mm izolacije s oba kraja.
- Lemite žicu za spajanje D0 (CLK) na Arduino D10
- Lemite žicu za spajanje D1 (MOSI / DATA) na Arduino D9
- Lemite žicu za spajanje RES (RT) na Arduino D8
- Lemite žicu za spajanje istosmjernog napona na Arduino D11
- Lemite žicu za spajanje CS -a na Arduino D12
Napomena: Redoslijed žica zaslona nije logičan. Ovo je rezultat prvo korištenja primjera Adafruit, a zatim promjene veza jer upotreba D13 rezultira crvenom LED diodom na Arduinu cijelo vrijeme.
Alternativa
Moguće je koristiti „normalan“redoslijed za SPI veze. Za to se definicija digitalnog izlaza programa Arduino u oledcontrol.cpp mora odgovarajuće prilagoditi:
// Korištenje softvera SPI
// pin definicije
#define CS_PIN 12
#define RST_PIN 8
#define DC_PIN 11
#define MOSI_PIN 9
#define CLK_PIN 10
Korak 10: Rotacijski davač
Dijagram prikazuje veze Arduina s rotacijskim davačem (davač gledano odozgo).
- Odrežite 4 žice od 45 mm i odvojite 4 mm izolacije s oba kraja.
- Spojite Arduino GND na gornji desni i donji srednji konektor davača
- Spojite Arduino D2 u donji lijevi ugao kodera
- Spojite Arduino D3 na donji desni dio kodera
- Spojite Arduino D4 na gornji lijevi koder
Korak 11: Instalacija u kućište
Ugradite svu elektroniku u donji dio kućišta:
- Gurnite Arduino na okomiti otvor
- Gurnite sat za realno vrijeme u donji odjeljak
- Gurnite napajanje i relej u gornji odjeljak, pazite da relej sjedne na svoje nosače.
Korak 12: Spajanje na električnu mrežu / svjetlo za prebacivanje
UPOZORENJE
Pazite na odgovarajuću njegu i mjere opreza dok radite s mrežom naizmjenične struje, pazite da je mrežna mreža isključena
Ne preuzimam odgovornost za bilo kakav gubitak ili štetu nastalu izravno ili kao posljedicu praćenja ovog projekta
- Priključite fazu mrežnog napona na A1 (lijevi) zavrtanj releja releja.
- Spojite fazu svjetla koje želite prebaciti na B1 (desni) vijčani priključni blok releja.
- Za spajanje neutralne žice naizmjenične struje, svjetlosne neutralne žice i neutralne žice izvora napajanja upotrijebite zasebni vijčani priključni blok.
- Za rasterećenje, montirajte omotač kravate oko svakog kabla za napajanje.
Korak 13: Dovršavanje kućišta
U ovom koraku montaža u kućište je završena
- Gurnite OLED ekran kroz otvor za montažu ekrana u srednjem delu kućišta.
- Gurnite okretni davač kroz otvor u srednjem dijelu, pazite da se zaštita od rotacije poravna. Montirajte rotacijski davač pomoću priložene podloške i matice.
- Montirajte gornji dio kućišta i zatvorite kućište postavljanjem četiri vijka M3x25 mm odozdo.
Korak 14: Programiranje Arduina
UPOZORENJE
Arduino se napaja izravno iz stabilnog napajanja +5V umjesto korištenja Arduino unutrašnjeg regulatora napajanja. Stoga nije sigurno spojiti USB kada Arduino prima napajanje iz izvora napajanja.
Uvijek isključite mrežno napajanje 230VAC prije korištenja Arduino USB veze.
Preuzmite Arduino timer program s GitHub -a.
Ovaj program koristi Arduino IDE, koji se može dobiti ovdje.
Program koristi sljedeće dodatne biblioteke:
SSD1303Ascii
Arduino Wire biblioteka
Imajte na umu da se koristi i biblioteka dusk2dawn, ali uključena kao kod zbog promjene u njenom sučelju.
Da bi se osiguralo ispravno izračunavanje sumraka / svitanja, moraju se postaviti zemljopisna dužina i širina i vremenska zona.
Kao što je opisano u primjeru dusk2dawn, jednostavan način za pronalaženje zemljopisne dužine i širine za bilo koju lokaciju je pronalaženje mjesta na Google kartama, desni klik na mjesto na karti i odabir "Što je ovdje?". Pri dnu ćete vidjeti karticu s koordinatama.
Geografska dužina i širina su tvrdo kodirani u programu, u linijama 19 i 20 Dusk2Dawn.cpp:
/* Ovdje morate postaviti geografsku širinu i dužinu vaše lokacije.
* * SAVET: Lak način da pronađete geografsku dužinu i širinu za bilo koju lokaciju je * da pronađete mesto na Google mapama, desnim tasterom miša kliknete mesto na mapi i * izaberete "Šta je ovde?". Pri dnu ćete vidjeti karticu s * koordinatama. */ #define LATITUDE 52.097105; // Utrecht #define LONGTITUDE 5.068294; // Utrecht
Vremenska zona je također tvrdo kodirana u liniji 24. Dusk2Dawn.cpp. Prema zadanim postavkama postavljena je na Nizozemsku (GMT + 1):
/* Ovdje unesite svoju vremensku zonu (pomaknuta na GMT).
*/ #definirajte VREMENSKU ZONU 1
Prilikom prvog programiranja Arduina, potrebno je inicijalizirati EEPROM memoriju. U tu svrhu promijenite red 11 timer.cpp da biste izvršili inicijalizaciju EEPROM -a:
// promijenite u true za prvo programiranje
#define INITIALIZE_EEPROM_MEMORY false
Prenesite program na Arduino i pokrenite Arduino.
Onemogućite inicijalizaciju EEPROM -a i ponovo prenesite program na Arduino. Tajmer će sada zapamtiti postavke vremena prebacivanja pri ponovnom pokretanju.
Korak 15: Postavljanje vremena i prebacivanje vremena
Koncepti interakcije korisnika:
- Kratkim pritiskom se potvrđuje odabir. Nadalje, na ekranu glavnog tajmera kratkim pritiskom uključuje se ili isključuje svjetlo.
- Dug pritisak se koristi za ulazak u meni sa ekrana glavnog tajmera. Bilo gdje u meniju dugim pritiskom vratit ćete se na glavni zaslon mjerača vremena.
- ‘>’ Kurs selekcije. Ovaj kursor označava odabranu opciju u meniju.
Ekran glavnog tajmera
Ekran glavnog tajmera prikazuje:
Dan u nedelji Ned
Trenutno vrijeme 16:00
Trenutno stanje tajmera i vrijeme sljedećeg prebacivanja Tajmer je isključen do 17:12
Zora i sumrak Zora 08:05 Sumrak 17:10
Podešavanje tačnog vremena
Dugo pritisnite za ulazak u meni. Prikazane su sljedeće opcije:
BackSet timeTjednevni programWekend programOptions
Odaberite postavljeno vrijeme za postavljanje datuma i vremena na satu stvarnog vremena. Unesite ispravne vrijednosti za:
YearMonthDayTime
Tajmer automatski određuje dan u sedmici. Prebacivanje ljetnog računanja vremena također se vrši automatski. Ljetno računanje vremena se primjenjuje samo za evropsku vremensku zonu.
Podešavanje programa tajmera
Tajmer ima 2 programa, jedan za radne dane, jedan za vikend. Imajte na umu da se petak smatra dijelom vikenda, svjetla mogu ostati uključena malo duže.
Svaki mjerač vremena ima prekidač za uključivanje i isključivanje. Trenutak može biti:
- Vrijeme: Tačno određeno vrijeme
- Zora: Prebacivanje na osnovu izračunatog vremena zore
- Sumrak: Prebacivanje na osnovu izračunatog vremena sumraka
Za sumrak i zoru moguće je unijeti vrijednost ispravke od 59 minuta prije ili poslije.
Primjeri:
Za uključivanje svjetla cijelu noć, odaberite uključivanje u (sumrak + 10 minuta), isključivanje u (svitanje - 10 minuta)
Da biste svjetlo upalili u večernjim satima, odaberite uključivanje u sumrak, isključite u vrijeme: 22:30.
Opcije
Na ekranu opcija može se postaviti vremensko ograničenje za prebacivanje ekrana.
Kada je ekran isključen, pritiskom na dugme za okretanje kodera vratit ćete se na glavni zaslon mjerača vremena.
Preporučuje se:
Simulator sata sata koji se može konfigurirati: 3 koraka
Simulator sata sata koji se može konfigurirati: Ovo nije baš uputstvo. Dizajniram svoj vlastiti Word Clock i odlučio sam prvo napraviti simulator web aplikacije kako bih mogao postaviti mrežu i testirati kako izgleda u različito doba dana. Tada sam shvatio da bi ovo moglo biti korisno za druge ljude koji
Izrada Arduino OLED prstenastog sata: 5 koraka
Izrada Arduino OLED prstenastog sata: Kupio sam mali OLED ekran, njegova čistoća i jasnoća privlače moju pažnju. Ali šta ja mogu s tim? Zapravo, poenta je kako to mogu pokazati … Lol. Pa, kad sam pogledao poster Gospodara prstenova, koji je moja omiljena serija filmova
Jedinstven model sata koji pokreću Arduino servo motori: 5 koraka
Jedinstven model sata koji pokreću Arduino servo motori: Ovim uputstvom ću vam pokazati kako stvoriti sat pomoću Arduino Nano i Servo motora. Da biste to učinili, potrebne su vam sljedeće stavke
Stvaranje sata od sata: 11 koraka (sa slikama)
Stvaranje sata od sata: U ovom uputstvu uzimam postojeći sat i stvaram ono što osjećam da je bolji sat. Preći ćemo sa slike s lijeve strane na sliku s desne strane. Prije nego počnete sa vlastitim satom, znajte da ponovno sastavljanje može biti izazov jer slika
Kako omogućiti rad žičanog sata/slomljenog sata: 12 koraka
Kako omogućiti žični ulaz/slomljeni sat: Zdravo. Uzeo sam školski sat i pretvorio se u bateriju za manje od 10 USD