Kazalo:
- Korak: Seznam delov in orodja
- 2. korak: Pripravite zaslon OLED in uro v realnem času
- 3. korak: Pripravite rotacijski dajalnik
- 4. korak: ohišje
- 5. korak: Onemogočite LED za napajanje Arduino (neobvezno)
- Korak 6: Napajanje + polprevodniški rele
- Korak 7: Arduino Nano + Napajanje + Polprevodniški rele
- 8. korak: Ura v realnem času Arduino Nano +
- 9. korak: Priključite zaslon OLED
- 10. korak: Rotacijski dajalnik
- 11. korak: Namestitev v ohišje
- Korak 12: Priključitev na omrežje / luč za preklop
- 13. korak: Dokončanje ohišja
- Korak 14: Programiranje Arduina
- Korak 15: Nastavitev časa in čas preklopa
Video: Arduino ura za mrake/zore: 15 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:05
Povzetek:
Ta časovnik, ki temelji na Arduinu, lahko v mraku, zori ali določenem času preklopi eno 220V luč.
Uvod:
Nekatere luči v moji hiši se samodejno prižgejo v mraku, do vnaprej določenega časa ali do zore (celo noč).
Lokacija luči ne dovoljuje uporabe svetlobnega senzorja. Običajni razpoložljivi časovniki ure se vklopijo ob določenem času. Za vklop ob mraku je zato treba redno prilagajati nastavitve programa časovnika.
Kot lep izziv sem se odločil namesto tega izdelati samostojni časovnik na osnovi Arduina. Za določitev časa vklopa ali izklopa luči uporablja uro v realnem času in knjižnico Dusk2Dawn. Ohišje tega časovnika je 3D natisnjeno in ga najdete na Thingiverse. Kodo Arduino za ta projekt najdete na GitHubu.
Pri ustvarjanju tega časovnika sem dobil navdih iz številnih modelov in vezij na internetu. Zahvaljujem se vsem sodelujočim, ki niso izrecno omenjeni.
Zaradi berljivosti so namesto celotnega vezja v korakih prikazani delni diagrami.
Alternativne rešitve:
Namesto samostojnega merilnika časa obstaja veliko rešitev, kjer sistem za avtomatizacijo pametnega doma usmerja luči. Moj cilj je bil imeti neodvisno rešitev, ki ni odvisna od povezave WIFI (ali druge).
Omejitve:
Koda, ki je bila priložena temu projektu, je vključevala izvedbo sprememb poletnega časa, ki temelji na evropskem poletnem sistemu.
Korak: Seznam delov in orodja
Deli:
Skupni stroški delov (brez 3D tiskanja) so približno 30 EUR, -.
- Arduino Nano V3 (združljiv) brez glav
- Napajanje 5V 0.6A (34 x 20 x 15 mm)
- Polprevodniški rele 5V - Aktivno nizek - 2A 230VAC
- Ura v realnem času DS3231 (majhna)
- 0,96 -palčni OLED zaslon, SPI 128*64 slikovnih pik
- Rotacijski dajalnik - EC11 - 20 mm
- Ročaj 6 mm gred 15 mm * 17 mm
- Tiskano vezje na plošči,
- 4* vijaki M3x25 mm
- 3D tiskano ohišje
- Termoskrčljive cevi
- Žice
- Vijačni priključni blok (za priključitev nevtralnih žic)
Potrebna orodja:
- Spajkalnik
- Spajkalna žica
- Črpalka za spajkanje
- Odstranjevalci žice
- Rezalniki
- 3D tiskalnik (za tiskanje ohišja)
- Izbrana majhna orodja
OPOZORILO
To vezje deluje na omrežje 230 V AC in če niste navajeni delati z omrežno napetostjo ali nimate dovolj izkušenj pri delu z omrežno napetostjo 230 V AC, se izogibajte temu projektu
Ne prevzemam nobene odgovornosti za kakršno koli izgubo ali škodo, ki bi nastala neposredno ali kot posledica tega projekta
Pri delu z električnim omrežjem je vedno priporočljivo, da ste ustrezno previdni in previdni
2. korak: Pripravite zaslon OLED in uro v realnem času
Ohišje s 3D tiskanjem je zasnovano za minimalno velikost. Posledično je treba odstraniti glave zaslona OLED in uro v realnem času.
V pripravah na naslednji korak s črpalko za spajkanje odstranite preostalo spajkanje iz lukenj.
3. korak: Pripravite rotacijski dajalnik
Rotacijski dajalnik ima šibke priključke. Da bi preprečili poškodbe, na dajalnik namestite kos tiskanega vezja.
Na sliki je že pripravljen tudi ozemljitveni priključek (zgoraj desno in na sredini spodaj).
Opomba: Poskrbite, da se vrtljivi dajalnik s tiskanim vezjem prilega v ohišje, ne da bi se dotaknil Arduina. Morda bo treba tiskano vezje zmleti, da se dobro prilega.
4. korak: ohišje
Natisnite tri dele ohišja s 3D tiskalnikom. Glejte navodila za Thingiverse.
5. korak: Onemogočite LED za napajanje Arduino (neobvezno)
Za preprečitev zelenega sijaja v časovniku lahko LED za napajanje Arduina onemogočite.
Upoštevajte, da je ta sprememba neobvezna.
Sprememba Arduino Nano je sestavljena iz odstranitve upora poleg napajalnega kabla (glej rdeči krog na sliki).
Korak 6: Napajanje + polprevodniški rele
V tem koraku se napajalnik in polprevodniški rele združita in namestita v spodnji del ohišja.
Povezave med napajalnikom in relejem so na dnu teh komponent. Vijačni priključni blok releja bo uporabljen za povezavo z Arduinom.
Opomba: Pri povezovanju poskrbite, da bodo montažne luknje polprevodniškega releja proste.
- Priključite žico za povezavo med polprevodniškim relejem A1 na enega od AC priključkov napajalnika
- Spajkajte žico z drugim izmeničnim priključkom napajalnika (ta bo v koraku 7 priključen na nevtralni vijačni blok)
- Spajkajte žico med napajalnikom -Za rele DC -
- Spajate žico za priključitev napajanja +Vo na rele DC +
Opomba: Morda bo treba skrajšati kable na napajalniku in releju, da se bodo lahko prilegali v ohišje.
Korak 7: Arduino Nano + Napajanje + Polprevodniški rele
V tem koraku je Arduino Nano priključen na napajalnik in polprevodniški rele.
- Odrežite dve žici dolžine približno 70 mm. Odstranite 30 mm izolacije na eni strani in 4 mm na drugi strani.
- Spajajte stran z izolirano izolacijo 30 mm na Arduino +5V in GND, pri čemer žica štrli skozi
- Izrežite dve termoskrčljivi cevi dolžine 20 mm in ju namestite na 25 mm odstranjen del. To izolira žice do povezave z montažnimi vijačnimi sponkami DC+ in DC- polprevodniškega releja.
- Upoštevajte, da se morajo žice za GND in +5V križati, da se pravilno priključijo na sponko releja.
- Odrežite žico dolžine približno 40 mm in na obeh koncih odstranite izolacijo 4 mm. Spajate eno stran na priključek A2 na hrbtni strani Arduina, drugo stran pa na priključek CH1 na polprevodni vijačni priključni blok.
OPOZORILO
Arduino se napaja neposredno iz stabilnega napajanja +5V namesto z notranjim regulatorjem moči Arduino. Zato povezava USB ni varna, ko Arduino prejema napajanje iz napajalnika.
Pred uporabo povezave USB Arduino vedno odklopite omrežje 230VAC.
8. korak: Ura v realnem času Arduino Nano +
V tem koraku je ura v realnem času povezana z Arduinom, deloma z uporabo kablov, pripravljenih v prejšnjem koraku.
- Spajkajte žico, ki prihaja iz Arduino GND (prav tako priključena na DC- releja) na '-' ure v realnem času.
- Spajajte žico, ki prihaja iz Arduina+5V (priključena tudi na DC+releja) na "+" ure v realnem času.
- Odrežite dve žici dolžine približno 40 mm in na obeh koncih odstranite izolacijo 4 mm.
- Spajkajte žico med Arduino A4 in uro D v realnem času D (SDA).
- Spajkajte žico med Arduino A5 in uro v realnem času C (SCL).
- Oblikujte žice ure v realnem času, da zagotovite, da ne motijo rotacijskega dajalnika. Za to morajo biti žice na dnu ohišja.
9. korak: Priključite zaslon OLED
V tem koraku se v Arduino doda zaslon OLED SPI.
- Odrežite 2 žici dolžine 65 mm in na obeh koncih odstranite izolacijo 4 mm.
- Spajate žico na povezavo GND zaslona OLED. Spajajte to žico na izolirano žico s toplotno skrčljivo cevjo, ki prihaja iz Arduino GND (glejte korak 4) in obe žici povežite z vijačnim priključnim blokom za pritrditev na enosmerni tok polprevodniškega releja.
- Spajate žico z VCC povezavo zaslona OLED. To žico spajkajte na izolirano žico s toplotno skrčljivo cevjo, ki prihaja iz Arduina + 5V (glejte korak 4) in obe žici povežite z vijačnim priključnim blokom za pritrditev DC + polprevodniškega releja.
- Odrežite 5 žic dolžine 65 mm in na obeh koncih odstranite izolacijo 4 mm.
- Spajkajte žico za povezavo D0 (CLK) z Arduinom D10
- Spajkajte žico za povezavo D1 (MOSI / DATA) z Arduinom D9
- Spajkajte žico za povezavo RES (RT) z Arduinom D8
- Spajkajte žico za priključitev enosmernega toka na Arduino D11
- Spajkajte žico za povezavo CS z Arduino D12
Opomba: Vrstni red žic zaslona ni logičen. To je rezultat prve uporabe primera Adafruit in nato spreminjanja povezav, ker uporaba D13 povzroči ves čas rdečo LED na Arduinu.
Alternativa
Za povezave SPI je mogoče uporabiti "običajno" naročilo. V ta namen je treba ustrezno prilagoditi definicijo digitalnega izhoda programa Arduino v oledcontrol.cpp:
// Uporaba programske opreme SPI
// pin definicije
#define CS_PIN 12
#define RST_PIN 8
#define DC_PIN 11
#define MOSI_PIN 9
#define CLK_PIN 10
10. korak: Rotacijski dajalnik
Na diagramu so prikazane povezave Arduina z vrtljivim dajalnikom (dajalnik viden od zgoraj).
- Odrežite 4 žice po 45 mm in na obeh koncih odstranite izolacijo 4 mm.
- Priključite Arduino GND na zgornji desni in spodnji srednji priključek dajalnika
- Priključite Arduino D2 v spodnji levi kot kodirnika
- Priključite Arduino D3 v spodnji desni kot kodirnika
- Priključite Arduino D4 v zgornji levi kot kodirnika
11. korak: Namestitev v ohišje
V spodnji del ohišja namestite vso elektroniko:
- Arduino potisnite po navpični reži
- Pomaknite uro realnega časa v spodnji predel
- Napajalnik in rele potisnite v zgornji predel in se prepričajte, da je rele nameščen na nosilcih.
Korak 12: Priključitev na omrežje / luč za preklop
OPOZORILO
Pri delu z električnim omrežjem poskrbite za ustrezno nego in previdnost, prekinite napajanje
Ne prevzemam nobene odgovornosti za kakršno koli izgubo ali škodo, ki izvira neposredno iz tega projekta ali je posledica tega
- Omrežno fazo priključite na A1 (levo) vijačno sponko releja.
- Fazo luči, ki jo želite preklopiti, priključite na B1 (desno) vijačno sponko releja.
- Za priključitev nevtralnega kabla omrežnega napajalnika, svetlobno nevtralnega kabla in nevtralnega kabla napajalnika uporabite ločen vijačni priključni blok.
- Za lajšanje napetosti okoli vsakega napajalnega kabla namestite ovitek.
13. korak: Dokončanje ohišja
V tem koraku je montaža v ohišju zaključena
- Potisnite zaslon OLED skozi luknjo za pritrditev zaslona v srednjem delu ohišja.
- Vrtljivi dajalnik potisnite skozi luknjo v srednjem delu in se prepričajte, da se protivrtenje poravna. Vrtljivi dajalnik namestite s priloženo podložko in matico.
- Namestite zgornji del ohišja in zaprite ohišje tako, da pritrdite štiri vijake M3x25 mm od spodaj.
Korak 14: Programiranje Arduina
OPOZORILO
Arduino se napaja neposredno iz stabilnega napajanja +5V namesto z notranjim regulatorjem moči Arduino. Zato povezava USB ni varna, ko Arduino prejema napajanje iz napajalnika.
Pred uporabo povezave USB Arduino vedno odklopite omrežje 230VAC.
Prenesite program za merjenje časa Arduino iz GitHub -a.
Ta program uporablja Arduino IDE, ki ga lahko dobite tukaj.
Program uporablja naslednje dodatne knjižnice:
SSD1303Ascii
Knjižnica Arduino Wire
Upoštevajte, da se uporablja tudi knjižnica dusk2dawn, ki pa je zaradi spremembe vmesnika vključena kot koda.
Za pravilen izračun mraka / zore je treba nastaviti zemljepisno dolžino in zemljepisno širino ter časovni pas.
Kot je opisano v primeru dusk2dawn, je enostaven način za določitev zemljepisne dolžine in zemljepisne širine za katero koli lokacijo, da poiščete točko v Google Zemljevidih, z desno miškino tipko kliknete kraj na zemljevidu in izberete »Kaj je tukaj?«. Na dnu boste videli kartico s koordinatami.
Zemljepisna dolžina in zemljepisna širina sta v programu, v vrsticah 19 in 20 Dusk2Dawn.cpp, trdo kodirana:
/* Tukaj morate nastaviti zemljepisno širino in dolžino vaše lokacije.
* * NAMIG: Najlažji način za določitev zemljepisne dolžine in zemljepisne širine za katero koli lokacijo je *, da poiščete točko v Google Zemljevidih, z desno tipko miške kliknete kraj na zemljevidu in * izberete »Kaj je tukaj?«. Na dnu boste videli kartico s koordinatami *. */ #define LATITUDE 52.097105; // Utrecht #define LONGTITUDE 5.068294; // Utrecht
Časovni pas je tudi trdo kodiran v vrstici 24. Dusk2Dawn.cpp 24. Privzeto je nastavljen na Nizozemsko (GMT + 1):
/* Tukaj vnesite svoj časovni pas (zamaknjen za GMT).
*/ #določite ČASNO ZONO 1
Pri prvem programiranju Arduina je treba inicializirati pomnilnik EEPROM. V ta namen spremenite vrstico timer.cpp 11, da izvedete inicializacijo EEPROM:
// za prvo programiranje spremenite v true
#define INITIALIZE_EEPROM_MEMORY false
Naložite program na Arduino in zaženite Arduino.
Onemogočite inicializacijo EEPROM -a in znova naložite program v Arduino. Časovnik se bo ob ponovnem zagonu spomnil nastavitev časa preklopa.
Korak 15: Nastavitev časa in čas preklopa
Koncepti interakcije uporabnikov:
- Za potrditev izbire se uporablja kratek pritisk. Poleg tega na zaslonu glavnega časovnika kratek pritisk vklopi ali izklopi luč.
- Dolg pritisk se uporablja za vstop v meni z glavnega zaslona časovnika. Povsod v meniju se dolg pritisk vrne na glavni zaslon časovnika.
- ‘>’ Izbirna kurza. Ta kazalec označuje izbrano možnost v meniju.
Zaslon glavnega časovnika
Zaslon glavnega časovnika prikazuje:
Dan v tednu Ned
Trenutni čas 16:00
Trenutno stanje časovnika in čas naslednjega vklopa Časovnik izklopljen do 17:12
Čas zore in mraka Zora 08:05 Mrak 17:10
Nastavitev pravega časa
Dolgo pritisnite za vstop v meni. Prikazane so naslednje možnosti:
BackSet timeTedenski programWeekend programOptions
Izberite nastavljen čas, da nastavite datum in uro ure v realnem času. Vnesite pravilne vrednosti za:
LetoMonthDayTime
Časovnik samodejno določi dan v tednu. Preklop na poletni čas se izvede tudi samodejno. Poletni čas se izvaja samo za evropski časovni pas.
Nastavitev časovnega programa
Časovnik ima 2 programa, enega za dneve v tednu, enega za vikend. Upoštevajte, da petek velja za vikend, luči lahko ostanejo prižgane nekoliko dlje.
Vsak časovnik ima čas vklopa in izklopa. Trenutek je lahko:
- Čas: točno določen čas
- Zora: Preklopite na izračunani čas zore
- Mrak: Preklopite na izračunani čas mraka
Za mrak in zori je mogoče vnesti korekcijsko vrednost 59 minut pred ali po.
Primeri:
Če želite vklopiti luč vso noč, izberite vklop ob (mraku + 10 min), izklop ob (zori - 10 min)
Če želite zvečer vklopiti luč, izberite vklopi ob mraku, ugasni ob 22:30.
Opcije
Na zaslonu z možnostmi lahko nastavite časovno omejitev za preklop zaslona.
Ko je zaslon izklopljen, se s pritiskom na gumb vrtljivega dajalnika vrnete na zaslon glavnega časovnika.
Priporočena:
Ura za upokojitev / štetje navzgor / ura Dn: 4 koraki (s slikami)
Ura za upokojitev / Odštevanje / Ura Dn: Nekaj teh 8-palčnih LED matričnih zaslonov 8x8 sem imel v predalu in razmišljal, kaj bi z njimi. Navdihnjen z drugimi navodili sem dobil idejo, da bi sestavil zaslon za odštevanje/navzgor za odštevanje do prihodnjega datuma/časa in če je ciljni čas p
ESP8266 Omrežna ura brez RTC - Nodemcu NTP Ura brez RTC - PROJEKT INTERNETNE URE: 4 koraki
ESP8266 Omrežna ura brez RTC | Nodemcu NTP Ura brez RTC | PROJEKT INTERNETNE URE: V projektu bo izdelan projekt ure brez RTC, vzelo si bo čas za internet z uporabo WiFi in ga bo prikazal na zaslonu st7735
C51 4 -bitna elektronska ura - lesena ura: 15 korakov (s slikami)
C51 4 -bitna elektronska ura - lesena ura: ta vikend sem imel nekaj prostega časa, zato sem šel naprej in sestavil to 4 -bitno elektronsko digitalno uro za 2,40 USD, ki sem jo pred časom kupil pri AliExpressu
Ura Gixie: Najlepša ura s sijočo cevjo: 4 koraki
Ura Gixie: Najlepša ura s svetlečo cevko: Nixie Tube mi je zelo všeč, vendar je predraga, tega si ne morem privoščiti. Tako sem pol leta ustvarjal to uro Gixie. Ura Gixie je dosežena z osvetlitvijo ws2812 za izdelavo akrilne svetlobe. Potrudim se, da bi bila cev RGB tanjša
M-ura Miniaturna večmodna ura: 11 korakov
M-ura Miniaturna večmodna ura: minimalistična ura? Ura z več načini? Matrix Clock? To je projekt z več načini ure, ki temelji na MSP430G2432. Lahko ga sestavite brez spajkanja in minimalne uporabe orodja. Z omejeno ločljivostjo zaslona 8x8 slikovnih pik ta 12 -urna ura prikazuje čas