Sadržaj:
- Korak 1: Popis dijelova i alati
- Korak 2: Pripremite OLED zaslon i sat u stvarnom vremenu
- Korak 3: Pripremite rotacijski davač
- Korak 4: Ograđivanje
- Korak 5: Onemogućite LED za napajanje Arduino (izborno)
- Korak 6: Napajanje + relej u krutom stanju
- Korak 7: Arduino Nano + napajanje + relej u čvrstom stanju
- Korak 8: Arduino Nano + sat u stvarnom vremenu
- Korak 9: Povežite OLED zaslon
- 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 mijenjanje vremena
Video: Arduino mjerač sata za sumrak/zoru: 15 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:36
Sažetak:
Ovaj mjerač temeljen 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 svjetla ne dopušta upotrebu senzora svjetla. Uobičajeni dostupni mjerači vremena uključuju se u određeno vrijeme. Za uključivanje u sumrak stoga je potrebno redovito podešavanje postavki programa timera.
Kao lijep izazov, odlučio sam umjesto toga izgraditi prilagođeni samostalni mjerač vremena baziran na Arduinu. Koristi sat u stvarnom vremenu i biblioteku Dusk2Dawn za određivanje vremena u kojem se svjetla moraju uključiti ili isključiti. Okvir za ovaj mjerač vremena je 3D ispisan i može se pronaći na Thingiverseu. Arduino kôd za ovaj projekt može se pronaći na GitHubu.
U stvaranju ovog mjerača vremena inspirirao sam mnoge dizajne i sklopove na internetu. Zahvaljujem se svim suradnicima koji nisu izričito spomenuti.
Radi čitljivosti, djelomični dijagrami prikazani su u koracima gdje je to potrebno, umjesto cjelovitog dijagrama.
Alternativna rješenja:
Umjesto samostalnog mjerača vremena, postoje mnoga rješenja gdje sustav za automatizaciju pametne kuće upravlja svjetlima. Cilj mi je bio imati neovisno rješenje koje ne ovisi o WIFI (ili drugoj) povezivosti.
Ograničenja:
Kôd koji je dostavljen uz ovaj projekt uključivao je implementaciju izmjena ljetnog računanja vremena na temelju europskog sustava za ljetno računanje vremena.
Korak 1: Popis dijelova i alati
Dijelovi:
Ukupni troškovi dijelova (isključujući 3D ispis) približno 30 €, -.
- Arduino Nano V3 (kompatibilan) bez zaglavlja
- Napajanje 5V 0.6A (34 x 20 x 15 mm)
- Poluprovodnički relej 5V - Aktivno nisko - 2A 230VAC
- Sat za realno vrijeme DS3231 (mali)
- 0,96”OLED zaslon SPI 128*64 piksela
- Rotacijski davač - EC11 - 20 mm
- Ručka 6 mm osovine 15 mm * 17 mm
- Ploča s tiskanim pločicama,
- 4* vijci M3x25 mm
- 3D tiskano kućište
- Termoskupljajuće cijevi
- Žice
- Vijčani terminalni blok (za spajanje neutralnih žica)
Potrebni alati:
- Lemilica
- Lemljena žica
- Pumpa za lemljenje
- Skidači žica
- Rezači
- 3D pisač (za ispis kućišta)
- Raznovrsni mali alati
UPOZORENJE
Ovaj krug radi na 230V AC, a ako niste navikli raditi s mrežnim naponom ili nemate dovoljno iskustva u radu s 230V AC mrežnim naponom, klonite se ovog projekta
Ne preuzimam odgovornost za bilo kakav gubitak ili štetu nastalu izravno iz ili kao posljedicu praćenja ovog projekta
Uvijek se savjetuje odgovarajuća briga i mjere opreza tijekom rada s mrežnim napajanjem
Korak 2: Pripremite OLED zaslon i sat u stvarnom vremenu
3D tiskano kućište dizajnirano je za minimalnu veličinu. Zbog toga je potrebno ukloniti zaglavlja OLED zaslona i sata u stvarnom vremenu.
U pripremi za sljedeći korak, pumpom za odmrzavanje očistite sav preostali lem iz rupa.
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 već pripremljen i uzemljenje (gore desno i srednje dno).
Napomena: Pazite da rotirajući koder s tiskanom pločom stane u kućište bez dodirivanja Arduina. Možda će biti potrebno brusiti tiskanu ploču kako bi se dobro prilijegla.
Korak 4: Ograđivanje
Ispišite tri dijela kućišta 3D pisačem. Pogledajte upute za Thingiverse.
Korak 5: Onemogućite LED za napajanje Arduino (izborno)
Kako biste spriječili zeleni sjaj 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 (vidi crveni krug na slici).
Korak 6: Napajanje + relej u krutom 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 koristit će se za spajanje na Arduino.
Napomena: Prilikom povezivanja pazite da rupe za pričvršćivanje poluprovodničkog releja budu slobodne.
- Lemiti spojnu žicu između statičkog releja A1 na jedan od izmjeničnih priključaka napajanja
- Lemite žicu na drugi AC priključak napajanja (ovo će biti spojeno na neutralni vijčani stezni blok u koraku 7)
- Lemiti žicu između izvora napajanja -Vo releja DC-
- Lemite žicu za spajanje napajanja +Vo na relej DC +
Napomena: Možda će biti potrebno skratiti vodove 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.
- Izrežite dvije žice duljine približno 70 mm. Odvojite 30 mm izolacije s jedne strane i 4 mm s druge strane.
- Lemite stranu s izoliranom izolacijom od 30 mm na Arduino +5V i GND, s ž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 spoja s montažnim vijčanim priključnim blokom DC+ i DC- poluvodičkog releja.
- Imajte na umu da se žice za GND i +5V moraju ukrstiti da bi se ispravno spojile na priključni blok relejnog vijka.
- Odrežite žicu duljine približno 40 mm i odvojite 4 mm izolacije s oba kraja. Lemite jednu stranu na priključak A2 na ZADNJOJ strani Arduina, a drugu stranu spojite na CH1 priključak vijčanog priključnog bloka za montažu u čvrstom stanju.
UPOZORENJE
Arduino se napaja izravno iz stabilnog napajanja +5V umjesto korištenja unutarnjeg regulatora snage Arduina. Stoga nije sigurno spojiti USB kada Arduino prima napajanje iz izvora napajanja.
Uvijek isključite napajanje od 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 spojenog 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.
- Izrež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 stvarnom 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 zaslon
U ovom koraku OLED SPI zaslon dodaje se Arduinu.
- Izrežite 2 žice duljine 65 mm i odvojite 4 mm izolacije s oba kraja.
- Lemite žicu na GND vezu OLED zaslona. Lemite ovu žicu na izoliranu žicu toplinski skupljajućih cijevi koja dolazi s Arduina GND (pogledajte korak 4) i spojite obje žice s priključnim blokom na istosmjerni relej za montažu na istosmjernu struju.
- Lemite žicu na VCC vezu OLED zaslona. Lemite ovu žicu na izoliranu žicu toplinski skupljajućih cijevi koja dolazi s Arduina + 5V (pogledajte korak 4) i spojite obje žice s priključnim blokom na vijak DC + za montažu na poluprovodnički relej.
- Izrežite 5 žica duljine 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. To 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 sukladno tome prilagoditi:
// Korištenje softvera SPI
// pin definicije
#define CS_PIN 12
#definiraj 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).
- Izrež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 davača
- Spojite Arduino D3 na donji desni dio kodera
- Spojite Arduino D4 u gornji lijevi ugao kodera
Korak 11: Instalacija u kućište
Instalirajte svu elektroniku u donji dio kućišta:
- Gurnite Arduino na okomiti utor
- Gurnite sat za stvarno 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
Tijekom rada s mrežom za izmjeničnu struju osigurajte odgovarajuću njegu i mjere opreza, pazite da je mrežna mreža isključena
Ne preuzimam odgovornost za bilo kakav gubitak ili štetu nastalu izravno iz ili kao posljedicu praćenja ovog projekta
- Spojite mrežnu fazu izmjenične struje na A1 (lijevi) vijčani priključni blok 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 napajanja upotrijebite zasebni vijčani priključni blok.
- Za ublažavanje naprezanja, montirajte omotač kravate oko svakog kabela za napajanje.
Korak 13: Dovršavanje kućišta
U ovom koraku montaža u kućište je dovršena
- Gurnite OLED zaslon kroz otvor za montažu zaslona u srednjem dijelu kućišta.
- Provucite okretni davač kroz rupu u srednjem dijelu, pazite da se proturotirajući usmjeri. 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 unutarnjeg regulatora snage Arduina. Stoga nije sigurno spojiti USB kada Arduino prima napajanje iz izvora napajanja.
Prije korištenja Arduino USB veze uvijek isključite napajanje od 230VAC.
Preuzmite Arduino timer program s GitHub -a.
Ovaj program koristi Arduino IDE, koji se može dobiti ovdje.
Program koristi sljedeće dodatne knjižnice:
SSD1303Ascii
Arduino Wire knjižnica
Imajte na umu da se koristi i dusk2dawn knjižnica, ali uključena kao kod zbog promjene u njezinom sučelju.
Kako bi se osigurao ispravan izračun sumraka / zore, moraju se postaviti zemljopisna dužina i širina te 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 pronaći mjesto na Google kartama, desnom tipkom miša kliknite mjesto na karti i odaberite "Što je ovdje?". Pri dnu ćete vidjeti karticu s koordinatama.
Geografska dužina i širina teško su kodirani u programu, u linijama 19 i 20 Dusk2Dawn.cpp:
/* Ovdje morate postaviti zemljopisnu širinu i dužinu svoje lokacije.
* * SAVJET: Jednostavan način za pronalaženje zemljopisne dužine i širine za bilo koju lokaciju je * pronaći mjesto na Google kartama, desnom tipkom miša kliknite mjesto na karti i * odaberite "Što je ovdje?". Pri dnu ćete vidjeti karticu s * koordinatama. */ #define LATITUDE 52.097105; // Utrecht #define LONGTITUDE 5.068294; // Utrecht
Vremenska zona također je tvrdo kodirana u retku 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 memoriju EEPROM -a. U tu svrhu promijenite 11. timer.cpp redak na 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 ponovno prenesite program na Arduino. Odbrojavač će sada zapamtiti postavke vremena prebacivanja pri ponovnom pokretanju.
Korak 15: Postavljanje vremena i mijenjanje vremena
Koncepti interakcije korisnika:
- Kratkim pritiskom se potvrđuje odabir. Nadalje, na glavnom zaslonu mjerača vremena kratkim pritiskom uključuje se ili isključuje svjetlo.
- Dugi pritisak koristi se za ulazak u izbornik s glavnog zaslona mjerača vremena. Bilo gdje u izborniku dugim pritiskom vratit ćete se na glavni zaslon mjerača vremena.
- ‘>’ Kurs kursa odabira. Ovaj kursor označava odabranu opciju u izborniku.
Zaslon glavnog mjerača vremena
Glavni zaslon mjerača vremena prikazuje:
Dan u tjednu Ned
Trenutno vrijeme 16:00
Trenutno stanje mjerača vremena i vrijeme sljedećeg prebacivanja Tajmer je isključen do 17:12
Zora i sumrak Zora 08:05 Sumrak 17:10
Postavljanje ispravnog vremena
Dugo pritisnite za ulaz u izbornik. Prikazane su sljedeće opcije:
BackSet timeTjedenski programWekend programOptions
Odaberite postavljeno vrijeme za postavljanje datuma i vremena na satu stvarnog vremena. Unesite ispravne vrijednosti za:
YearMonthDayTime
Mjerač vremena automatski određuje dan u tjednu. Promjena ljetnog računanja vremena također se vrši automatski. Ljetno računanje vremena provodi se samo za europsku vremensku zonu.
Postavljanje programa timera
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 vrijeme uključivanja i isključivanja. Trenutak može biti:
- Vrijeme: točno određeno vrijeme
- Zora: Prebacivanje na temelju izračunatog vremena zore
- Sumrak: Prebacivanje na temelju izračunatog vremena sumraka
Za sumrak i zoru moguće je unijeti ispravnu vrijednost od 59 minuta prije ili poslije.
Primjeri:
Za uključivanje svjetla cijelu noć odaberite uključivanje u (sumrak + 10 minuta), isključenje u (svitanje - 10 minuta)
Da biste svjetlo upalili navečer, odaberite uključivanje u sumrak, isključite u vrijeme: 22:30.
Opcije
Na zaslonu opcija može se postaviti vremensko ograničenje za prebacivanje zaslona.
Kad je zaslon isključen, pritiskom na tipku okretnog kodera vratit ćete se na glavni zaslon mjerača vremena.
Preporučeni:
Simulator sata sata koji se može konfigurirati: 3 koraka
Simulator sata sata koji se može konfigurirati: Ovo nije baš uputstvo. Dizajniram vlastiti Sat za riječi i odlučio sam prvo izgraditi 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 zaslon, njegova čistoća i jasnoća privlače moju pozornost. Ali što mogu učiniti s tim? Zapravo, poanta je kako to mogu pokazati … Lol. Pa, kad sam pogledao poster Gospodara prstenova, koji mi je najdraži filmski serijal
Jedinstven model sata koji pokreću Arduino servo motori: 5 koraka
Jedinstveni model sata koji pokreću Arduino servo motori: S ovim Instructable -om ću vam pokazati kako stvoriti sat pomoću Arduino Nano i Servo motora. Da biste to učinili, trebat će vam sljedeće stavke
Stvaranje sata s M5stick C pomoću Arduino IDE -a - RTC sat u stvarnom vremenu s M5stack M5stick-C: 4 koraka
Stvaranje sata s M5stick C pomoću Arduino IDE -a | RTC sat u stvarnom vremenu s M5stack M5stick-C: Zdravo dečki, u ovim uputama naučit ćemo kako napraviti sat s m5stick-C razvojnom pločom m5stack koristeći Arduino IDE. Dakle, m5stick će prikazati datum, vrijeme i amp; tjedan u mjesecu na ekranu
Stvaranje sata od sata: 11 koraka (sa slikama)
Stvaranje sata od sata: U ovom Instructableu 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 na vlastitom satu, znajte da ponovno sastavljanje može biti izazovno jer slika