Obsah:
- Krok 1: Zoznam dielov a nástroje
- Krok 2: Pripravte si OLED displej a hodiny v reálnom čase
- Krok 3: Pripravte si rotačný kodér
- Krok 4: Príloha
- Krok 5: Vypnite kontrolku LED napájania Arduino (voliteľné)
- Krok 6: Napájanie + polovodičové relé
- Krok 7: Arduino Nano + napájací zdroj + polovodičové relé
- Krok 8: Hodiny Arduino Nano + v reálnom čase
- Krok 9: Pripojte OLED displej
- Krok 10: Rotačný kodér
- Krok 11: Inštalácia v kryte
- Krok 12: Pripojenie k elektrickej sieti / svetlu, ktoré sa má prepnúť
- Krok 13: Dokončenie prílohy
- Krok 14: Programovanie Arduina
- Krok 15: Nastavenie času a časov prepínania
Video: Časovač hodín súmraku/úsvitu Arduino: 15 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:59
Zhrnutie:
Tento časovač založený na Arduine dokáže prepnúť jedno svetlo 220 V za súmraku, svitania alebo v určenom čase.
Úvod:
Niektoré svetlá v mojom dome sa automaticky zapnú za súmraku, buď do vopred nastaveného času, alebo do rána (celú noc).
Umiestnenie svetiel neumožňuje použitie svetelného senzora. Bežné dostupné časovače hodín sa zapínajú v konkrétny čas. Zapnutie za súmraku preto vyžaduje pravidelnú úpravu nastavenia časového programu.
Ako príjemnú výzvu som sa rozhodol namiesto toho postaviť vlastný samostatný časovač založený na Arduine. Na určenie času, kedy sa musia svetlá zapnúť alebo vypnúť, používa hodiny v reálnom čase a knižnicu Dusk2Dawn. Kryt pre tento časovač je vytlačený 3D a nájdete ho na Thingiverse. Kód Arduino pre tento projekt nájdete na GitHub.
Pri vytváraní tohto časovača som sa inšpiroval mnohými návrhmi a obvodmi na internete. Ďakujem všetkým prispievateľom, ktorí nie sú výslovne uvedení.
Z dôvodu čitateľnosti sú namiesto úplného schémy zapojenia v krokoch podľa potreby uvedené čiastočné diagramy.
Alternatívne riešenia:
Namiesto samostatného časovača existuje mnoho riešení, kde svetlá riadi inteligentný systém automatizácie domácnosti. Mojim cieľom bolo mať nezávislé riešenie, ktoré nezávisí od pripojenia WIFI (alebo iného).
Obmedzenia:
Kód dodaný s týmto projektom zahŕňal implementáciu zmien letného času založenú na európskom systéme letného času.
Krok 1: Zoznam dielov a nástroje
Diely:
Celkové náklady na diely (bez 3D tlače) približne 30 EUR.
- Arduino Nano V3 (kompatibilné) bez hlavičiek
- Napájanie 5V 0,6A (34 x 20 x 15 mm)
- Polovodičové relé 5V - aktívne nízke - 2A 230VAC
- Hodiny v reálnom čase DS3231 (malé)
- 0,96”OLED displej SPI 128*64 pixelov
- Rotačný snímač - EC11 - 20 mm
- Gombík 6 mm hriadeľ 15 mm * 17 mm
- Doska s plošnými spojmi,
- 4* skrutky M3x25 mm
- 3D tlačená príloha
- Tepelne zmrštiteľné hadičky
- Drôty
- Skrutkovacia svorkovnica (na pripojenie neutrálnych vodičov)
Potrebné nástroje:
- Spájkovačka
- Spájkovací drôt
- Odpájacie čerpadlo
- Odizolovače drôtov
- Frézy
- 3D tlačiareň (na tlač príloh)
- Rozmanité malé nástroje
POZOR
Tento obvod pracuje na 230 V AC a ak nie ste zvyknutí pracovať so sieťovým napätím alebo nemáte dostatočné skúsenosti s prácou so sieťovým napätím 230 V AC, držte sa od tohto projektu bokom
Nepreberám žiadnu zodpovednosť za žiadne straty alebo škody, ktoré vzniknú priamo alebo v dôsledku sledovania tohto projektu
Pri práci so sieťovým adaptérom striedavého prúdu sa vždy odporúča vykonávať náležitú starostlivosť a predbežné opatrenia
Krok 2: Pripravte si OLED displej a hodiny v reálnom čase
3D tlačená skriňa je navrhnutá pre minimálnu veľkosť. V dôsledku toho je potrebné odstrániť hlavičky OLED displeja a hodín reálneho času.
Pri príprave na ďalší krok odstráňte všetku zvyšnú spájku z otvorov pomocou odpájkovacieho čerpadla.
Krok 3: Pripravte si rotačný kodér
Rotačný snímač má tenké konektory. Aby ste predišli poškodeniu, namontujte kus dosky s plošnými spojmi na kodér.
Na obrázku je už pripravené aj zemné spojenie (vpravo hore a v strede dole).
Poznámka: Zaistite, aby sa rotačný snímač s doskou s plošnými spojmi zmestil do krytu bez toho, aby ste sa dotkli Arduina. Možno bude potrebné brúsiť dosku s plošnými spojmi, aby dobre sedela.
Krok 4: Príloha
Vytlačte tri časti krytu pomocou 3D tlačiarne. Pozrite si pokyny na stránke Thingiverse.
Krok 5: Vypnite kontrolku LED napájania Arduino (voliteľné)
Aby sa zabránilo zelenej žiare v časovači, LED diódy napájania Arduina je možné deaktivovať.
Uvedomte si, že táto úprava je voliteľná.
Modifikácia Arduino Nano spočíva v odstránení odporu vedľa napájacej diódy (pozri červený kruh na obrázku).
Krok 6: Napájanie + polovodičové relé
V tomto kroku sú zdroj napájania a polovodičové relé kombinované a namontované v spodnej časti krytu.
Pripojenie medzi zdrojom napájania a relé je vykonané v spodnej časti týchto komponentov. Skrutkovacia svorkovnica relé bude slúžiť na pripojenie k Arduinu.
Poznámka: Pri pripájaní dbajte na to, aby montážne otvory polovodičového relé zostali voľné.
- Spájajte prepojovací vodič medzi polovodičovým relé A1 k jednému zo striedavých pripojení napájacieho zdroja
- Spájkujte vodič k druhému AC napájaniu (bude pripojené k svorkovnici neutrálneho skrutky v kroku 7)
- Spájkujte vodič medzi zdrojom napájania -Vo k relé DC-
- Spájkujte vodič na pripojenie napájania +Vo k relé DC +
Poznámka: Môže byť potrebné skrátiť vodiče na napájacom zdroji a relé, aby sa zmestili do krytu.
Krok 7: Arduino Nano + napájací zdroj + polovodičové relé
V tomto kroku je Arduino Nano pripojený k napájaciemu a polovodičovému relé.
- Odstrihnite dva drôty s dĺžkou približne 70 mm. Odizolujte 30 mm izolácie na jednej strane a 4 mm na druhej strane.
- Stranu spájkujte 30 mm odizolovanou izoláciou k Arduinu +5V a GND, pričom drôt bude prestrčiť
- Odrežte dve teplom zmrštiteľné trubice s dĺžkou 20 mm a namontujte ich na 25 mm odizolovanú časť. Tým sa izolujú vodiče až po spojenie so svorkovnicovou svorkovnicou DC+ a DC- polovodičového relé.
- Všimnite si toho, že vodiče pre GND a +5V je potrebné krížiť, aby sa správne pripojili k skrutkovacej svorkovnici relé.
- Odrežte drôt s dĺžkou približne 40 mm a odizolujte oba konce 4 mm. Jednu stranu spájkujte s prípojkou A2 na ZADNEJ STRANE Arduina a druhú stranu spojte s pripojením CH1 skrutkovacej svorkovnice polovodičovej montáže.
POZOR
Arduino je napájané priamo zo stabilného +5V zdroja namiesto použitia interného regulátora napájania Arduino. Preto nie je bezpečné pripojiť USB, keď Arduino získava energiu zo zdroja napájania.
Pred použitím pripojenia Arduino USB vždy odpojte sieťové napätie 230 VAC.
Krok 8: Hodiny Arduino Nano + v reálnom čase
V tomto kroku sú hodiny v reálnom čase pripojené k Arduinu, čiastočne pomocou káblov pripravených v predchádzajúcom kroku.
- Spájkujte vodič pochádzajúci z Arduino GND (tiež pripojený k DC- relé) do „-“hodín reálneho času.
- Spájkujte vodič prichádzajúci z Arduino+5V (tiež pripojený k DC+relé) k „+“hodín reálneho času.
- Odrežte dva drôty s dĺžkou približne 40 mm a odizolujte oba konce izoláciou 4 mm.
- Spájkujte vodič medzi Arduino A4 a hodinami D (SDA) v reálnom čase.
- Spájkujte vodič medzi Arduino A5 a hodinami C v reálnom čase (SCL).
- Tvarujte vodiče hodín reálneho času tak, aby nezasahovali do rotačného snímača. Na to musia byť vodiče v spodnej časti krytu.
Krok 9: Pripojte OLED displej
V tomto kroku sa do Arduina pridá displej OLED SPI.
- Odrežte 2 drôty s dĺžkou 65 mm a odizolujte 4 mm izoláciu oboch koncov.
- Spájajte vodič s GND pripojením OLED displeja. Spájkujte tento vodič s izolovaným vodičom zmršťovacím teplom pochádzajúcim z Arduino GND (pozri krok 4) a oba vodiče pripojte k skrutkovacej svorkovnici polovodičového relé montovanej na jednosmerný prúd.
- Spájkujte vodič k spojeniu VCC OLED displeja. Spájkujte tento drôt s izolovaným vodičom zmršťovacím teplom pochádzajúcim z Arduino + 5V (pozri krok 4) a oba vodiče zapojte do skrutkovacej svorkovnice polovodičového relé montovanej na DC +.
- Odrežte 5 drôtov s dĺžkou 65 mm a odizolujte 4 mm izoláciu oboch koncov.
- Spájkujte vodič na pripojenie D0 (CLK) k Arduino D10
- Spájkujte vodič na pripojenie D1 (MOSI / DATA) k Arduino D9
- Spájkujte vodič na pripojenie RES (RT) k Arduino D8
- Spájkujte vodič na pripojenie DC k Arduino D11
- Spájkovaním drôtu spojte CS s Arduino D12
Poznámka: Poradie vodičov displeja nie je logické. Toto je výsledok prvého použitia príkladu Adafruit a následnej zmeny pripojení, pretože používanie D13 má za následok nepretržitú červenú diódu LED na zariadení Arduino.
Alternatíva
Pre pripojenia SPI je možné použiť „normálny“poriadok. Na to je potrebné zodpovedajúcim spôsobom upraviť definíciu digitálneho výstupu programu Arduino v oledcontrol.cpp:
// Používanie softvéru SPI
// definície pinov
#define CS_PIN 12
#define RST_PIN 8
#define DC_PIN 11
#define MOSI_PIN 9
#define CLK_PIN 10
Krok 10: Rotačný kodér
Diagram ukazuje pripojenia Arduina k rotačnému kodéru (kodér je videný zhora).
- Odrežte 4 drôty s priemerom 45 mm a odizolujte 4 mm izoláciu oboch koncov.
- Pripojte Arduino GND k pravému hornému a dolnému strednému konektoru kodéra
- Pripojte Arduino D2 k ľavému dolnému rohu kodéra
- Pripojte Arduino D3 v pravom dolnom rohu kodéra
- Pripojte Arduino D4 vľavo hore k kodéru
Krok 11: Inštalácia v kryte
Nainštalujte všetku elektroniku do spodnej časti krytu:
- Nasuňte Arduino na zvislý otvor
- V spodnej priehradke posuňte hodiny v reálnom čase
- Zasuňte napájací zdroj a relé do horného priestoru a uistite sa, že relé sedí na držiakoch.
Krok 12: Pripojenie k elektrickej sieti / svetlu, ktoré sa má prepnúť
POZOR
Pri práci so sieťovou šnúrou dbajte na správnu starostlivosť a opatrenia a zaistite, aby bola sieťová šnúra odpojená
Nepreberám žiadnu zodpovednosť za žiadne straty alebo škody, ktoré vzniknú priamo alebo v dôsledku sledovania tohto projektu
- Pripojte fázu sieťového napájania k skrutkovacej svorkovnici relé A1 (vľavo).
- Pripojte fázu svetla, ktoré sa má prepnúť, na skrutkovú svorkovnicu relé B1 (vpravo).
- Na pripojenie neutrálneho vodiča striedavého prúdu, svetelného neutrálneho vodiča a nulového vodiča napájacieho zdroja použite samostatnú skrutkovaciu svorkovnicu.
- Aby ste uvoľnili napätie, namontujte okolo každého napájacieho kábla viazaciu pásku.
Krok 13: Dokončenie prílohy
V tomto kroku je montáž do krytu dokončená
- Zasuňte OLED displej cez montážny otvor displeja v strednej časti krytu.
- Zasuňte rotačný snímač cez otvor v strednej časti a uistite sa, že je ochrana proti otáčaniu zarovnaná. Namontujte rotačný snímač pomocou priloženej podložky a matice.
- Namontujte hornú časť krytu a zatvorte kryt namontovaním štyroch skrutiek M3x25 mm zospodu.
Krok 14: Programovanie Arduina
POZOR
Arduino je napájané priamo zo stabilného +5V zdroja namiesto použitia interného regulátora napájania Arduino. Preto nie je bezpečné pripojiť USB, keď Arduino získava energiu zo zdroja napájania.
Pred použitím pripojenia Arduino USB vždy odpojte sieť 230 VAC.
Načítajte program časovača Arduino z GitHubu.
Tento program používa Arduino IDE, ktoré je možné získať tu.
Program používa nasledujúce ďalšie knižnice:
SSD1303Ascii
Knižnica Arduino Wire
Všimnite si toho, že sa používa aj knižnica dusk2dawn, ale je zahrnutá ako kód kvôli zmene jej rozhrania.
Na zaistenie správneho výpočtu súmraku / úsvitu je potrebné nastaviť zemepisnú dĺžku, šírku a časové pásmo.
Ako je popísané v príklade dusk2dawn, jednoduchým spôsobom, ako nájsť zemepisnú dĺžku a šírku pre akékoľvek miesto, je nájsť miesto v Mapách Google, kliknúť pravým tlačidlom na miesto na mape a vybrať „Čo je tu?“. V spodnej časti uvidíte kartu so súradnicami.
Zemepisná dĺžka a šírka je v programe naprogramovaná v riadkoch 19 a 20 na Dusk2Dawn.cpp:
/* Tu je potrebné nastaviť zemepisnú šírku a dĺžku vašej polohy.
* * TIP: Jednoduchým spôsobom, ako nájsť zemepisnú dĺžku a šírku pre akékoľvek miesto, je * nájsť miesto v Mapách Google, kliknúť pravým tlačidlom na miesto na mape a * vybrať „Čo je tu?“. V spodnej časti sa zobrazí karta so súradnicami *. */ #define LATITUDE 52.097105; // Utrecht #define LONGTITUDE 5.068294; // Utrecht
Časové pásmo je tiež napevno kódované v riadku 24. Dusk2Dawn.cpp. Štandardne je nastavené na Holandsko (GMT + 1):
/* Sem zadajte svoje časové pásmo (posunuté voči GMT).
*/ #define TIMEZONE 1
Pri prvom programovaní Arduina je potrebné inicializovať pamäť EEPROM. Za týmto účelom zmeňte Timer.cpp riadok 11 na inicializáciu EEPROM:
// zmena na true pri prvom programovaní
#define INITIALIZE_EEPROM_MEMORY nepravda
Nahrajte program do Arduina a spustite Arduino.
Zakážte inicializáciu EEPROM a znova nahrajte program do Arduina. Časovač si teraz zapamätá nastavenia času prepnutia pri reštarte.
Krok 15: Nastavenie času a časov prepínania
Koncepty interakcie s používateľom:
- Krátke stlačenie slúži na potvrdenie výberov. Navyše na hlavnej obrazovke časovača zapnete alebo vypnete svetlo krátkym stlačením.
- Dlhé stlačenie slúži na vstup do ponuky z hlavnej obrazovky časovača. Kdekoľvek v ponuke sa dlhým stlačením vrátite na hlavnú obrazovku časovača.
- '>' Výberový kurz. Tento kurzor označuje zvolenú možnosť v ponuke.
Hlavná obrazovka časovača
Na hlavnej obrazovke časovača sa zobrazuje:
Deň v týždni Ne
Aktuálny čas 16:00
Aktuálny stav časovača a čas nasledujúceho prepnutia Časovač VYPNUTÝ do 17:12
Čas svitania a súmraku Svitanie 08:05 Súmrak 17:10
Nastavenie správneho času
Do ponuky vstúpite dlhým stlačením. Zobrazia sa nasledujúce možnosti:
SpäťNastaviť časTýždenný programVíkendový programMožnosti
Vyberte položku Nastaviť čas a nastavte dátum a čas hodín reálneho času. Zadajte správne hodnoty pre:
Rok, Mesiac, Deň, Čas
Časovač automaticky určí deň v týždni. Prepínanie letného času sa vykonáva aj automaticky. Letný čas je implementovaný iba pre európske časové pásmo.
Nastavenie programu časovača
Časovač má 2 programy, jeden na dni v týždni, jeden na víkend. Všimnite si toho, že piatok je považovaný za súčasť víkendu, svetlá môžu svietiť o niečo dlhšie.
Každý časovač má zapínací a vypínací moment. Moment môže byť buď:
- Čas: Presne určený čas
- Dawn: Prepínanie podľa vypočítaného času úsvitu
- Súmrak: Prepínač založený na vypočítanom čase súmraku
Za súmraku a svitania je možné zadať korekčnú hodnotu 59 minút pred alebo po.
Príklady:
Ak chcete zapnúť svetlo na celú noc, vyberte možnosť Zapnúť (súmrak + 10 minút), Vypnúť (úsvit - 10 minút)
Ak chcete večer zapnúť svetlo, vyberte položku Zapnúť za súmraku, Vypnúť v čase: 22:30.
možnosti
Na obrazovke možností je možné nastaviť časový limit na prepínanie obrazovky.
Keď je obrazovka vypnutá, stlačením otočného gombíka enkodéra sa vrátite na hlavnú obrazovku časovača.
Odporúča:
Zobrazenie binárnych hodín BigBit: 9 krokov (s obrázkami)
Displej binárnych hodín BigBit: V predchádzajúcom inštruovateľnom (binárne hodiny Microbit) bol projekt ideálny ako prenosný stolný spotrebič, pretože displej bol dosť malý. Preto sa zdalo vhodné, aby ďalšia verzia bola verzia s krbom alebo stenou, ale oveľa väčšia.
FeatherQuill - 34+ hodín bez rušivého písania: 8 krokov (s obrázkami)
FeatherQuill - 34+ hodín bez rušivého písania: Píšem si, čím sa živím, a väčšinu pracovného dňa trávim sedením pred stolovým počítačom a chrlením článkov. Postavil som FeatherQuill, pretože som chcel uspokojivý zážitok z písania, aj keď som vonku. Toto je špecializovaný, zvláštny
Ako používať modul hodín v reálnom čase (DS3231): 5 krokov
Ako používať hodinový modul v reálnom čase (DS3231): DS3231 je nízkonákladový, extrémne presný hodiny v reálnom čase I2C (RTC) s integrovaným kryštálovým oscilátorom (TCXO) s teplotnou kompenzáciou a kryštálom. Zariadenie má vstup na batériu a udržiava presné meranie času pri napájaní
Výroba prsteňových hodín Arduino OLED: 5 krokov
Výroba prsteňových hodín Arduino OLED: Kúpil som si malý OLED displej, ktorého čistá a jasná stránka púta moju pozornosť. Ale čo s tým môžem robiť? V skutočnosti ide o to, ako sa s tým môžem pochváliť … Lol. Keď som sa pozrel na plagát Pána prsteňov, ktorý je mojou obľúbenou filmovou sériou,
Vytvorenie hodín z hodín: 11 krokov (s obrázkami)
Vytvorenie hodín z hodín: V tomto návode vezmem existujúce hodiny a vytvorím to, čo považujem za lepšie. Prejdeme z obrázku vľavo na obrázok vpravo. Predtým, ako začnete s vlastnými hodinami, uvedomte si, že opätovné zostavenie môže byť náročné, pretože