Obsah:
Video: Hodiny okolního reálného času: 4 kroky
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:22
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
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:
Arduino Nano - výukový program senzoru okolního světla TSL45315: 4 kroky
Arduino Nano - Senzor okolního světla TSL45315 Výukový program: TSL45315 je digitální snímač okolního světla. Přibližuje reakci lidského oka za různých světelných podmínek. Zařízení mají tři volitelné integrační časy a poskytují přímý 16bitový lux výstup přes rozhraní sběrnice I2C. Zařízení co
Digitální hodiny síťového času pomocí ESP8266: 4 kroky (s obrázky)
Digitální hodiny síťového času Pomocí ESP8266: Naučíme se, jak vytvořit roztomilé digitální hodiny, které komunikují se servery NTP a zobrazují síťový nebo internetový čas. WeMos D1 mini používáme k připojení k WiFi síti, získání času NTP a jeho zobrazení na modulu OLED. Video nad t
Hodiny reálného času DS1307 RTC s Arduino: 4 kroky
Hodiny reálného času DS1307 RTC s Arduinem: V tomto tutoriálu se seznámíme s hodinami reálného času (RTC) a jak Arduino & Hodiny reálného času IC DS1307 jsou sestaveny jako časovací zařízení. Hodiny reálného času (RTC) slouží k monitorování času a udržování kalendáře. Chcete -li použít RTC
Hodiny založené na Arduinu využívající modul hodin reálného času DS1307 (RTC) a 0,96: 5 kroků
Hodiny založené na Arduinu využívající modul hodin reálného času DS1307 (RTC) & 0,96: Ahoj, v tomto tutoriálu uvidíme, jak vytvořit pracovní hodiny pomocí modulu hodin reálného času DS1307 & OLED displeje. Takže budeme číst čas z hodinového modulu DS1307. A vytiskněte si jej na OLED obrazovce
NODEMCU Lua ESP8266 s hodinami reálného času (RTC) a EEPROM: 7 kroků
NODEMCU Lua ESP8266 s hodinami reálného času (RTC) a EEPROM: Získání správného času je zásadní, pokud chcete uchovávat protokol dat. Existují různé způsoby, jak získat čas ze zdrojů na internetu. Můžete se zeptat, proč nevyužít ESP8266, aby vám zůstal čas? Můžete, má svůj vlastní interní RTC (Real Time