Obsah:

Kryptické nástěnné hodiny: 27 kroků (s obrázky)
Kryptické nástěnné hodiny: 27 kroků (s obrázky)

Video: Kryptické nástěnné hodiny: 27 kroků (s obrázky)

Video: Kryptické nástěnné hodiny: 27 kroků (s obrázky)
Video: Vláda odesílá kryptické zprávy o UAP.. 2024, Červenec
Anonim
Kryptické nástěnné hodiny
Kryptické nástěnné hodiny

Průběh času je něco, co nemůžeme ovlivnit. Stává se to stejnou rychlostí, pokud spíme, vzhůru, znuděni nebo zasnoubení. U aktuálních událostí je důležité si pamatovat, že čas uběhne. Zatímco čekáme na čas, proč neudělat něco, díky čemu je plynutí času přitažlivější sledovat.

Tyto hodiny byly inspirovány Mengenlehreuhr nalezeným v Berlíně v Německu a lze je číst stejným způsobem. Stejně jako originál udává čas pomocí osvětlených, barevných polí.

Je vybaven 96 diodami LED, které rozsvítí 52 'číslicových' oblastí. Na rozdíl od originálu se vyznačuje kruhovým designem, který zahrnuje rozložení sekund, místo rozložení vodorovné lišty. Vnější pás označuje sekundy ve spojení se střední tečkou, další dvě pásma udávají minuty, přičemž konečná vnitřní pásma udávají hodiny.

Pokud máte trochu šrotu a více času na ruce, proč tento čas nevyužít k výrobě něčeho, co to ukáže!

Existuje několik změn, které bych v tomto projektu provedl, pokud bych jej chtěl provést znovu. Nejprve bych místo černé namaloval rám a LED desku na bílo. To by odráželo více světla přes velkou čočku vpředu. Také bych počkal na konec LED diod. Potřeboval jsem desku dokončit dříve, aby mi to mohlo pomoci s psaním kódu. S tím, co je mimo, pojďme se nejprve naučit, jak to číst!

obraz
obraz

Krok 1: Jak číst hodiny

Hodiny se čtou z vnitřních kruhů do vnějších. Vnitřní prstenec čtyř polí označuje pět celých hodin, vedle druhého kruhu také čtyři pole, která označují každou jednu celou hodinu, zobrazující hodnotu hodiny ve 24hodinovém formátu. Třetí prsten se skládá z jedenácti polí, která označují pět celých minut, další prsten má další čtyři pole, která označují po jedné celé minutě. Nakonec vnější prstenec 29 polí označuje sudé sekundy se světlem uprostřed blikajícím pro označení lichých (když svítí) nebo sudých (když nesvítí) sekund.

obraz
obraz

Například výše uvedený obrázek má 1 z pěti hodinových číslic, 3 z jedné hodinové číslice, 8 z pětiminutových číslic, 4 z jedné minutové číslice a 23 ze dvou druhých číslic a střední druhá číslice svítí.

1x5 + 3x1: 8x5 + 4x1: 23x2 + 1x1 = 8:44:47 = 8:44:47 dop.

obraz
obraz

Čas zobrazený výše je: 3x5 + 0x1: 3x5 + 2x1: 5x2 + 1x1 = 15:17:11 = 15:17:11 PM

obraz
obraz

Čas zobrazený výše je: 3x5 + 2x1: 3x5 + 3x1: 16x2 + 1x1 = 17:18:33 = 17:18:33 PM

Krok 2: Nástroje a materiály

Nástroje a materiály
Nástroje a materiály
Nástroje a materiály
Nástroje a materiály
Nástroje a materiály
Nástroje a materiály

Materiály elektroniky:

  • Arduino Nano
  • Hodiny reálného času
  • Adresovatelné LED diody
  • Zástrčka
  • Napájecí kabel
  • USB napájecí zástrčka
  • Odpor závislý na světle a vyvážený odpor (pokud chcete, aby v noci stmíval)
  • Drát

Dřevoobráběcí materiály:

  • 3/4 palce překližka
  • Tenká překližka
  • Šrotové dřevo (použil jsem 2x4, ale fungovalo by i tvrdé dřevo)
  • Malovat
  • Akryl 30 x 36 palců (najdete v místním obchodě s domácími potřebami)
  • Odstín okna (zkuste získat místní zdroj. Pokud žádný není k dispozici, najdete zde dostatečně velký list)
  • Tekutina na nanášení odstínu na okno (ve spreji jsem použil vodu smíchanou s dětským šamponem)
  • Windex
  • Řeznický papír
  • Šrouby
  • Lepidlo ve spreji
  • Lepidlo
  • Lepidlo

Nástroje:

  • Pravítko
  • Xacto nůž
  • Páska
  • Oboustranná páska
  • Kompas
  • Přípravek na řezání kruhu
  • Vykružovačka
  • Pásová pila
  • Vřetenová bruska
  • Palm Sander
  • Disc Sander
  • Směrovací stůl
  • Šídlo
  • Vrták a vrtáky/ovladače
  • Svorky
  • Páječka
  • Pájka
  • Odizolovače drátu

Krok 3: Sestavte šablony

Sestavte šablony
Sestavte šablony
Sestavte šablony
Sestavte šablony

Velkou šablonu vytiskněte pomocí nastavení plakátu v aplikaci Adobe Reader. Ořízněte okraje pro každý papír a pásku dohromady. Svislé, vodorovné a diagonální čáry pomohou při seřazení šablony. Všechny stránky mají malá čísla, která jim pomáhají udržet si pořádek, pokud vypadnou z provozu.

Všechny potřebné šablony a soubory najdete v kroku 26.

Krok 4: Hrubé kruhy

Hrubé řezané kruhy
Hrubé řezané kruhy
Hrubé řezané kruhy
Hrubé řezané kruhy

Položte dvě šablony na list překližky 3/4 palce a nakreslete pomocí kompasu kruhy o něco větší, než je potřeba. Pomocí skládačky vyřízněte hrubý tvar.

Krok 5: Řez na velikost

Střih na velikost
Střih na velikost
Střih na velikost
Střih na velikost

Pomocí kruhového řezacího nástroje na pásové pile ořízněte kruhy na konečnou velikost.

Krok 6: Použijte šablonu

Použít šablonu
Použít šablonu
Použít šablonu
Použít šablonu
Použít šablonu
Použít šablonu

Pomocí sprejového lepidla naneste každou šablonu na kruh. Uprostřed šablony vložte hřebík a vycentrujte jej na kruhu.

Krok 7: Vyjmutí šablony

Vyjmout šablonu
Vyjmout šablonu
Vyjmout šablonu
Vyjmout šablonu
Vyjmout šablonu
Vyjmout šablonu

Pomocí skládačky vyřízněte každé jednotlivé okno šablony. Pokud máte přístup k CNC, bude tento krok mnohem jednodušší! Do každého okna jsem vyvrtal díru, abych pomohl s tímto procesem. Když začnete řezat, šablona se může začít odlepovat. Pokud k tomu dojde, můžete jej zajistit na místě malými kousky pásky.

Krok 8: Broušení

Broušení
Broušení
Broušení
Broušení
Broušení
Broušení

Pomocí brusného papíru naneseného na špejli, vřetenové brusce a palmové brusce přebruste a vyhlaďte hrubý řez, který zanechala skládačka.

Krok 9: Drill Holds for LEDs

Drill Holds for LEDs
Drill Holds for LEDs
Drill Holds for LEDs
Drill Holds for LEDs
Drill Holds for LEDs
Drill Holds for LEDs
Drill Holds for LEDs
Drill Holds for LEDs

Označte střed každého otvoru šípem a vyvrtejte otvory pro LED diody. Použil jsem vodítko, které pomohlo udržet vrták kolmo na můj obrobek, a zadní desku, aby nevyfouklo dřevo na zadní straně.

Krok 10: Kombinujte desky

Kombinované desky
Kombinované desky
Kombinované desky
Kombinované desky
Kombinované desky
Kombinované desky

Vyměňte přední a zadní desky a sledujte části rámu na zadní straně desky LED. Přesuňte rám zpět na přední stranu desky LED a vyvrtejte otvory a sešroubujte kusy dohromady.

Další informace najdete v poznámkách k obrázku.

Krok 11: Vložte LED diody

Vložte LED diody
Vložte LED diody
Vložte LED diody
Vložte LED diody

Zatlačte diody LED přes zadní stranu desky LED. Otvory by měly být rozmístěny tak, aby nebylo nutné stříhat žádné dráty kromě pohybu z jednoho kruhu do druhého.

Zezadu LED diody začínají ve středu a pak běží proti směru hodinových ručiček a pak až k dalšímu kruhu.

Krok 12: Připojte segment 1

Připojit segment 1
Připojit segment 1
Připojit segment 1
Připojit segment 1
Připojit segment 1
Připojit segment 1

Vyřízněte 9 segmentů ze šablony „Segment 1“připevněné na 3/4 palcové překližce (nalezeno v kroku 26). Připevněte k LED desce lepidlem a svorkami. Pokud jste netrpěliví, můžete také použít hřebíky k upnutí na místo.

Jakmile povrch zaschne, přebruste jej v jedné rovině kotoučovou bruskou.

Krok 13: Malování

Malovat
Malovat
Malovat
Malovat
Malovat
Malovat
Malovat
Malovat

Nastříkejte barvou LED desku i rám. Kdybych to dělal znovu, rozhodl bych se použít místo černé barvy bílou barvu, protože by byla přes objektiv více reflexní.

Krok 14: Segment 2

Segment 2
Segment 2
Segment 2
Segment 2
Segment 2
Segment 2

Vyřízněte 9 segmentů ze šablony „Segment 2“připevněné ze dřeva, které je silné 2 3/8 palce (nalezeno v kroku 26). Použil jsem nějaký šrot 2x4 z celého obchodu. Segmenty nasaďte nasucho a zajistěte, aby dobře pasovaly pomocí páskové svorky. Pokud se vše odhlásí, překryjte vnější stranu lepicí páskou, aby se lepidlo nelepilo, a nechte alespoň hodinu zaschnout, než přejdete k dalšímu kroku.

Krok 15: Segment 3

Segment 3
Segment 3
Segment 3
Segment 3
Segment 3
Segment 3

Vyřízněte 9 segmentů ze šablony „Segment 3“připevněné ze 3/8 palce tlustého šrotu (nalezeno v kroku 26). Přilepte je tak, aby švy ze segmentu 2 byly uprostřed každého segmentu 3. Tím se prsten zpevní.

Krok 16: Hladký prsten a barva

Hladký prsten a barva
Hladký prsten a barva
Hladký prsten a barva
Hladký prsten a barva

Z odříznutého kusu velkého prstenu jsem vytvořil vlastní brusný blok. Broušejte vnitřní a vnější stranu prstence a vyplňte všechny praskliny, které se mohly objevit během procesu lepení.

Jakmile je hladký, naneste několik vrstev černé barvy a čirého laku.

Krok 17: Vystřihněte akrylát

Broušený akryl
Broušený akryl
Broušený akryl
Broušený akryl
Broušený akryl
Broušený akryl
Broušený akryl
Broušený akryl

Vystřihněte akrylát na čtverec o rozměrech 30 x 30 palců a označte střed. Připojte akryl pomocí oboustranné pásky. Pomocí zarovnávacího frézovacího nástroje odstraňte přebytečný akrylát

Krok 18: Použijte odstín okna

Použijte odstín okna
Použijte odstín okna
Použijte odstín okna
Použijte odstín okna
Použijte odstín okna
Použijte odstín okna

V bezprašném prostředí odstraňte ochrannou fólii z akrylátu. Naneste sprej a odstraňte podklad z barevného odstínu okna. Aplikujte odstín okna lepivou stranou dolů. Pomocí stírací lišty nebo kreditní karty vymačkejte veškerou tekutinu pod odstín okna. Jakmile jsou všechny bubliny a vrásky odstraněny, ořízněte přebytečný odstín okna ostrým nožem.

Krok 19: Připojte Defuser

Připojte Defuser
Připojte Defuser
Připojte Defuser
Připojte Defuser

Použil jsem velký řeznický papír, abych působil jako odpuzovač. Položte papír na rovný povrch. Zakryjte tvář rámu lepidlem z lepicí tyčinky. Než lepidlo zaschne, položte přední část hodinek lícem dolů na papír a přebytek nahrubo ořízněte. Jakmile uschne, použijte ostrý nůž k oříznutí splachování.

Krok 20: Naneste izolaci

Naneste izolaci
Naneste izolaci

Použil jsem elektrickou pásku k oddělení napájecího a datového vedení.

Krok 21: Sestavte

Shromáždit
Shromáždit
Shromáždit
Shromáždit
Shromáždit
Shromáždit

Odstraňte druhou ochrannou vrstvu z akrylátu. Umístěte akrylát dovnitř prstenu s odstínem okna nahoru. Zasuňte zbývající část hodin do prstenu. Použijte svorku k mírnému tlaku, zatímco je prstenec a do desky LED vyvrtán otvor. To by mělo být zhruba 1 1/8 palce od zad. Dávejte pozor, abyste nevrtali do LED. Do otvoru našroubujte šroub příhradové hlavy. Opakujte pro celkem osm šroubů po obvodu hodin.

Krok 22: Připojte kotevní body

Připojte kotevní body
Připojte kotevní body

Přilepte kotevní body k zadní části hodin, k nimž se zadní kryt připevní. Ty jsou 3/4 palce silné a asi 2 palce dlouhé.

Krok 23: Vyvrtejte otvory pro výkon a snímač LDR

Otvory pro vrták a LDR senzor
Otvory pro vrták a LDR senzor

Do spodní části hodin vyvrtejte napájecí otvor pro napájecí zástrčku a v horní části otvor pro snímač odporu závislého na světle (LDR).

Krok 24: Nainstalujte držák elektroniky

Nainstalujte držák elektroniky
Nainstalujte držák elektroniky
Nainstalujte držák elektroniky
Nainstalujte držák elektroniky

Nainstalujte 3D vytištěný držák pro RTC a Arduino Nano. Připojte veškerou elektroniku podle schématu.

Krok 25: Zadní kryt

Zadní kryt
Zadní kryt
Zadní kryt
Zadní kryt
Zadní kryt
Zadní kryt
Zadní kryt
Zadní kryt

Vyřízněte zadní kryt z tenké překližky, která je menší než vnější strana hodin. Do kotevních bodů vyvrtejte otvory. Najděte střed zad a změřte 8 palců v obou směrech, abyste vyřízli klíčové dírky (standardně 16 středů pro čepy v USA). Vyvrtal jsem hlavní otvor o něco větší než hlava šroubů, které použiji, a otvor jsem zaplnil jedním směrem. Natřete černou barvou a připevněte kryt na místo.

Krok 26: Kód a soubory

Opět jsem docela nový v používání mnoha zde použitých knihoven Arduino, takže jsem si jistý, že existují lepší způsoby, jak je využít.

Napsal jsem kód, který se má snadno aktualizovat podle toho, kolik LED diod používáte, pokud je projekt zmenšen nahoru nebo dolů. Vše, co musíte udělat, je aktualizovat počáteční a koncové polohy LED a kolik LED je součástí každé číslice.

Přidal jsem několik animací, které se přehrávají při spuštění i během hodiny. Jsou sudo náhodné na základě generátoru náhodných čísel, který má na palubě.

Hodiny můžete nastavit tak, aby procházely barvami nebo zůstaly statické. Můžete dokonce zvýraznit číslici indikátoru, abyste si pomohli přečíst čas, jak ukazuje úvod.

Kód můžete libovolně upravovat a měnit.

#include "RTClib.h"

#include #define NUM_LEDS 96 #define DATA_PIN 3 #define LDR A0 RTC_DS1307 rtc; boolean timeChange = false; boolean printTime = false; // Nastavte na true, pokud chcete vidět výstup v konzole. Užitečné pro ladění. boolean redDown = true; boolean greenDown = false; boolean blueDown = false; booleovský cyklus = nepravda; // Nastavte true, pokud chcete, aby barvy hodin cyklovaly boolean highlight = true; // Nastavením true na zvýraznění 'poslední číslice'. // Umístění začátku a konce každé skupiny časových konstant int SECOND_1_LOCATION = 0; const int HOUR_2_START_LOCATION = 1; const int HOUR_2_END_LOCATION = 8; const int HOUR_1_START_LOCATION = 9; const int HOUR_1_END_LOCATION = 20; const int MINUTE_2_START_LOCATION = 21; const int MINUTE_2_END_LOCATION = 42; const int MINUTE_1_START_LOCATION = 43; const int MINUTE_1_END_LOCATION = 66; const int SECOND_2_START_LOCATION = 67; const int SECOND_2_END_LOCATION = 95; const int LEDS_PER_HOUR_1 = 3; const int LEDS_PER_HOUR_2 = 2; const int LEDS_PER_MINUTE_1 = 6; const int LEDS_PER_MINUTE_2 = 2; // Multiplikátory používané k rozdělení časového limitu int MULTIPLIER_FIVE = 5; const int MULTIPLIER_TWO = 2; const int START_UP_DELAY = 1; // Změňte to, abyste zrychlili nebo zpomalili spouštění animace const int CYCLE_SPEED = 1; // Zde změňte rychlost pro cyklus změny barvy (musí být vyšší než 1) // Deklarujte proměnné int lastSecond = 0; int aktuální hodina = 0; int currentMinute = 0; int currentSecond = 0; int hodina1 = 0; int hodina2 = 0; int minute1 = 0; int minute2 = 0; int druhý1 = 0; int druhý2 = 0; int cycleCount = 1; float fadeValue = 255; float fadeCheck = 255; uint8_t jasný = 255; int numberOfAnimations = 5; int náhodnost = 0; // Nastavit barvy uint8_t červená = 0; uint8_t zelená = 0; uint8_t modrá = 255; uint8_t highlight_red = 60; uint8_t highlight_green = 60; uint8_t highlight_blue = 255; // Definujte pole LED CRGB LED [NUM_LEDS]; neplatné nastavení () {Serial.begin (19200); FastLED.addLeds (leds, NUM_LEDS); LEDS.setBrightness (jasný); FastLED.clear (); rtc.begin (); // Pro nastavení času odkomentujte řádek níže. // rtc.adjust (DateTime (2020, 2, 19, 23, 59, 50)); // rtc.adjust (DateTime (F (_ DATE_), F (_ TIME_)))); // Animace po spuštění animate (náhodnost); } void loop () {// Získejte čas DateTime now = rtc.now (); currentHour = now.hour (); currentMinute = now.minute (); currentSecond = now.second (); timeChange = false; // Použijte je k ručnímu nastavení času bez RTC. Užitečné pro ladění // currentHour = 5; // currentMinute = 30; // currentSecond = 30; // Reset všech bitů na nulu pro (int i = SECOND_1_LOCATION; i <= SECOND_2_END_LOCATION; i ++) {leds = CRGB:: Black; } // Nastavit hodinu // Nastavit hodinu 1 hodinu1 = (currentHour % MULTIPLIER_FIVE) * LEDS_PER_HOUR_1; // To bude počítat celkové LED diody časové jednotky, která se rozsvítí (int i = HOUR_1_START_LOCATION; i 0) // && hour1 <12) {for (int i = (HOUR_1_START_LOCATION + hour1 - 1); i> = (HOUR_1_START_LOCATION + hodina1-LEDS_PER_HOUR_1); i--) {leds = CRGB (highlight_red, highligh_green, highligh_blue); }} // Nastavit hodinu 2 hodiny2 = (currentHour / MULTIPLIER_FIVE) * LEDS_PER_HOUR_2; // To bude počítat celkové LED diody časové jednotky, která se rozsvítí (int i = HOUR_2_START_LOCATION; i 0) // && hour2 <8) {for (int i = (HOUR_2_START_LOCATION + hour2 - 1); i> = (HOUR_2_START_LOCATION + hour2-LEDS_PER_HOUR_2); i--) {leds = CRGB (zvýraznění_červené, zvýraznění_zelené, zvýraznění_modré); }} // Nastavit minutu // Nastavit minutu 1 minutu1 = (currentMinute % MULTIPLIER_FIVE) * LEDS_PER_MINUTE_1; // To bude počítat celkové LED diody časové jednotky, která se rozsvítí (int i = MINUTE_1_START_LOCATION; i 0) // && minute1 <24) {for (int i = (MINUTE_1_START_LOCATION + minuta1 - 1); i> = (MINUTE_1_START_LOCATION + minute1-LEDS_PER_MINUTE_1); i--) {leds = CRGB (zvýraznění_červené, zvýraznění_zelené, zvýraznění_blue); }} // Nastavit minutu 2 minuty2 = (currentMinute / MULTIPLIER_FIVE) * LEDS_PER_MINUTE_2; // To bude počítat celkové LED diody časové jednotky, která se rozsvítí (int i = MINUTE_2_START_LOCATION; i 0) // && minute2 <22) {for (int i = (MINUTE_2_START_LOCATION + minute2 - 1); i> = (MINUTE_2_START_LOCATION + minute2-LEDS_PER_MINUTE_2); i--) {leds = CRGB (highlight_red, highligh_green, highligh_blue); }} // Nastavit druhé if (currentSecond! = LastSecond) {timeChange = true; } // Nastavit sekundu 1 sekundu1 = currentSecond % MULTIPLIER_TWO; if (second1 == 1) {leds [SECOND_1_LOCATION] = CRGB (červená, zelená, modrá); } // Nastavit sekundu 2 sekundy2 = currentSecond / MULTIPLIER_TWO; for (int i = SECOND_2_START_LOCATION; i 0) // && second2 <29) {for (int i = (SECOND_2_START_LOCATION + second2 - 1); i> = (SECOND_2_START_LOCATION + second2 - 1); i--) {leds = CRGB (zvýraznění_červené, zvýraznění_zelené, zvýraznění_modré); }} lastSecond = currentSecond; // Počítejte cykly programu a voláním funkce setColor změňte barvu LED vždy CYCLE_SPEED cykly. if (cycleCount jasný) // {// fadeValue = jasný; //} // else if (fadeValue <150) // {// fadeValue = 150; //} // LEDS.setBrightness (fadeValue); FastLED.show (); // Tisk aktuálního času do konzoly if (timeChange == true && printTime == true) {printToConsole (); }} // Funkce animace sem přidejte další animace dle libosti void animate (int select) {if (select == 0) {for (int i = SECOND_1_LOCATION; i <= SECOND_2_END_LOCATION; i ++) {leds = CRGB (červená, zelená, modrá); FastLED.show (); zpoždění (START_UP_DELAY); } for (int i = SECOND_2_END_LOCATION; i> = SECOND_1_LOCATION; i--) {leds = CRGB:: Black; FastLED.show (); zpoždění (START_UP_DELAY); }} else if (select == 1) {for (int i = 0; i <250; i ++) {int light = random (95); leds [light] = CRGB (červená, zelená, modrá); FastLED.show (); }} else if (select == 2) {leds [0] = CRGB (red, green, blue); pro (int i = 0; i <= SECOND_2_END_LOCATION - SECOND_2_START_LOCATION; i ++) {leds [SECOND_2_START_LOCATION+i] = CRGB (červená, zelená, modrá); if (i <= (MINUTE_1_END_LOCATION - MINUTE_1_START_LOCATION)) {leds [MINUTE_1_START_LOCATION + i] = CRGB (červená, zelená, modrá); } if (i <= (MINUTE_2_END_LOCATION - MINUTE_2_START_LOCATION)) {leds [MINUTE_2_START_LOCATION + i] = CRGB (červená, zelená, modrá); } if (i <= (HOUR_1_END_LOCATION - HOUR_1_START_LOCATION)) {leds [HOUR_1_START_LOCATION + i] = CRGB (červená, zelená, modrá); } if (i <= (HOUR_2_END_LOCATION - HOUR_2_START_LOCATION)) {leds [HOUR_2_START_LOCATION + i] = CRGB (červená, zelená, modrá); } zpoždění (34); FastLED.show (); }} else if (select == 3) {leds [0] = CRGB (red, green, blue); pro (int i = 0; i <= SECOND_2_END_LOCATION - SECOND_2_START_LOCATION; i ++) {leds [SECOND_2_END_LOCATION - i] = CRGB (červená, zelená, modrá); if (i <= (MINUTE_1_END_LOCATION - MINUTE_1_START_LOCATION)) {leds [MINUTE_1_END_LOCATION - i] = CRGB (červená, zelená, modrá); } if (i <= (MINUTE_2_END_LOCATION - MINUTE_2_START_LOCATION)) {leds [MINUTE_2_END_LOCATION - i] = CRGB (červená, zelená, modrá); } if (i <= (HOUR_1_END_LOCATION - HOUR_1_START_LOCATION)) {leds [HOUR_1_END_LOCATION - i] = CRGB (červená, zelená, modrá); } if (i <= (HOUR_2_END_LOCATION - HOUR_2_START_LOCATION)) {leds [HOUR_2_END_LOCATION - i] = CRGB (červená, zelená,modrý); } zpoždění (34); FastLED.show (); }} else if (select == 4) {for (int i = SECOND_2_END_LOCATION; i> = SECOND_1_LOCATION; i--) {leds = CRGB:: Black; } FastLED.show (); zpoždění (200); for (int i = SECOND_1_LOCATION; i <= SECOND_2_END_LOCATION; i ++) {leds = CRGB (červená, zelená, modrá); } FastLED.show (); zpoždění (200); pro (int i = SECOND_2_END_LOCATION; i> = SECOND_1_LOCATION; i--) {leds = CRGB:: Black; } FastLED.show (); zpoždění (200); for (int i = SECOND_1_LOCATION; i <= SECOND_2_END_LOCATION; i ++) {leds = CRGB (červená, zelená, modrá); } FastLED.show (); zpoždění (200); pro (int i = SECOND_2_END_LOCATION; i> = SECOND_1_LOCATION; i--) {leds = CRGB:: Black; } FastLED.show (); zpoždění (200); }} // Funkce barevného cyklu neplatná setColor (boolean cycleColors) {if (cycleColors == true) {if (redDown == true && greenDown == false) {red ++; zelená--; if (zelená <= 0) {červená = 255; redDown = false; greenDown = true; }} else if (greenDown == true && blueDown == false) {green ++; modrý--; if (modrá <= 0) {zelená = 255; greenDown = false; blueDown = true; }} else if (blueDown == true && redDown == false) {blue ++; Červené--; if (červená <= 0) {modrá = 255; blueDown = false; redDown = true; }}} else {red = 0; zelená = 0; modrá = 255; }} // Funkce Print to Serial Monitor void printToConsole () {Serial.print ("Aktuální čas:"); Serial.print (currentHour); Serial.print (":"); Serial.print (currentMinute); Serial.print (":"); Serial.println (currentSecond); Serial.println (""); for (int i = HOUR_2_START_LOCATION; i <= HOUR_2_END_LOCATION; i ++) {Serial.print (leds ); if (i % 2 == 0) {Serial.print (""); }} Serial.println (""); for (int i = HOUR_1_START_LOCATION; i <= HOUR_1_END_LOCATION; i ++) {Serial.print (leds ); if ((((i - HOUR_1_START_LOCATION + 1) % 3) == 0) {Serial.print (""); }} Serial.println (""); for (int i = MINUTE_2_START_LOCATION; i <= MINUTE_2_END_LOCATION; i ++) {Serial.print (leds ); if ((((i - MINUTE_2_START_LOCATION) + 1) % 2 == 0) {Serial.print (""); }} Serial.println (""); for (int i = MINUTE_1_START_LOCATION; i <= MINUTE_1_END_LOCATION; i ++) {Serial.print (leds ); if ((((i - MINUTE_1_START_LOCATION) + 1) % 6 == 0) {Serial.print (""); }} Serial.println (""); for (int i = SECOND_2_START_LOCATION; i <= SECOND_2_END_LOCATION; i ++) {Serial.print (leds ); Serial.print (""); } Serial.println (""); Serial.println (leds [SECOND_1_LOCATION]); Serial.println (); for (int i = 0; i <NUM_LEDS; i ++) {Serial.print (leds ); } Serial.println (); Serial.println (); }

Krok 27: Užijte si to

obraz
obraz

Závěrem lze říci, že tyto hodiny je úžasné sledovat a jakmile se v nich zorientujete, je poměrně dobře čitelné. Pokud vytvoříte vlastní projekt hodin, dejte mi vědět!

Doporučuje: