Obsah:

Hodiny okolitého reálneho času: 4 kroky
Hodiny okolitého reálneho času: 4 kroky

Video: Hodiny okolitého reálneho času: 4 kroky

Video: Hodiny okolitého reálneho času: 4 kroky
Video: TOP 4 LIDÉ Z BUDOUCNOSTI, KTEŘÍ NÁS PŘIŠLI VAROVAT 2024, Júl
Anonim
Ambientné hodiny v reálnom čase
Ambientné hodiny v reálnom čase

Cieľ

Vyrobil som tieto hodiny, pretože mám položený adresovateľný LED pás a chcem ho použiť. Potom som videl, že moja izba nemá dobré hodiny, ktoré by zodpovedali jej stenám. Rozhodol som sa vytvoriť hodiny, ktoré môžu meniť svoje farby podľa nálady používateľov alebo farby steny.

Krok 1: Video YouTube

Image
Image

Kompletné pokyny nájdete v tomto videu na YouTube

Krok 2: Postup

Najprv som vzal dosku z preglejky 24 x 15 palcov.

Rozrežte LED pásik na kúsky a prilepte ich na dosku Potom po ich spájkovaní pokryjem celé čiernym papierom a potom naň prilepte termo -uhlíkový list a orežte termo uhlie ostrým rezačom v tvare 4 siedmich segmentových displejov spolu s dva otvory v strede. Potom som pripravil svoj obvod pomocou schémy zapojení uvedenej nižšie

a všetko to prilepil za tabuľu. Tiež som si objednal vlastný PCB za rovnaký z https://jlcpcb.com, ktorý poskytuje najlepšie prototypy PCB za najnižšiu cenu z Číny a dodáva sa rýchlo a bezpečne po celom svete. po spájkovaní všetkých svojich komponentov na dosku som odstránil dosku a všetko za doskou a zakryl prednú časť pomocou tenkého priesvitného stopového papiera. Hodiny vyzerajú úžasne a zvyšujú krásu steny. farby prispôsobenia ho robia perfektným pre každú stenu.

Ak sa vám tento projekt páči, prihláste sa na odber youtube alebo navštívte náš web https://robocircuits.com Ďakujeme za prečítanie!

Krok 3: Kód

/* Kód bol navrhnutý spoločnosťou RoboCircuits

* Pomoc s týmto kódom nájdete na našej webovej stránke https://robocircuits.com * Tento kód používa knižnicu DS3231.h, stiahnite si ju z https://robocircuits.com * Úplný návod Pozrite si video na našom kanáli YouTube https:// youtube. com/robocircuits */

#include #include

int i = 0, j = 0, k = 150;

// Spustite DS3231 pomocou hardvérového rozhrania DS3231 rtc (SDA, SCL);

#ifdef _AVR_ #include #endif

// Ktorý pin na Arduine je pripojený k NeoPixels? // Na cetke alebo Gemme navrhujeme zmeniť to na 1 #definovať PIN 6

// Koľko NeoPixelov je pripojených k Arduinu? #define NUMPIXELS 45

// Keď nastavujeme knižnicu NeoPixel, povieme jej, koľko pixelov a ktorý pin použiť na odosielanie signálov. // Upozorňujeme, že pre staršie pásy NeoPixel bude možno potrebné zmeniť tretí parameter-ďalšie informácie o možných hodnotách nájdete v príklade strandtest //. Pixely Adafruit_NeoPixel = Adafruit_NeoPixel (NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);

int delayval = 500; // meškanie pol sekundy

void setup () {// Toto je pre Trinket 5V 16MHz, tieto tri riadky môžete odstrániť, ak nepoužívate Trinket #if definovaný (_AVR_ATtiny85_) if (F_CPU == 16000000) clock_prescale_set (clock_div_1); #endif // Koniec špeciálneho kódu drobností

pixely.begin (); // Tým sa inicializuje knižnica NeoPixel. // Nastavenie sériového pripojenia Serial.begin (115200); // Inicializácia objektu rtc rtc.begin (); // Nasledujúce riadky možno odkomentovať, aby sa nastavil dátum a čas //rtc.setDOW(WEDNESDAY); // Nastavte deň v týždni na NEDEĽU //rtc.setTime(12, 0, 0); // Nastavte čas na 12:00:00 (formát 24 hodín) //rtc.setDate(1, 1, 2014); // Nastavte dátum na 1. január 2014}

void loop () {if (digitalRead (2) == HIGH) {int a = analogRead (A0); int b = analogRead (A1); int c = analogRead (A2); i = mapa (a, 0, 1025, 0, 150); // Zelená farba j = mapa (b, 0, 1025, 0, 150); // Modrá farba k = mapa (c, 0, 1025, 0, 150); // Červená farba} else {i = 0; j = 0; k = 150; }

// Kód pre podsvietenie pre (int x = 29; x <= 45; x ++) {pixely.setPixelColor (x, pixely. Color (i, j, k)); pixely.show (); }

// Načítanie reálneho času z reťazca rtc x = rtc.getTimeStr (); // čas odoslania Serial.println (rtc.getTimeStr ()); int hodina1 = x.charAt (0); int hodina2 = x.charAt (1); int min1 = x.charAt (3); int min2 = x.charAt (4); hodina1 = hodina1-48; hodina2 = hodina2-48; min1 = min1-48; min2 = min2-48;

// Zobrazenie času na hodinovom prepínači (hodina1) {// prípad 0: nula (0); //prestávka; prípad 1: jeden (0); prestávka; prípad 2: dva (0); prestávka; predvolené: nulll (0); prestávka; } prepínač (hodina2) {prípad 0: nula (7); prestávka; prípad 1: jeden (7); prestávka; prípad 2: dva (7); prestávka; prípad 3: tri (7); prestávka; prípad 4: štyri (7); prestávka; prípad 5: päť (7); prestávka; prípad 6: šesť (7); prestávka; prípad 7: sedem (7); prestávka; prípad 8: osem (7); prestávka; prípad 9: deväť (7); prestávka; predvolené: nulll (7); prestávka; } prepínač (min1) {prípad 0: nula (15); prestávka; prípad 1: jeden (15); prestávka; prípad 2: dva (15); prestávka; prípad 3: tri (15); prestávka; prípad 4: štyri (15); prestávka; prípad 5: päť (15); prestávka; predvolené: nulll (15); prestávka; } prepínač (min2) {prípad 0: nula (22); prestávka; prípad 1: jeden (22); prestávka; prípad 2: dva (22); prestávka; prípad 3: tri (22); prestávka; prípad 4: štyri (22); prestávka; prípad 5: päť (22); prestávka; prípad 6: šesť (22); prestávka; prípad 7: sedem (22); prestávka; prípad 8: osem (22); prestávka; prípad 9: deväť (22); prestávka; predvolené: nulll (22); prestávka; } pixely.setPixelColor (14, pixelov. Color (i, j, k)); pixely.show (); oneskorenie (250); pixely.setPixelColor (14, pixelov. Color (0, 0, 0)); pixely.show (); oneskorenie (250); }

neplatná nula (int a) {pixely.setPixelColor (a+0, pixely. Color (i, j, k)); pixely.show (); pixely.setPixelColor (a+1, pixely. Color (i, j, k)); pixely.show (); pixely.setPixelColor (a+2, pixely. Color (i, j, k)); pixely.show (); pixely.setPixelColor (a+3, pixely. Color (0, 0, 0)); pixely.show (); pixely.setPixelColor (a+4, pixely. Color (i, j, k)); pixely.show (); pixely.setPixelColor (a+5, pixely. Color (i, j, k)); pixely.show (); pixely.setPixelColor (a+6, pixely. Color (i, j, k)); pixely.show (); } void one (int a) {pixely.setPixelColor (a+0, pixely. Color (0, 0, 0)); pixely.show (); pixely.setPixelColor (a+1, pixely. Color (0, 0, 0)); pixely.show (); pixely.setPixelColor (a+2, pixely. Color (i, j, k)); pixely.show (); pixely.setPixelColor (a+3, pixely. Color (0, 0, 0)); pixely.show (); pixely.setPixelColor (a+4, pixely. Color (0, 0, 0)); pixely.show (); pixely.setPixelColor (a+5, pixely. Color (0, 0, 0)); pixely.show (); pixely.setPixelColor (a+6, pixely. Color (i, j, k)); pixely.show (); } neplatné dva (int a) {pixely.setPixelColor (a+0, pixely. Color (0, 0, 0)); pixely.show (); pixely.setPixelColor (a+1, pixely. Color (i, j, k)); pixely.show (); pixely.setPixelColor (a+2, pixely. Color (i, j, k)); pixely.show (); pixely.setPixelColor (a+3, pixely. Color (i, j, k)); pixely.show (); pixely.setPixelColor (a+4, pixely. Color (i, j, k)); pixely.show (); pixely.setPixelColor (a+5, pixely. Color (i, j, k)); pixely.show (); pixely.setPixelColor (a+6, pixely. Color (0, 0, 0)); pixely.show (); } neplatné tri (int a) {pixely.setPixelColor (a+0, pixely. Color (0, 0, 0)); pixely.show (); pixely.setPixelColor (a+1, pixely. Color (i, j, k)); pixely.show (); pixely.setPixelColor (a+2, pixely. Color (i, j, k)); pixely.show (); pixely.setPixelColor (a+3, pixely. Color (i, j, k)); pixely.show (); pixely.setPixelColor (a+4, pixely. Color (0, 0, 0)); pixely.show (); pixely.setPixelColor (a+5, pixely. Color (i, j, k)); pixely.show (); pixely.setPixelColor (a+6, pixely. Color (i, j, k)); pixely.show (); } neplatné štyri (int a) {pixely.setPixelColor (a+0, pixely. Color (i, j, k)); pixely.show (); pixely.setPixelColor (a+1, pixely. Color (0, 0, 0)); pixely.show (); pixely.setPixelColor (a+2, pixely. Color (i, j, k)); pixely.show (); pixely.setPixelColor (a+3, pixely. Color (i, j, k)); pixely.show (); pixely.setPixelColor (a+4, pixely. Color (0, 0, 0)); pixely.show (); pixely.setPixelColor (a+5, pixely. Color (0, 0, 0)); pixely.show (); pixely.setPixelColor (a+6, pixely. Color (i, j, k)); pixely.show (); } neplatné päť (int a) {pixelov.setPixelColor (a+0, pixelov. Color (i, j, k)); pixely.show (); pixely.setPixelColor (a+1, pixely. Color (i, j, k)); pixely.show (); pixely.setPixelColor (a+2, pixely. Color (0, 0, 0)); pixely.show (); pixely.setPixelColor (a+3, pixely. Color (i, j, k)); pixely.show (); pixely.setPixelColor (a+4, pixely. Color (0, 0, 0)); pixely.show (); pixely.setPixelColor (a+5, pixely. Color (i, j, k)); pixely.show (); pixely.setPixelColor (a+6, pixely. Color (i, j, k)); pixely.show (); } neplatné šesť (int a) {pixelov.setPixelColor (a+0, pixelov. Color (i, j, k)); pixely.show (); pixely.setPixelColor (a+1, pixely. Color (i, j, k)); pixely.show (); pixely.setPixelColor (a+2, pixely. Color (0, 0, 0)); pixely.show (); pixely.setPixelColor (a+3, pixely. Color (i, j, k)); pixely.show (); pixely.setPixelColor (a+4, pixely. Color (i, j, k)); pixely.show (); pixely.setPixelColor (a+5, pixely. Color (i, j, k)); pixely.show (); pixely.setPixelColor (a+6, pixely. Color (i, j, k)); pixely.show (); } neplatné sedem (int a) {pixelov.setPixelColor (a+0, pixelov. Color (0, 0, 0)); pixely.show (); pixely.setPixelColor (a+1, pixely. Color (i, j, k)); pixely.show (); pixely.setPixelColor (a+2, pixely. Color (i, j, k)); pixely.show (); pixely.setPixelColor (a+3, pixely. Color (0, 0, 0)); pixely.show (); pixely.setPixelColor (a+4, pixely. Color (0, 0, 0)); pixely.show (); pixely.setPixelColor (a+5, pixely. Color (0, 0, 0)); pixely.show (); pixely.setPixelColor (a+6, pixely. Color (i, j, k)); pixely.show (); } neplatné osem (int a) {pixelov.setPixelColor (a+0, pixelov. Color (i, j, k)); pixely.show (); pixely.setPixelColor (a+1, pixely. Color (i, j, k)); pixely.show (); pixely.setPixelColor (a+2, pixely. Color (i, j, k)); pixely.show (); pixely.setPixelColor (a+3, pixely. Color (i, j, k)); pixely.show (); pixely.setPixelColor (a+4, pixely. Color (i, j, k)); pixely.show (); pixely.setPixelColor (a+5, pixely. Color (i, j, k)); pixely.show (); pixely.setPixelColor (a+6, pixely. Color (i, j, k)); pixely.show (); } neplatné deväť (int a) {pixelov.setPixelColor (a+0, pixelov. Color (i, j, k)); pixely.show (); pixely.setPixelColor (a+1, pixely. Color (i, j, k)); pixely.show (); pixely.setPixelColor (a+2, pixely. Color (i, j, k)); pixely.show (); pixely.setPixelColor (a+3, pixely. Color (i, j, k)); pixely.show (); pixely.setPixelColor (a+4, pixely. Color (0, 0, 0)); pixely.show (); pixely.setPixelColor (a+5, pixely. Color (i, j, k)); pixely.show (); pixely.setPixelColor (a+6, pixely. Color (i, j, k)); pixely.show (); } void nulll (int a) {pixely.setPixelColor (a+0, pixely. Color (0, 0, 0)); pixely.show (); pixely.setPixelColor (a+1, pixely. Color (0, 0, 0)); pixely.show (); pixely.setPixelColor (a+2, pixely. Color (0, 0, 0)); pixely.show (); pixely.setPixelColor (a+3, pixely. Color (0, 0, 0)); pixely.show (); pixely.setPixelColor (a+4, pixely. Color (0, 0, 0)); pixely.show (); pixely.setPixelColor (a+5, pixely. Color (0, 0, 0)); pixely.show (); pixely.setPixelColor (a+6, pixely. Color (0, 0, 0)); pixely.show (); }

Krok 4: Ďakujem

navštívte stránku

Odporúča: