Obsah:

Hodiny okolního reálného času: 4 kroky
Hodiny okolního reálného času: 4 kroky

Video: Hodiny okolního reálného času: 4 kroky

Video: Hodiny okolního reálného času: 4 kroky
Video: Arduino návody | RTC Hodiny reálného času DS3231 2024, Listopad
Anonim
Hodiny okolního reálného času
Hodiny okolního reálného času

Cíl

Vyrobil jsem tyto hodiny, protože mám položený adresovatelný LED pás a chci ho použít. Pak jsem viděl, že můj pokoj nemá dobré hodiny, které by odpovídaly jeho stěnám. Rozhodl jsem se tedy vyrobit hodiny, které mohou měnit své barvy podle nálady uživatele nebo barvy stěny.

Krok 1: Video na YouTube

Image
Image

Kompletní pokyny najdete v tomto videu na YouTube

Krok 2: Postup

Nejprve jsem vzal překližkovou desku 24 x 15 palců.

Rozstřihněte LED pásek na kousky a vložte je na desku. Poté je po pájení celé překryjte černým grafickým papírem a poté na něj nalepte termokoušovou fólii a ořízněte termocoal ostrou řezačkou ve tvaru 4 sedmi segmentových displejů spolu s dva otvory uprostřed. Poté jsem připravil svůj obvod pomocí níže uvedeného schématu obvodů

a vše to nalepil za desku. Také jsem si objednal vlastní desku plošných spojů za stejnou z https://jlcpcb.com, která poskytuje nejlepší prototypy desek plošných spojů za nejnižší cenu z Číny a dodává se rychle a bezpečně po celém světě. po připájení všech svých součástek na desku jsem odstranil prkénko a vše upevnil za desku a zakryl přední část pomocí tenkého průsvitného stopového papíru. Hodiny vypadají úžasně a zvyšují krásu zdi. díky přizpůsobitelným barvám je ideální pro každou zeď.

Pokud se vám tento projekt líbí, přihlaste se k odběru na youtube nebo navštivte náš web https://robocircuits.com Děkujeme za přečtení!

Krok 3: Kód

/* Kód je navržen společností RoboCircuits

* Pomoc s tímto kódem najdete na našich webových stránkách https://robocircuits.com * Tento kód používá knihovnu DS3231.h Stáhněte si ji z https://robocircuits.com * Úplný návod Sledujte video na našem kanálu YouTube https:// youtube. com/robocircuits */

#include #include

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

// Spusťte DS3231 pomocí hardwarového rozhraní DS3231 rtc (SDA, SCL);

#ifdef _AVR_ #include #endif

// Který pin na Arduinu je připojen k NeoPixelům? // Na cetce nebo Gemmě doporučujeme změnit to na 1 #define PIN 6

// Kolik NeoPixelů je připojeno k Arduinu? #define NUMPIXELS 45

// Když nastavujeme knihovnu NeoPixel, řekneme jí, kolik pixelů a jaký pin použít k odesílání signálů. // U starších proužků NeoPixel bude možná nutné změnit třetí parametr-další informace o možných hodnotách najdete v příkladu strandtest //. Pixely Adafruit_NeoPixel = Adafruit_NeoPixel (NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);

int delayval = 500; // zpoždění na půl sekundy

void setup () {// Toto je pro Trinket 5V 16MHz, tyto tři řádky můžete odstranit, pokud nepoužíváte Trinket #if definovaný (_AVR_ATtiny85_) if (F_CPU == 16000000) clock_prescale_set (clock_div_1); #endif // Konec speciálního kódu cetky

pixely.begin (); // Tím se inicializuje knihovna NeoPixel. // Nastavení sériového připojení Serial.begin (115200); // Inicializace objektu rtc rtc.begin (); // Následující řádky lze odkomentovat pro nastavení data a času //rtc.setDOW(WEDNESDAY); // Nastavit den v týdnu na NEDĚLE //rtc.setTime(12, 0, 0); // Nastavte čas na 12:00:00 (formát 24 hodin) //rtc.setDate(1, 1, 2014); // Nastavit datum na 1. ledna 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á barva j = mapa (b, 0, 1025, 0, 150); // Modrá barva k = mapa (c, 0, 1025, 0, 150); // Červená barva} else {i = 0; j = 0; k = 150; }

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

// Načítání reálného času z rtc Řetězec x = rtc.getTimeStr (); // Čas odeslání 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;

// Zobrazení času na hodinovém přepínači (hodina1) {// případ 0: nula (0); //přestávka; případ 1: jeden (0); přestávka; případ 2: dva (0); přestávka; výchozí: nulll (0); přestávka; } přepínač (hodina2) {případ 0: nula (7); přestávka; případ 1: jeden (7); přestávka; případ 2: dva (7); přestávka; případ 3: tři (7); přestávka; případ 4: čtyři (7); přestávka; případ 5: pět (7); přestávka; případ 6: šest (7); přestávka; případ 7: sedm (7); přestávka; případ 8: osm (7); přestávka; případ 9: devět (7); přestávka; výchozí: nulll (7); přestávka; } přepínač (min1) {případ 0: nula (15); přestávka; případ 1: jeden (15); přestávka; případ 2: dva (15); přestávka; případ 3: tři (15); přestávka; případ 4: čtyři (15); přestávka; případ 5: pět (15); přestávka; výchozí: nulll (15); přestávka; } přepínač (min2) {případ 0: nula (22); přestávka; případ 1: jeden (22); přestávka; případ 2: dva (22); přestávka; případ 3: tři (22); přestávka; případ 4: čtyři (22); přestávka; případ 5: pět (22); přestávka; případ 6: šest (22); přestávka; případ 7: sedm (22); přestávka; případ 8: osm (22); přestávka; případ 9: devět (22); přestávka; výchozí: nulll (22); přestávka; } pixely.setPixelColor (14, pixely. Color (i, j, k)); pixely.show (); zpoždění (250); pixely.setPixelColor (14, pixely. Color (0, 0, 0)); pixely.show (); zpoždění (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) {pixels.setPixelColor (a+0, pixels. 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é tři (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é čtyři (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ět (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 (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 (); } void six (int a) {pixels.setPixelColor (a+0, pixels. 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 (); } void seven (int a) {pixels.setPixelColor (a+0, pixels. 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é osm (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 (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ět (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 (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: Děkuji

navštivte

Doporučuje: