Obsah:
- Krok 1: Seznam dílů a nástroje
- Krok 2: Připravte si OLED displej a hodiny v reálném čase
- Krok 3: Připravte rotační kodér
- Krok 4: Příloha
- Krok 5: Vypněte LED napájení Arduino (volitelně)
- Krok 6: Napájení + polovodičové relé
- Krok 7: Arduino Nano + napájecí zdroj + polovodičové relé
- Krok 8: Hodiny Arduino Nano + v reálném čase
- Krok 9: Připojte OLED displej
- Krok 10: Rotační kodér
- Krok 11: Instalace do skříně
- Krok 12: Připojení k síti / světlo, které chcete přepnout
- Krok 13: Dokončení přílohy
- Krok 14: Programování Arduina
- Krok 15: Nastavení času a spínacích časů
Video: Časovač hodin soumraku/úsvitu Arduino: 15 kroků
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:22
Souhrn:
Tento časovač založený na Arduinu může přepínat jedno světlo 220 V za soumraku, za úsvitu nebo v určený čas.
Úvod:
Některá světla v mém domě se automaticky zapínají za soumraku, a to buď do předem nastaveného času, nebo do úsvitu (celou noc).
Umístění světel neumožňuje použití světelného senzoru. Běžné dostupné časovače hodin se zapnou v určitý čas. Zapnutí za soumraku proto vyžaduje pravidelnou úpravu nastavení časového programu.
Jako příjemnou výzvu jsem se rozhodl místo toho postavit vlastní samostatný časovač založený na Arduinu. Pomocí hodin reálného času a knihovny Dusk2Dawn určuje čas, kdy se musí světla zapnout nebo vypnout. Příloha pro tento časovač je vytištěna 3D a najdete ji na Thingiverse. Kód Arduino pro tento projekt najdete na GitHubu.
Při tvorbě tohoto časovače jsem se inspiroval mnoha návrhy a obvody na internetu. Děkuji všem přispěvatelům, kteří nejsou výslovně uvedeni.
Pro čitelnost jsou v krocích podle potřeby zobrazeny dílčí diagramy, místo úplného schématu zapojení.
Alternativní řešení:
Namísto samostatného časovače existuje mnoho řešení, kde inteligentní domácí automatizační systém řídí světla. Mým cílem bylo mít nezávislé řešení, které nezávisí na připojení WIFI (nebo jiném).
Omezení:
Kód dodaný s tímto projektem zahrnoval implementaci změn letního času založenou na evropském systému letního času.
Krok 1: Seznam dílů a nástroje
Díly:
Celkové náklady na součásti (bez 3D tisku) přibližně 30 EUR -.
- Arduino Nano V3 (kompatibilní) bez záhlaví
- Napájení 5V 0,6A (34 x 20 x 15 mm)
- Polovodičové relé 5V - aktivní nízké - 2A 230VAC
- Hodiny reálného času DS3231 (malé)
- 0,96”OLED displej SPI 128*64 pixelů
- Rotační kodér - EC11 - 20 mm
- Knoflík 6 mm hřídel 15 mm * 17 mm
- Deska s plošnými spoji
- 4* šrouby M3x25 mm
- 3D tištěná příloha
- Smršťovací bužírky
- Dráty
- Šroubová svorkovnice (pro připojení neutrálních vodičů)
Potřebné nástroje:
- Páječka
- Pájecí drát
- Odpájecí čerpadlo
- Odizolovače drátu
- Řezačky
- 3D tiskárna (pro tisk přílohy)
- Různé malé nástroje
VAROVÁNÍ
Tento obvod pracuje na 230 V AC a pokud nejste zvyklí pracovat se síťovým napětím nebo nemáte dostatečné zkušenosti s prací se síťovým napětím 230 V AC, držte se od tohoto projektu stranou
Nepřijímám žádnou odpovědnost za jakoukoli ztrátu nebo škodu, která vznikne přímo v důsledku nebo v důsledku sledování tohoto projektu
Při práci se síťovým napájením se vždy doporučuje věnovat náležitou péči a preventivní opatření
Krok 2: Připravte si OLED displej a hodiny v reálném čase
Pouzdro s 3D tiskem je navrženo pro minimální velikost. V důsledku toho je třeba odstranit záhlaví OLED displeje a hodin reálného času.
Při přípravě na další krok odstraňte veškerou zbývající pájku z otvorů pomocí odpájecího čerpadla.
Krok 3: Připravte rotační kodér
Rotační kodér má tenké konektory. Abyste předešli poškození, namontujte na kodér kus desky s plošnými spoji.
Na obrázku je již připraveno také zemní spojení (vpravo nahoře a uprostřed dole).
Poznámka: Zajistěte, aby rotační kodér s deskou s plošnými spoji zapadl do skříně, aniž byste se dotkli Arduina. Může být vyžadováno vybroušení desky s plošnými spoji, aby dobře přiléhalo.
Krok 4: Příloha
Vytiskněte tři části krytu pomocí 3D tiskárny. Viz pokyny na Thingiverse.
Krok 5: Vypněte LED napájení Arduino (volitelně)
Aby se zabránilo tomu, že v časovači svítí zeleně, lze LED napájení Arduina deaktivovat.
Tato úprava je volitelná.
Modifikace Arduino Nano spočívá v odstranění odporu vedle napájecího LED (viz červený kruh na obrázku).
Krok 6: Napájení + polovodičové relé
V tomto kroku jsou napájecí zdroj a polovodičové relé kombinovány a namontovány ve spodní části skříně.
Připojení mezi napájecím zdrojem a relé je provedeno ve spodní části těchto komponent. K připojení k Arduinu bude použita šroubová svorkovnice relé.
Poznámka: Při připojování zajistěte, aby montážní otvory polovodičového relé zůstaly volné.
- Pájejte propojovací vodič mezi polovodičovým relé A1 k jednomu ze střídavých připojení napájecího zdroje
- Pájejte vodič k druhému střídavému připojení napájecího zdroje (bude připojeno k svorkovnici neutrálního šroubu v kroku 7)
- Pájecí vodič mezi napájecím zdrojem -Vo k relé DC-
- Pájením drátu připojte napájecí zdroj +Vo k relé DC +
Poznámka: Může být nutné zkrátit vodiče na napájecím zdroji a relé, aby se vešly do skříně.
Krok 7: Arduino Nano + napájecí zdroj + polovodičové relé
V tomto kroku je Arduino Nano připojeno k napájecímu zdroji a polovodičovému relé.
- Odřízněte dva dráty o délce přibližně 70 mm. Odizolujte 30 mm izolace na jedné straně a 4 mm na druhé straně.
- Stranu připájejte 30mm odizolovanou izolací k Arduinu +5V a GND, drát protáhněte
- Odřízněte dvě smršťovací bužírky o délce 20 mm a namontujte je na 25 mm odizolovanou část. Tím se izolují vodiče až ke spojení s montážní šroubovou svorkovnicí DC+ a DC- polovodičového relé.
- Pamatujte, že vodiče pro GND a +5V je třeba křížit, aby se správně připojily ke šroubové svorkovnici relé.
- Odřízněte drát o délce přibližně 40 mm a odizolujte oba konce izolací o průměru 4 mm. Pájejte jednu stranu na připojení A2 na zadní straně Arduina a druhou stranu připojte na připojení CH1 šroubové svorkovnice pro montáž na polovodičovou montáž.
VAROVÁNÍ
Arduino je napájeno přímo ze stabilního napájecího zdroje +5V místo použití interního regulátoru napájení Arduino. Proto není bezpečné připojovat USB, když Arduino dostává energii z napájecího zdroje.
Před použitím připojení Arduino USB vždy odpojte síť 230VAC.
Krok 8: Hodiny Arduino Nano + v reálném čase
V tomto kroku jsou hodiny reálného času připojeny k Arduinu, částečně pomocí kabelů připravených v předchozím kroku.
- Pájejte vodič přicházející z Arduino GND (také připojený k DC- relé) k „-“hodin reálného času.
- Pájejte vodič přicházející z Arduina+5V (také připojený k DC+relé) k „+“hodin reálného času.
- Odřízněte dva dráty o délce přibližně 40 mm a odizolujte 4 mm izolace obou konců.
- Pájejte vodič mezi Arduino A4 a hodinami reálného času D (SDA).
- Pájejte vodič mezi Arduino A5 a hodinami C v reálném čase (SCL).
- Tvarujte vodiče hodin reálného času tak, aby nerušily rotační kodér. K tomu musí být vodiče ve spodní části skříně.
Krok 9: Připojte OLED displej
V tomto kroku se do Arduina přidá OLED SPI displej.
- Odřízněte 2 dráty o délce 65 mm a odizolujte 4 mm izolace obou konců.
- Pájejte vodič na GND připojení OLED displeje. Tento vodič připájejte na izolovaný vodič smršťovací bužírky pocházející z Arduino GND (viz krok 4) a oba vodiče připojte ke šroubové svorkovnici polovodičového relé pro montáž na stejnosměrný proud.
- Pájejte vodič k připojení VCC OLED displeje. Tento vodič připájejte na izolovaný vodič smršťovací bužírky pocházející z Arduino + 5V (viz krok 4) a oba vodiče připojte ke šroubové svorkovnici polovodičového relé pro montáž na DC +.
- Odřízněte 5 drátů o délce 65 mm a odizolujte 4 mm izolace obou konců.
- Pájením drátu připojte D0 (CLK) k Arduino D10
- Pájením drátu připojte D1 (MOSI / DATA) k Arduino D9
- Pájením drátu připojte RES (RT) k Arduino D8
- Pájením drátu připojte DC k Arduino D11
- Pájením drátu připojte CS k Arduino D12
Poznámka: Pořadí vodičů displeje není logické. To je výsledek toho, že nejprve použijete příklad Adafruit a poté změníte připojení, protože použití D13 způsobí, že na Arduinu bude neustále svítit červená LED dioda.
Alternativní
Pro připojení SPI je možné použít „normální“objednávku. K tomu je třeba odpovídajícím způsobem upravit definici digitálního výstupu programu Arduino v oledcontrol.cpp:
// Pomocí softwaru SPI
// definice pinů
#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 připojení Arduina k rotačnímu kodéru (kodér při pohledu shora).
- Odřízněte 4 dráty o délce 45 mm a odizolujte 4 mm izolace obou konců.
- Připojte Arduino GND k pravému hornímu a dolnímu střednímu konektoru kodéru
- Připojte Arduino D2 vlevo dole k kodéru
- Připojte Arduino D3 v pravém dolním rohu kodéru
- Připojte Arduino D4 vlevo nahoře na kodéru
Krok 11: Instalace do skříně
Nainstalujte veškerou elektroniku do spodní části skříně:
- Nasuňte Arduino na svislý slot
- Ve spodní přihrádce zasuňte hodiny reálného času
- Zasuňte napájecí zdroj a relé do horního oddílu a ujistěte se, že relé sedí na držácích.
Krok 12: Připojení k síti / světlo, které chcete přepnout
VAROVÁNÍ
Při práci se síťovým adaptérem zajistěte náležitou péči a preventivní opatření, ujistěte se, že je napájecí kabel odpojen
Nepřijímám žádnou odpovědnost za jakoukoli ztrátu nebo škodu, která vznikne přímo v důsledku nebo v důsledku sledování tohoto projektu
- Připojte fázi střídavého proudu k šroubové svorkovnici relé A1 (vlevo).
- Připojte fázi spínaného světla k šroubové svorkovnici relé B1 (vpravo).
- Použijte samostatnou šroubovou svorkovnici k připojení neutrálního vodiče střídavého proudu, neutrálního vodiče a nulového vodiče napájecího zdroje.
- Pro odlehčení tahu připevněte kolem každého napájecího kabelu stahovací pásku.
Krok 13: Dokončení přílohy
V tomto kroku je montáž do skříně dokončena
- Zasuňte OLED displej skrz montážní otvor displeje ve střední části skříně.
- Protáhněte rotační kodér otvorem ve střední části a ujistěte se, že je zarovnání proti otočení zarovnáno. Namontujte rotační kodér pomocí přiložené podložky a matice.
- Namontujte horní část skříně a uzavřete skříň upevněním čtyř šroubů M3x25 mm zespodu.
Krok 14: Programování Arduina
VAROVÁNÍ
Arduino je napájeno přímo ze stabilního napájecího zdroje +5V místo použití interního regulátoru napájení Arduino. Proto není bezpečné připojovat USB, když Arduino dostává energii z napájecího zdroje.
Před použitím připojení Arduino USB vždy odpojte síť 230VAC.
Načtěte program časovače Arduino z GitHubu.
Tento program používá Arduino IDE, které lze získat zde.
Program používá následující další knihovny:
SSD1303Ascii
Knihovna Arduino Wire
Všimněte si, že je také použita knihovna dusk2dawn, ale zahrnuta jako kód kvůli změně jejího rozhraní.
Aby byl zajištěn správný výpočet soumraku / úsvitu, musí být nastavena zeměpisná délka, zeměpisná šířka a časové pásmo.
Jak je popsáno v příkladu dusk2dawn, jednoduchým způsobem, jak zjistit zeměpisnou délku a šířku pro jakékoli místo, je najít místo v Mapách Google, kliknout pravým tlačítkem na místo na mapě a vybrat „Co je tady?“. V dolní části uvidíte kartu se souřadnicemi.
Zeměpisná délka a šířka jsou v programu napevno zakódovány na řádku 19 a 20 v Dusk2Dawn.cpp:
/* Zde je třeba nastavit zeměpisnou šířku a délku vaší polohy.
* * TIP: Jednoduchý způsob, jak zjistit zeměpisnou délku a šířku pro jakékoli místo, je * najít místo v Mapách Google, kliknout pravým tlačítkem na místo na mapě a * vybrat „Co je tady?“. V dolní části uvidíte kartu se souřadnicemi *. */ #define LATITUDE 52.097105; // Utrecht #define LONGTITUDE 5.068294; // Utrecht
Časové pásmo je také pevně zakódováno v řádku 24. Dusk2Dawn.cpp. Ve výchozím nastavení je nastaveno na Nizozemsko (GMT + 1):
/* Zde zadejte své časové pásmo (posun k GMT).
*/ #define TIMEZONE 1
Při prvním programování Arduina je třeba inicializovat paměť EEPROM. Za tímto účelem změňte časovač.cpp řádek 11 na inicializaci EEPROM:
// při prvním programování změňte na true
#define INITIALIZE_EEPROM_MEMORY false
Nahrajte program do Arduina a spusťte Arduino.
Zakažte inicializaci EEPROM a nahrajte program znovu do Arduina. Časovač si nyní pamatuje nastavení času přepnutí při restartu.
Krok 15: Nastavení času a spínacích časů
Koncepce interakce s uživatelem:
- Krátké stisknutí slouží k potvrzení výběrů. Kromě toho na hlavní obrazovce časovače krátkým stisknutím zapnete nebo vypnete světlo.
- Dlouhé stisknutí slouží k vstupu do nabídky z hlavní obrazovky časovače. Kdekoli v nabídce se dlouhým stisknutím vrátíte na hlavní obrazovku časovače.
- ‘>‘Výběrové kurzory. Tento kurzor označuje vybranou možnost v nabídce.
Hlavní obrazovka časovače
Hlavní obrazovka časovače ukazuje:
Den v týdnu Su
Aktuální čas 16:00
Aktuální stav časovače a čas dalšího přepnutí Časovač VYP do 17:12
Úsvit a soumrak Dawn 08:05 Soumrak 17:10
Nastavení správného času
Dlouhým stisknutím vstoupíte do nabídky. Zobrazí se následující možnosti:
ZpětNastavit časTýdenní programVíkendový programMožnosti
Vyberte nastavit čas a nastavte datum a čas hodin reálného času. Zadejte správné hodnoty pro:
RokMěsícDenČas
Časovač automaticky určuje den v týdnu. Přepínání letního času probíhá také automaticky. Letní čas je implementován pouze pro evropské časové pásmo.
Nastavení programu časovače
Časovač má 2 programy, jeden pro týdenní dny, jeden pro víkend. Pátek je považován za součást víkendu, světla mohou svítit o něco déle.
Každý časovač má zapínací a vypínací moment. Okamžik může být buď:
- Čas: Přesně zadaný čas
- Dawn: Přepínání podle vypočítaného času úsvitu
- Soumrak: Přepínač založený na vypočítané době soumraku
Pro soumrak a úsvit je možné zadat opravnou hodnotu 59 minut před nebo po.
Příklady:
Chcete -li rozsvítit celou noc, vyberte zapnutí (soumrak + 10 minut), vypnutí (úsvit - 10 minut)
Chcete -li večer rozsvítit, vyberte Zapnout za soumraku, Vypnout v čase: 22:30.
Možnosti
Na obrazovce možností lze nastavit časový limit pro přepnutí obrazovky.
Když je obrazovka vypnutá, stisknutím otočného ovladače kodéru se vrátíte na hlavní obrazovku časovače.
Doporučuje:
Zobrazení binárních hodin BigBit: 9 kroků (s obrázky)
BigBit Binary Clock Display: V předchozím Instructable (Microbit Binary Clock) byl projekt ideální jako přenosný stolní spotřebič, protože displej byl docela malý. Zdálo se tedy vhodné, že další verze by měla být verze s krbovou nebo nástěnnou montáží, ale mnohem větší
FeatherQuill - 34+ hodin bez rušivého psaní: 8 kroků (s obrázky)
FeatherQuill - 34+ hodin bez rušivého psaní: Píšu se, abych se uživil, a většinu pracovního dne trávím sezením před stolním počítačem a chrlením článků. Postavil jsem FeatherQuill, protože jsem chtěl uspokojivý zážitek z psaní, i když jsem venku. Toto je vyhrazený, distrac
Výroba prstenových hodin Arduino OLED: 5 kroků
Výroba prstencových hodin Arduino OLED: Koupil jsem si malý OLED displej, jeho čistota a jasnost přitahují mou pozornost. Ale co s tím mohu dělat? Ve skutečnosti jde o to, jak to mohu předvést … Lol. Když jsem se podíval na plakát Pána prstenů, což je moje oblíbená filmová série
Unikátní model hodin poháněný servomotory Arduino: 5 kroků
Unikátní model hodin poháněný servomotory Arduino: S tímto návodem vám ukážu, jak vytvořit hodiny pomocí nano a servomotorů Arduino. K tomu budete potřebovat následující položky
Vytvoření hodin z hodin: 11 kroků (s obrázky)
Vytvoření hodin z hodin: V tomto Instructable vezmu stávající hodiny a vytvořím to, co považuji za lepší hodiny. Přejdeme z obrázku vlevo na obrázek vpravo. Než začnete s vlastními hodinami, vězte, že opětovné sestavení může být náročné, protože