Obsah:

7 segmentové hodiny: 4 kroky (s obrázkami)
7 segmentové hodiny: 4 kroky (s obrázkami)

Video: 7 segmentové hodiny: 4 kroky (s obrázkami)

Video: 7 segmentové hodiny: 4 kroky (s obrázkami)
Video: drsná realita, jak vzniká iPhone než se vám dostane do kapsy 2024, Júl
Anonim
Image
Image
7 segmentové hodiny
7 segmentové hodiny
7 segmentové hodiny
7 segmentové hodiny

Po niekoľkých rokoch používania boli moje analógové hodiny definitívne mŕtve.

Medzitým som hľadal projekt 3D hodín na tlač so svojim Prusa, takže som našiel 7 -segmentové hodiny, ktoré budú poháňať LED diódy ws2812 a Arduino.

Myslel som si, že silou týchto LED diód je ukázať veľký rozsah farieb, a potom bola otázka, ako kombinovať viac farieb na digitálnych hodinách?

Potom prišiel nápad prispôsobiť hodiny nasledujúcim funkciám:

- 7 rôznych prechodov na zmenu minút

- 3 prednastavené farby pre časové úseky

- automatické stlmenie intenzity okolitého svetla

- automatické vypnutie/spustenie, keď nie je potrebné ukazovať čas

- automatické nastavenie letného času

Zásoby

Projekt je možné vykonať pomocou 3D tlačiarne alebo pomocou googlovania projektov so 7 segmentovými hodinami. Niekto ich vyrobil aj z lepenky.

Tiež je potrebné:

  • Arduino nano
  • foto čečina
  • chvíľkové tlačidlo
  • vypínač on/off
  • DC zástrčka
  • 5V transformátor
  • č. 30 WS2812 LED (model 30 LED/meter)
  • PCB
  • Modul DS3231
  • tenké káble na pripojenie LED
  • odpory 10K, 550
  • spájka
  • lepidlo
  • prepojky
  • hlavičky muži/ženy

Krok 1: Tlač a zapojenie…

Tlač a zapojenie …
Tlač a zapojenie …
Tlač a zapojenie …
Tlač a zapojenie …
Tlač a zapojenie …
Tlač a zapojenie …

Pôvodný projekt na Thingverse sa trochu zmenil. (Vďaka užívateľovi random1101)

Dve bodky boli zväčšené tak, aby zodpovedali verzii LED použitej pre tento projekt. Jeden z troch zadných krytov bol tiež upravený tak, aby sa zmestil do dosky plošných spojov. Zmenená bola aj základňa hodín.

Hlavnou prácou je spájkovanie LED diód. Najprv som pristúpil k spájkovaniu LED mimo zadného krytu s 3D tlačeným číslom a potom som doň vložil.

7. dióda prvej číslice začínajúca zľava bude spojená s prvou diódou ďalšej číslice. Na konci 4. číslice spojte dve bodky LED diódy, v rámci postupnosti budú očíslované 28 a 29.

Led sekvenciu je možné modifikovať zmenou niektorých parametrov do knižnice Arduino, ako je vysvetlené nižšie.

Po pripojení je väčšina práce hotová.

Krok 2: Zostavenie DPS

Zostavenie DPS
Zostavenie DPS
Zostavenie DPS
Zostavenie DPS
Zostavenie DPS
Zostavenie DPS
Zostavenie DPS
Zostavenie DPS

Teraz je načase zostaviť dosku s plošnými spojmi, kde spájkujte niektoré odpory, záhlavia atď. Komponenty na pripojenie Arduina sú:

Tlačítko prepojené medzi pinom Arduino 3 a GND s vnútorným výsuvným odporom.

Svetelný senzor zapojený ako delič napätia medzi pin Arduino A7 a GND. Pridajte tiež 10K odpor medzi A7 a +5V …… VEĽKÁ CHYBA

svetelný senzor medzi +5V a A7 pin a 10K odpor medzi A/ pin a GND

Modul DS3231 pripojený pomocou pinu i2c a SQW k pinu 2 prerušenia Arduino

LED diódy sú pripojené k pinu 5 cez odpor 550 Ohmov.

Krok 3: Skica

Vnútri náčrtu je možné vykonať mnoho prispôsobení.

Knižnicu letného času šetria parametre TimeChangeRule, ďalšie informácie nájdete v knižnici JChristensen na Githube.

Automatické vypnutie vo vnútri slučky je riešené premennou int gotosleep. V mojom prípade o 0:00 Arduino prejde do režimu spánku, potom sa hodiny vypnú.

Nastavenie ALARMU na module DS3231 pomocou variabilného int gotosleep, umožní Arduinu prebudiť sa z režimu spánku. V mojom prípade o 7:00 ráno.

Ďalšou funkciou je zmena farby hodín počas dňa vo funkcii:

void printDateTime (time_t t, const char *tz)

V mojich nastaveniach od h 0:00 do 12:00 je čas zobrazený červenou farbou, od 12:00 do 17:00 zelenou a od 17:00 do 0:00 väčšinou modrou. Toto je doposiaľ najlepšie vyváženie farieb pre dobrý kontrast s bielou stenou vzadu.

Funkcia prechodov umožňuje animovaný prechod farieb pri zmene minút. K dispozícii je 6 rôznych, ktoré je možné zvoliť stlačením dočasného tlačidla, siedma možnosť je bez prechodov. Ten, ktorý sa mi páči, sa nazýva newrandom (), ktorý je prednastavený (int mode = 1;).

V knižnici som vykonal niekoľko zmien kvôli kompatibilite s led sekvenciou. Vnútri súboru segment_display.cpp, na konci prepínača (i), môžete upraviť svoju sekvenciu LED. Po dokončení nahraďte súbor vo vnútri

/Arduino/knižnice/7segment_NeoPixel-master

Potrebné knižnice:

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

Krok 4: Je čas rozlúčiť sa

Páčia sa mi tieto hodiny, aktuálny čas je z diaľky jasne viditeľný a vypne sa, keď nepotrebujem.

Ako by som mohol od hodiniek požadovať viac?

Odporúča: