Obsah:
Video: Hodiny okolitého reálneho času: 4 kroky
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:59
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
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:
Arduino Nano - TSL45315 Senzor okolitého svetla Výučba: 4 kroky
Arduino Nano - Senzor okolitého svetla TSL45315 Výukový program: TSL45315 je digitálny snímač okolitého svetla. Aproximuje reakciu ľudského oka na rôzne svetelné podmienky. Zariadenia majú tri voliteľné integračné časy a poskytujú priamy 16-bitový lux výstup prostredníctvom rozhrania zbernice I2C. Zariadenie spolu
Raspberry Pi - TSL45315 Snímač okolitého svetla Java Výučba: 4 kroky
Raspberry Pi - Senzor okolitého svetla TSL45315 Java Výukový program: TSL45315 je digitálny snímač okolitého svetla. Aproximuje reakciu ľudského oka pri rôznych svetelných podmienkach. Zariadenia majú tri voliteľné doby integrácie a poskytujú priamy 16-bitový lux výstup prostredníctvom rozhrania zbernice I2C. Zariadenie spolu
Zariadenie na pripomenutie okolitého jasu: 3 kroky
Zariadenie na pripomenutie okolitého jasu: O tomto zariadení: Ak je vaše okolie príliš tmavé a môže poškodiť vaše oči, ozve sa zvuk, ktorý vám pripomenie
Raspberry Pi - BH1715 Digitálny snímač okolitého svetla Python Výučba: 4 kroky
Raspberry Pi - BH1715 Digitálny snímač okolitého svetla Python Výukový program: BH1715 je digitálny snímač okolitého svetla s rozhraním I²C zbernice. BH1715 sa bežne používa na získavanie údajov o okolitom svetle na úpravu výkonu podsvietenia LCD a klávesnice pre mobilné zariadenia. Toto zariadenie ponúka 16-bitové rozlíšenie a
Hodiny založené na Arduine s použitím modulu hodín reálneho času (RTC) DS1307 a 0,96: 5 krokov
Hodiny založené na Arduine pomocou modulu DS1307 Real Time Clock (RTC) & 0,96: Ahoj chlapci, v tomto návode sa pozrieme na to, ako vytvoriť pracovné hodiny pomocou modulu hodín DS1307 v reálnom čase & OLED displeje. Čas teda odčítame z hodinového modulu DS1307. A vytlačte ho na obrazovku OLED