Obsah:

7 segmentových hodin: 4 kroky (s obrázky)
7 segmentových hodin: 4 kroky (s obrázky)

Video: 7 segmentových hodin: 4 kroky (s obrázky)

Video: 7 segmentových hodin: 4 kroky (s obrázky)
Video: AI 4 All Praha: Umělá inteligence ve vývoji samořídících aut 2024, Červenec
Anonim
Image
Image
7 Segmentové hodiny
7 Segmentové hodiny
7 Segmentové hodiny
7 Segmentové hodiny

Po několika letech používání byly moje analogové hodiny definitivně mrtvé.

Mezitím jsem hledal projekt 3D hodin pro tisk s mým Prusa, tak jsem našel 7segmentové hodiny poháněné LED diodami ws2812 a Arduino.

Myslel jsem, že síla těchto LED diod je ukázat velký rozsah barev, pak byla otázka, jak kombinovat více barev na digitálních hodinách?

Pak nápad přizpůsobit hodiny následujícími funkcemi:

- 7 různých přechodů pro změnu minut

- 3 přednastavené barvy pro časové intervaly

- automatické ztlumení intenzity okolního světla

- automatické vypnutí/spuštění, když není potřeba ukazovat čas

- automatické nastavení letního času

Zásoby

Projekt lze provést pomocí 3D tiskárny nebo pomocí googlování pro projekty se 7 segmentovými hodinami. Někdo je také vyrobil z lepenky.

Je také potřeba:

  • Arduino nano
  • foto chell
  • chvilkové tlačítko
  • vypínač
  • DC zástrčka
  • 5V transformátor
  • č. 30 WS2812 LED (model 30 LED/metr)
  • pcb
  • Modul DS3231
  • tenké kabely pro připojení LED
  • odpory 10K, 550
  • pájka
  • lepidlo
  • propojky
  • hlavičky muži/ženy

Krok 1: Tisk a zapojení…

Tisk a zapojení…
Tisk a zapojení…
Tisk a zapojení…
Tisk a zapojení…
Tisk a zapojení…
Tisk a zapojení…

Původní projekt na Thingverse se trochu upravil. (Díky uživateli random1101)

Dvě tečky byly zvětšeny tak, aby odpovídaly verzi LED používané pro tento projekt. Jeden ze tří zadních krytů byl také upraven tak, aby odpovídal desce plošných spojů. Změněna také základna hodin.

Hlavní prací je pájení LED diod. Nejprve jsem přistoupil k pájecím diodám mimo zadní stranu 3D tiskové číslice a poté do ní vložil.

7. LED první číslice začínající zleva bude připojena k první LED následující číslice. Na konci 4. číslice spojte dvě tečky LED, budou označeny čísly 28 a 29 uvnitř sekvence.

Sekvenci LED lze upravit změnou některých parametrů do knihovny Arduino, jak je vysvětleno níže.

Po připojení je většina práce hotová.

Krok 2: Sestavení DPS

Sestavování DPS
Sestavování DPS
Sestavování DPS
Sestavování DPS
Sestavování DPS
Sestavování DPS
Sestavování DPS
Sestavování DPS

Nyní je čas sestavit desku plošných spojů, kde pájet některé odpory, záhlaví atd. Součásti pro připojení Arduina jsou:

Tlačítko připojené mezi pinem Arduino 3 a GND s vnitřním výsuvným odporem.

Světelný senzor zapojený jako dělič napětí mezi pin Arduino A7 a GND. Přidejte také 10K odpor mezi A7 a +5V ……… VELKOU CHYBU

světelný senzor mezi +5V a A7 pin a 10K odpor mezi A/ pin a GND

Modul DS3231 připojený přes pin i2c a SQW k pinu přerušení Arduino 2

LED diody připojené k pinu 5 přes odpor 550Ohm.

Krok 3: Skica

Uvnitř náčrtu lze provést mnoho přizpůsobení.

Ukládání knihovny denního času řeší parametry TimeChangeRule, další informace najdete v knihovně JChristensen na Githubu.

Automatické vypnutí uvnitř smyčky je řešeno pomocí proměnné int gotosleep. V mém případě v 0:00 Arduino přejde do režimu spánku, poté se hodiny vypnou.

Nastavení ALARMU na modulu DS3231 pomocí variabilního int gotosleep, umožní Arduinu probudit se z režimu spánku. V mém případě v 7:00 ráno.

Další funkcí je změna barvy hodin během dne uvnitř funkce:

void printDateTime (time_t t, const char *tz)

V mém nastavení od h 0:00 do 12:00 je čas zobrazen červeně, od 12:00 do 17:00 zeleně a od 17:00 do 0:00 většinou modře. Toto je doposud nejlepší vyvážení barev pro dobrý kontrast s bílou zdí za sebou.

Funkce přechodů umožňuje při změně minut animovaný přechod barev. K dispozici je 6 různých, které lze vybrat stisknutím dočasného tlačítka, 7. možností je bez přechodů. Ten, který se mi líbí, se jmenuje newrandom (), což je přednastaveno (int mode = 1;).

Udělal jsem nějaké změny v knihovně kvůli kompatibilitě s led sekvencí. V souboru segment_display.cpp na konci přepínače (i) můžete upravit svoji sekvenci LED. Po dokončení nahraďte soubor uvnitř

/Arduino/knihovny/7segment_NeoPixel-master

Požadované knihovny:

  • avr.spánek
  • segment_display
  • DS3231
  • TimeLib
  • Drát
  • Adafruit NeoPixel
  • Časové pásmo

Krok 4: Je čas se rozloučit

Líbí se mi tyto hodiny, aktuální čas je jasně viditelný z dálky a vypne se, když to nepotřebuji.

Jak by bylo možné od hodin požadovat více?

Doporučuje: