
Obsah:
2025 Autor: John Day | [email protected]. Naposledy změněno: 2025-01-23 14:38




Projekty Fusion 360 »
Jedná se o hodiny založené na Arduinu s OLED displejem, které fungují jako hodiny s datem, jako časovač spánku a jako noční světlo. Různé „funkce“jsou ovládány akcelerometrem a jsou voleny otáčením hodin kostky.
Chtěl jsem nový noční stolek, ale nechtěl jsem utrácet peníze za efektní hodiny, které měly spoustu funkcí, které bych nevyužil. Kromě toho jsem sbíral komponenty a senzory, které právě ležely kolem, a tak jsem se rozhodl použít je k výrobě vlastních hodin!
Pro tento projekt jsem měl několik cílů:
- Zobrazte ten čas s možností vypnout
- Zahrnout funkci nočního světla
- Včetně 15minutového časovače spánku s alarmem
- Umět zobrazit datum
Zásoby
- Arduino Pro Mini 5V
- 3osý akcelerometr ADXL335
- Přesné hodiny reálného času DS3231 AT24C32 IIC
- Mini reproduktor
- OLED displej SSD1306 IIC 0,96 palce
- Napájení 5V DC
- LED x 2
- Rezistory 220ohm x 2
- DC barel jack
- Drát
-
Nástroje
- Střihače/odizolovače drátu
- Páječka/pájka
- 3D tiskárna (volitelně)
- Programátor FTDI pro rozhraní mezi Pro mini a Arduino IDE
Krok 1: Prototypujte a otestujte obvod



Připojte komponenty k Arduinu. Uspořádání nebo schematické pole je uvedeno výše. RTC a OLED používají protokol I2C k propojení s Arduinem a využití pinů A4 a A5. Akcelerometr používá 3 analogové piny. Použil jsem A0, A1, A2. LED diody a Piezo mohou používat jakýkoli z digitálních pinů, použil jsem 4 a 8.
Rozhraní s každou komponentou. Musel jsem nainstalovat nějaké knihovny Arduino pro rozhraní s každou komponentou. Jsou zobrazeny na obrázku výše.
Kódujte pomocí Arduino IDE. Prošel jsem několik příkladů skic poskytnutých každou knihovnou, abych zjistil správnou syntaxi pro každou komponentu na základě toho, co jsem chtěl, aby dělali. Ke každé komponentě jsem vymyslel náčrt, abych je jednotlivě otestoval. Jsou uvedeny níže. Začal jsem s piezo reproduktorem, protože to bylo nejjednodušší. Ve skutečnosti nepotřebovala speciální knihovnu, jen konkrétní funkci, která nastavuje frekvenci a zvuk. Aby LED diody fungovaly, bylo nutné vytáhnout jeden z digitálních pinů vysoko a nízko. Dále jsem přešel na OLED a nastavení bylo také docela jednoduché. Níže uvedená skica je ukázkou Adafruit, která prochází všemi animacemi/texty, které lze zobrazit. Pak jsem se pokusil dostat RTC do práce. Náčrt, který jsem poskytl, byl součástí příkladu v knihovně, který získá aktuální čas a vytiskne jej na sériový monitor. Nakonec jsem pomocí uvedeného příkladu otestoval akcelerometr. Výstupy každé osy jsou vytištěny na sériovém monitoru.
Nyní je čas dát vše dohromady!
Krok 2: Hlavní program


Nyní, když vím, že vše funguje individuálně, mohu začít vymýšlet program, který vše spojí. Níže budu diskutovat o svém postupu při psaní programu, ale můžete si stáhnout níže uvedený úplný kód a použít jej pro svůj vlastní projekt. Snažil jsem se zanechat konkrétní komentáře, abyste si kód mohli projít sami.
Potřeboval jsem zobrazit čas a datum na OLED, což bylo docela jednoduché. Jen jsem musel vytisknout aktuální čas na displej místo sériového monitoru. Bylo několik věcí týkajících se formátování, které jsem musel zohlednit, aby zobrazoval 12hodinový formát namísto 24 a přidával/odstraňoval 0, kde to bylo vhodné. Datum bylo podobné s přidáním zobrazení měsíce a dne v obdélnících nakreslených na obrazovce. Použil jsem vnořenou smyčku FOR k vytvoření časovače a po skončení smyčky jsem spustil piezo. Rozhodl jsem se nechat blikat obrazovku, když se rozezněl bzučák, což byla základní animace převzatá z demo Adafruit. Otočením kostky zpět do polohy hodin jsem jediným způsobem vypnul bzučák. Nakonec jsem chtěl způsob, jak vypnout obrazovku, což bylo dosaženo pouhým vymazáním displeje. Nyní jsem potřeboval, aby všechny tyto funkce fungovaly na základě výstupů z akcelerometru. Pomocí skriptu Accel_Test jsem určil souřadnice os každé polohy, ve které jsem chtěl, aby se každá funkce spustila. Ručně jsem přesunul čip akcelerometru a zaznamenal údaje na sériový monitor. Výše uvedený diagram udává výstupní souřadnice každé polohy v ŠEDÉ. Souřadnice v ČERVENÉ jsou hranice mezi každou pozicí a já jsem tato čísla použil pro svůj program. Ve 4 pozicích zobrazení jsou potřeba pouze souřadnice osy X a Y. Pátá poloha nočního světla využívá osu Z. Použil jsem jednoduché příkazy IF pro polohy akcelerometru před každým funkčním blokem. Pokud použijete jiný akcelerometr, mohou se tyto souřadnice lišit a bude třeba je v programu upravit.
Krok 3: 3D tisk kostky



Myslel jsem, že kostka bude nejlepší design, který by vyhovoval tomu, jak chci, aby hodiny fungovaly. K výrobě modelu jsem použil fusion360. Potřeboval jsem výřez pro OLED a barel jack. Také jsem chtěl snadný přístup k výměně článkové baterie v RTC poté, co bylo vše zapojeno. Potřeboval jsem slot, abych udržel Arduino v orientaci, kterou by bylo možné v případě potřeby snadno přeprogramovat. Navíc musel být kryt snadno odstranitelný, abych měl přístup k Arduinu. Model CAD můžete vidět výše a soubory STL jsou níže.
Tělo jsem vytiskl černou PLA s 20% výplní, rozlišením 0,2 mm.
Pouzdro nebo objímka byla potištěna pružným filamentem Solutech se 100% výplní, rozlišení 0,3 mm. Použil jsem tento materiál, protože má určitou flexibilitu, díky které se snadno protáhne přes tělo. Má také měkčí pocit při otáčení hodin. Nakonec jsem vybral čiré vlákno, aby prosvítaly LED diody pro noční světla.
Krok 4: Sestavení



Zapojil jsem vše dohromady pomocí schématu z kroku 1. Použil jsem malý kousek perfboardu k připojení všech běžných vodičů, takže jsem nemusel pájet více vodičů na jeden pin na Arduinu. K zajištění všeho na svém místě kromě Arduina bylo použito horké lepidlo. Bylo to jen zasunuto do určeného slotu. Ujistil jsem se, že deska akcelerometru je kolmá a rovná na spodní části těla, takže souřadnice v kódu není třeba měnit.
Krok 5: Nahrajte a jste hotovi




Nyní lze konečný program nahrát do hodin a nastavit správný čas. Akumulátor by měl udržovat čas i při odpojeném napájení. Nasuňte 3D vytištěný rukáv přes tělo a skryjte všechny součásti a máte kompletní kostkové hodiny!
Doufám, že vás tento projekt baví a bude pro vás stejně užitečný jako mě. Hezkou součástí tohoto projektu je, že je velmi přizpůsobitelný. Nebojte se přidat své vlastní různé funkce, jako je funkce alarmu, používat různé komponenty jako větší OLED, FM rádiový přijímač atd. Šťastné tvoření!
Doporučuje:
DIY multifunkční měřič energie V2.0: 12 kroků (s obrázky)

DIY multifunkční měřič energie V2.0: V tomto návodu vám ukážu, jak vyrobit multifunkční měřič energie na bázi Wemos (ESP8266). Tento malý měřič je velmi užitečné zařízení, které monitoruje napětí, proud, výkon, energii a kapacitu. Kromě toho také monitoruje ambi
DIY Arduino Multifunkční měřič energie V1.0: 13 kroků (s obrázky)

DIY Arduino Multifunction Energy Meter V1.0: V tomto Instructable vám ukážu, jak vyrobit Arduino multifunkční měřič energie. Tento malý měřič je velmi užitečné zařízení, které zobrazuje důležité informace o elektrických parametrech. Zařízení může měřit 6 užitečných elektrických parametrů
DIGITÁLNÍ MULTIFUNKČNÍ MĚŘICÍ NÁSTROJ: 21 kroků (s obrázky)

DIGITÁLNÍ MULTIFUNKČNÍ MĚŘICÍ NÁSTROJ: Ahoj všichni. Vždy jsem chtěl zařízení, které by mi pomohlo vyrovnat postel 3D tiskárny, a nějaké další zařízení, které by mi pomohlo získat přibližnou délku zakřiveného povrchu, abych mohl snadno vystřihnout správnou délku nálepky
Úhlové poziční ovládání krokového motoru 28BYJ-48 s Arduino a analogovým joystickem: 3 kroky

Úhlové poziční ovládání krokového motoru 28BYJ-48 s Arduino a analogovým joystickem: Toto je řídicí schéma pro krokový motor 28BYJ-48, které jsem vyvinul pro použití jako součást projektu disertační práce v posledním roce. Nikdy předtím jsem to neviděl, takže jsem si myslel, že nahraji to, co jsem objevil. Naštěstí to pomůže někomu dalšímu
Multifunkční digitální teploměr: 5 kroků (s obrázky)

Multifunkční digitální teploměr: Tento návod vám ukáže, jak vytvořit multifunkční platformu s teploměrem, chronografem (časovač odpočítávání), časovač odpočítávání a světelný displej. Má být také platformou pro další analogové senzory nebo jiné funkce, které můžete