Obsah:
- Krok 1: Vše rozeberte
- Krok 2: Tlačítka pro digitální nastavení
- Krok 3: Kondenzátor pro motor
- Krok 4: Nová tvář pro hodiny
- Krok 5: Digitální displej ze starého mobilního telefonu
- Krok 6: Připojení obvodů
- Krok 7: Spojovací deska pro snadné připojení
- Krok 8: Nastavení napájení
- Krok 9: Micro USB pro nabíjení a aktualizaci firmwaru
- Krok 10: Konečná montáž
- Krok 11: Kód
- Krok 12: Video krok za krokem
- Krok 13: Závěrečná slova
Video: Hodiny předpovědi počasí využívající starý alarm a Arduino: 13 kroků (s obrázky)
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:22
Ležel jsem rozbitý budík a přišel jsem s nápadem převést jej na hodiny a stanici pro předpověď počasí.
Pro tento projekt budete potřebovat:
- Starý kruhový budík
- Arduino Nano
- Modul senzoru BME280 (teplota, vlhkost, tlak)
- Modul LCD displeje od Nokia 5110
- Hodiny RTC DS1307
- Nabíječka lithiových baterií TP4056
- Stará Li-ion baterie zachráněna z mobilního telefonu
- Malý posilovací modul 3,7 až 5 V.
- Light Dependent Resistor (LDR - light meter)
- Bzučák (použitý zachráněný ze starého PC)
- 3 tlačítka
- Spousta rezistorů (2x10k, 270 ohmů) a tranzistor (2N2222A nebo podobný)
- Nějaká široká smršťovací trubka
- šrot PCB k použití jako ozdoba čelní desky
- Prodlužovací kabel Micro-USB (samice i samec jsou Micro-USB)
- Prototypová deska 2x8 cm a několik vodičů
Krok 1: Vše rozeberte
Nejprve jsem rozbil staré hodiny. Zvony, motor, rozbitý hodinový mechanismus …
Krok 2: Tlačítka pro digitální nastavení
Vzhledem k tomu, že nové hodiny budou plně digitální a uvnitř bude minipočítač, přidal jsem na boku 3 jednoduchá pěkně vypadající tlačítka.
Pomocí kousku hliníku jsem vyřízl překrytí a vytvořil štítek. Písmena pro štítky byla vytvořena pomocí děrovaček a černé značky.
Krok 3: Kondenzátor pro motor
Ponechám staré zvony pro napájení alarmu motorem. Starý rozbitý hodinový mechanismus měl keramický kondenzátor se štítkem 104. Odstranil jsem ho z desky s obvody a připájel přímo k motoru - to pomůže zabránit špičkám napájení při zapnutí motoru během alarmu. Je také důležité si uvědomit, že motor bude řízen tranzistorem, ale o tom později.
Krok 4: Nová tvář pro hodiny
Vzhledem k tomu, že jsem se rozhodl vytvořit novou tvář hodin - vzal jsem desku s obvody z hromady popelnice a pomocí stavěcí tepelné zbraně rychle odstranil všechny součásti. Otvor uprostřed je vytvořen pro digitální obrazovku nových hodin.
Krok 5: Digitální displej ze starého mobilního telefonu
Pro tento projekt jsem se rozhodl použít LCD obrazovku ze starého mobilního telefonu Nokia 5110. Tyto obrazovky jsou široce dostupné k prodeji jako modul, odebírají velmi málo energie a pro Arduino existují dobré knihovny. Pokud kupujete nový modul s obrazovkou 5110 - zachraňujete planetu, protože všechny nové moduly jsou vytvořeny ze zachráněných telefonů 5110, 3110 a 3210!
Krok 6: Připojení obvodů
Možná jste již hádali, že jsem plánoval použít desku Arduino k ovládání těchto hodin. Projekt je snadno opakovatelný i pro začínající fanoušky Arduina, protože jsem nevytvořil vlastní desky plošných spojů. Je to deska Arduino Nano s moduly, které jsou k ní připojeny - snímač teploty, tlaku a vlhkosti BME280, hodiny DS1307 RTC, nabíječka lithiové baterie TP4056, malý posilovací modul 3,7 až 5 V, odpor závislý na světle (LDR - měřič světla) a bzučák (převzato ze starého počítače).
Podívejte se také na náčrty - ukazují všechna spojení. Myslím, že je vše velmi snadno čitelné a srozumitelné, ale pokud máte nějaké otázky, zeptejte se v níže uvedených komentářích.
Několik poznámek k nastavení:
- Motor je připojen přímo z baterie přes tranzistor. Arduino ovládá tranzistor přes odpor a PWM pin D5.
- Piny D7-12 se používají pro konektor LCD. Uzemnění a VCC jsou připojeny k kolejnici na spojovací desce.
- Na ciferník byl nainstalován LDR a rezistor + 3 odchozí vodiče byly připájeny přímo na zadní stranu ciferníku.
- Pro připojení tlačítkem jsem použil interní funkci PULLUP uvnitř Arduina. K přerušení je připojeno tlačítko Nabídka a až později jsem si uvědomil, že pro přerušení můžete použít také interní PULLUP. Přerušení pro tlačítko Menu je vyžadováno, aby kód neustále skenoval stav tlačítek.
- Hodiny budou sledovat a zobrazovat také stav baterie, takže je baterie přímo připojena na pin A0. Napětí baterie není nikdy vyšší než 4,2 V, takže je bezpečné připojit baterii přímo k analogovému pinu Arduino.
- Bzučák je přímo připojen k PWM pinu D6. Ačkoli to není dobrá praxe, vyvázl jsem s tím, protože Arduino Nano zvládne vyšší specifikace, než bylo uvedeno, a také proto, že bzučák nebude nepřetržitě fungovat. Stejné nastavení by snadno vypálilo piny na deskách ESP, takže v těchto případech doporučuji použít ovládání tranzistorem.
- Hodiny již měly vypínač, tak jsem se rozhodl je použít. Na zádech to vypadá přirozeně.
Krok 7: Spojovací deska pro snadné připojení
Všechny moduly vyžadují kladné a uzemnění, proto jsem se rozhodl použít prototypovou desku 2x8 cm a připájet k ní 5V a zemnící lišty. Také jsem tam vytvořil malou I2C lištu, protože jsem měl několik modulů využívajících rozhraní I2C.
Na druhou stranu jsem připájel standardní piny, abych mohl v případě potřeby moduly připojit a odpojit.
Byly tam také pájeny některé další komponenty, jako je tranzistor a odpor pro ovládání motoru a odpor pro tlačítko Menu, které používá Přerušení. Schémata jsem ukázal v předchozí části.
btw Vidíte snímač LDR již nainstalovaný na ciferníku na prvním obrázku?
Krok 8: Nastavení napájení
K napájení těchto hodin jsem použil starou lithium-iontovou baterii z mobilu. Vyměněné baterie mobilních telefonů mají obvykle stále dobrou kapacitu (alespoň polovinu toho, co bylo při nové). Jejich výhodou je, že mají integrovaný obvod ochrany proti vybití a jsou také velmi tenké, takže je lze použít v malých vesmírných scénářích.
Chcete -li připojit baterii, jednoduše připájejte vodiče k pólům + a - na baterii. Nebojte se, buňku nepoškodíte, protože mezi kolíky a chemikáliemi článku je ovladač a prázdné místo.
Na tomto obrázku můžete vidět baterii a také regulátor nabíjení TP4056 a také 5V posilovač propojený dohromady a k baterii. Použil jsem smršťovací hadičku, aby bylo vše izolované a kompaktní.
Krok 9: Micro USB pro nabíjení a aktualizaci firmwaru
Jakmile jsem vše připájel, nalepil jsem na zadní panel bzučák a snímač teploty/tlaku/vlhkosti. Všichni krásně zapadli do stávajících slotů ze starých ovládacích prvků ciferníku hodin.
Nyní bylo načase nainstalovat port Micro USB na zadní stranu. Proč Micro USB, když Nano používá Mini USB? Jednoduše proto, že v domácnosti je většina kabelů USB od mobilních telefonů a bylo by vhodné, kdyby to zvládly i hodiny.
Protože jsem jej chtěl použít jak k nabíjení, tak k aktualizaci funkcí hodin a meteorologické stanice - odizoloval jsem USB kabel, vedl napájecí kabely přes nabíječku TP4056 a datové/datové vodiče přímo do USB zásuvky Arduino Nano. Můžete to vidět na schématu, které jsem ukázal v předchozích částech.
Krok 10: Konečná montáž
Nyní bylo načase zabalit vše zpět do původních hodin. K izolaci součástí a modulů jsem použil smršťovací bužírku. Dokonce i Arduino bylo zabaleno do smršťovací trubice.
Umístěním ukazatele myši na první fotografii zobrazíte umístění jednotlivých komponent.
Krok 11: Kód
Jak vidíte, hodiny jsou uvnitř úplně zabalené. To umožnilo vytvořit něco sofistikovanějšího než staré hodiny, které jsem měl - vzhledem k tomu, že samozřejmě existují určité programovací schopnosti. Napsal jsem počáteční kód, ale požádal jsem svého přítele, aby zakročil a pomohl mi.
Kromě samotných hodin jsou to zatím funkce, které tento projekt již podporuje:
- Zobrazení času a data (stejně jako čas a aktivace alarmu na stejné obrazovce)
- Obrazovka se rozsvítí ve tmě nebo při detekci pohybu (na základě změn světla)
- Předpověď počasí (slunečno, zataženo, deštivo)
- Zobrazení teploty, tlaku a vlhkosti (u vlhkosti indikuje, zda není příliš suchá)
- Nabídka pro nastavení: alarm, změna času, povolení/zakázání zobrazení data, povolení/zakázání zvukových upozornění na změnu počasí a přepínání mezi imperiálními a metrickými jednotkami
- Nastavení alarmu - zapnutí/vypnutí, nastavení času, nastavení melodie a/nebo zvonků pro upozornění
Nejnovější kód:
Kód bude v budoucnu aktualizován o nové funkce, takže nezapomeňte zkontrolovat aktualizace firmwaru:-)
Pokud jste ve světě Arduino noví, doporučuji provést tyto kroky:
- Nainstalujte si na desku ovladač USB (např. CH340)
- Nainstalujte Arduino IDE
- Nainstalujte knihovny použité v tomto projektu
- Stáhněte si z GitHubu a nahrajte nejnovější kód projektu do hodin pomocí kabelu Micro USB (můžete jej použít z mobilního telefonu)
Algoritmus prognózování je následující:
Arduino Nano získává nová data ze senzoru BME280 každých 12 minut. Cyklus měření je 3 hodiny. Po 3 hodinách se rozsah monitorování tlaku (maximální a minimální hodnota během 3 hodin) posune vzhledem k průměrným hodnotám v aktuálním rozsahu a aktuální hodnotě tlaku. Každou hodinu se uloží směr změny tlaku s aktuální hodnotou tlaku. Pro výpočet prognózy se používají jednotky kPa.
Kvůli paměťovým omezením Nano musel být algoritmus předpovědí zjednodušen. Ale i přes zjednodušení je schopen předpovědět srážky v příštích 12–24 hodinách, i když předpovědi jsou nyní pesimističtější - výchozí hodnota je „Zataženo“.
"Slunečné počasí" - aktuální hodnota tlaku je vyšší než normálně o 7 bodů, tlak neklesá a rozdíl mezi minimální a maximální hodnotou za poslední 3 hodiny není větší než 2 body.
Možné srážky „Deštivé počasí“- aktuální tlak je o 15 bodů nižší než normál a rozdíl mezi minimální a maximální hodnotou je více než 2 body NEBO Tlak klesá a rozdíl mezi aktuální hodnotou a normou je 3 - 30 bodů.
Pro zlepšení kvality předpovědí se doporučuje změnit "nadmořskou výšku" v hlavním souboru kódu. Nadmořskou výšku můžete získat například zde:
Krok 12: Video krok za krokem
Pokud bylo obtížné sledovat to, co jsem udělal výše, zde je také video verze se všemi zobrazenými kroky.
Krok 13: Závěrečná slova
Celkově z mého pohledu není obtížnost tohoto projektu vysoká a zvládl by to každý. Pokud nemáte staré hodiny, můžete je najít levně na místním bleším trhu.
Všechny komponenty mají nízkou cenu a jsou k dispozici na Sparkfun/Aliexpress/eBay/Amazon.
Doufám, že vás tento návod zaujal a byl bych vděčný, kdybyste mohli podpořit můj první soutěž Instructable in the Clock.
Runner Up in the Clocks Contest
Doporučuje:
DIY Jednoduché předpovědi počasí Arduino: 3 kroky
DIY Simple Arduino Weather Forecaster: Je to skvělý nástroj pro krátkodobé místní předpovědi počasí
Zobrazení předpovědi počasí ve stylu Art Deco: 9 kroků (s obrázky)
Zobrazení předpovědi počasí ve stylu Art Deco: Dobrý den, přátelé, v tomto instruktážním videu uvidíme, jak vytvořit tento displej s předpovědí počasí. Pro zobrazení předpovědi počasí používá mini desku Wemos D1 spolu s 1,8palcovou barevnou TFT obrazovkou. Také jsem navrhl a 3D vytiskl kryt pro
The WunderThing: bateriové, magnetické, předpovědi počasí ESP8266 IoThing!: 6 kroků
WunderThing: Magnetický, na baterie napájený, ESP8266 předpověď počasí IoThing !: Dobrý den, pro můj vůbec první instruktáž vám řeknu o Wunderful Thing. Jednalo se o poměrně nedávný projekt, kde jsem měl za cíl postavit magnet na ledničku s předpovědí počasí! Volbou ovladače pro tento projekt byla věc Sparkfun
Mraky s předpovědí počasí: 11 kroků (s obrázky)
Cloud předpovědi počasí: Tento projekt vytváří cloud počasí pomocí Raspberry Pi Zero W. Připojuje se k rozhraní Yahoo Weather API a v závislosti na předpovědi na další den mění barvy. Inspirovala jsem se Wisconsinskou plynovou budovou, která má na střeše plamen, který mění
3denní kanál předpovědi počasí: 4 kroky
3denní předpověď počasí: 3denní předpověď počasí poskytuje komplexní 3denní předpověď počasí na požadovaném místě nebo na základě polohy vaší IP adresy. Projekt využívá službu Wunderground Weather API, která poskytuje odpovědi formátu JSON kdykoli