Cuprins:
Video: Ceas ambient în timp real: 4 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:44
Scop
Am realizat acest ceas pentru că am o bandă cu LED-uri adresabile așezată și vreau să o folosesc. Apoi am văzut că camera mea nu are un ceas bun care să se potrivească cu pereții săi. Așa că am decis să fac un ceas care să-și poată schimba culorile în funcție de starea de spirit a utilizatorului sau de culoarea peretelui.
Pasul 1: Video YouTube
Urmăriți acest videoclip de pe YouTube pentru instrucțiuni complete
Pasul 2: Procedură
În primul rând am luat o placă de placaj de 24 x 15 inch.
Tăiați benzi LED în bucăți și lipiți-le pe tablă. După ce le lipiți, le acoper pe toate cu o hârtie grafică neagră. Apoi lipiți o foaie termocoală deasupra și tăiați termocoalul cu un tăietor ascuțit în formă de 4 afișaje de șapte segmente, împreună cu două găuri în centru. Apoi mi-am pregătit circuitul folosind schema de circuite prezentată mai jos
și a lipit totul în spatele tabloului. De asemenea, am comandat un PCB personalizat pentru același lucru de la https://jlcpcb.com, care oferă cele mai bune prototipuri de PCB pentru cel mai mic preț din China și se expediază în întreaga lume rapid și sigur. după ce am lipit toate componentele mele de pe tablă, am îndepărtat panoul și am fixat totul în spatele plăcii și am acoperit secțiunea frontală folosind o hârtie subțire translucidă. Ceasul arată minunat și crește frumusețea peretelui. culorile de personalizare îl fac perfect pentru orice perete.
Dacă vă place acest proiect, abonați-vă pe YouTube sau vizitați site-ul nostru https://robocircuits.com Vă mulțumim că ați citit!
Pasul 3: Cod
/ * Codul este proiectat de RoboCircuits
* Vizitați site-ul nostru web https://robocircuits.com pentru asistență cu privire la acest cod * Acest cod folosește DS3231.h Biblioteca descărcați-l de la https://robocircuits.com * Pentru tutorial complet Urmăriți video pe canalul nostru YouTube https:// youtube. com / robocircuits * /
#include #include
int i = 0, j = 0, k = 150;
// Porniți DS3231 utilizând interfața hardware DS3231 rtc (SDA, SCL);
#ifdef _AVR_ #include #endif
// Care pin de pe Arduino este conectat la NeoPixels? // Pe un Trinket sau Gemma, vă sugerăm să schimbați acest lucru la 1 #define PIN 6
// Câți NeoPixeli sunt atașați la Arduino? #define NUMPIXELS 45
// Când configurăm biblioteca NeoPixel, îi spunem câți pixeli și ce pin să folosească pentru a trimite semnale. // Rețineți că pentru benzile NeoPixel mai vechi poate fi necesar să schimbați al treilea parametru - consultați exemplul strandtest // pentru mai multe informații despre valorile posibile. Adafruit_NeoPixel pixels = Adafruit_NeoPixel (NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
int delayval = 500; // întârziere pentru o jumătate de secundă
void setup () {// Aceasta este pentru Trinket 5V 16MHz, puteți elimina aceste trei linii dacă nu utilizați un Trinket #if definit (_AVR_ATtiny85_) dacă (F_CPU == 16000000) clock_prescale_set (clock_div_1); #endif // Sfârșitul codului special bibelou
pixeli.begin (); // Aceasta inițializează biblioteca NeoPixel. // Configurare conexiune Serial Serial.begin (115200); // Inițializați obiectul rtc rtc.begin (); // Următoarele linii pot fi necomentate pentru a seta data și ora //rtc.setDOW(MIERCURI); // Setați ziua din săptămână la DUMINICĂ //rtc.setTime(12, 0, 0); // Setați ora la 12:00:00 (format 24hr) //rtc.setDate(1, 1, 2014); // Setați data la 1 ianuarie 2014}
void loop () {if (digitalRead (2) == HIGH) {int a = analogRead (A0); int b = analogRead (A1); int c = analogRead (A2); i = hartă (a, 0, 1025, 0, 150); // Culoare verde j = hartă (b, 0, 1025, 0, 150); // Culoare albastră k = hartă (c, 0, 1025, 0, 150); // Culoare roșie} else {i = 0; j = 0; k = 150; }
// Cod pentru iluminare din spate pentru (int x = 29; x <= 45; x ++) {pixels.setPixelColor (x, pixels. Color (i, j, k)); pixels.show (); }
// Preluarea timpului real din rtc String x = rtc.getTimeStr (); // Trimite timp Serial.println (rtc.getTimeStr ()); int hour1 = x.charAt (0); int hour2 = x.charAt (1); int min1 = x.charAt (3); int min2 = x.charAt (4); ora1 = ora1-48; ora2 = ora2-48; min1 = min1-48; min2 = min2-48;
// Afișarea timpului pe comutatorul Ceas (oră1) {// caz 0: zero (0); //pauză; cazul 1: unul (0); pauză; cazul 2: două (0); pauză; implicit: nulll (0); pauză; } switch (hour2) {case 0: zero (7); pauză; cazul 1: unul (7); pauză; cazul 2: două (7); pauză; cazul 3: trei (7); pauză; cazul 4: patru (7); pauză; cazul 5: cinci (7); pauză; cazul 6: șase (7); pauză; cazul 7: șapte (7); pauză; caz 8: opt (7); pauză; cazul 9: nouă (7); pauză; implicit: nulll (7); pauză; } comutator (min1) {caz 0: zero (15); pauză; cazul 1: unul (15); pauză; cazul 2: două (15); pauză; cazul 3: trei (15); pauză; cazul 4: patru (15); pauză; cazul 5: cinci (15); pauză; implicit: nulll (15); pauză; } comutator (min2) {caz 0: zero (22); pauză; cazul 1: unul (22); pauză; cazul 2: două (22); pauză; cazul 3: trei (22); pauză; cazul 4: patru (22); pauză; cazul 5: cinci (22); pauză; cazul 6: șase (22); pauză; cazul 7: șapte (22); pauză; cazul 8: opt (22); pauză; cazul 9: nouă (22); pauză; implicit: nulll (22); pauză; } pixels.setPixelColor (14, pixels. Color (i, j, k)); pixels.show (); întârziere (250); pixels.setPixelColor (14, pixels. Color (0, 0, 0)); pixels.show (); întârziere (250); }
nul zero (int a) {pixels.setPixelColor (a + 0, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a + 1, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a + 2, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a + 3, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a + 4, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a + 5, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a + 6, pixels. Color (i, j, k)); pixels.show (); } void one (int a) {pixels.setPixelColor (a + 0, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a + 1, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a + 2, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a + 3, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a + 4, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a + 5, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a + 6, pixels. Color (i, j, k)); pixels.show (); } void two (int a) {pixels.setPixelColor (a + 0, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a + 1, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a + 2, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a + 3, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a + 4, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a + 5, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a + 6, pixels. Color (0, 0, 0)); pixels.show (); } void three (int a) {pixels.setPixelColor (a + 0, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a + 1, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a + 2, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a + 3, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a + 4, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a + 5, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a + 6, pixels. Color (i, j, k)); pixels.show (); } void four (int a) {pixels.setPixelColor (a + 0, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a + 1, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a + 2, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a + 3, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a + 4, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a + 5, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a + 6, pixels. Color (i, j, k)); pixels.show (); } void five (int a) {pixels.setPixelColor (a + 0, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a + 1, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a + 2, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a + 3, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a + 4, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a + 5, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a + 6, pixels. Color (i, j, k)); pixels.show (); } void six (int a) {pixels.setPixelColor (a + 0, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a + 1, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a + 2, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a + 3, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a + 4, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a + 5, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a + 6, pixels. Color (i, j, k)); pixels.show (); } void seven (int a) {pixels.setPixelColor (a + 0, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a + 1, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a + 2, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a + 3, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a + 4, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a + 5, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a + 6, pixels. Color (i, j, k)); pixels.show (); } void eight (int a) {pixels.setPixelColor (a + 0, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a + 1, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a + 2, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a + 3, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a + 4, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a + 5, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a + 6, pixels. Color (i, j, k)); pixels.show (); } void nine (int a) {pixels.setPixelColor (a + 0, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a + 1, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a + 2, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a + 3, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a + 4, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a + 5, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a + 6, pixels. Color (i, j, k)); pixels.show (); } void nulll (int a) {pixels.setPixelColor (a + 0, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a + 1, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a + 2, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a + 3, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a + 4, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a + 5, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a + 6, pixels. Color (0, 0, 0)); pixels.show (); }
Pasul 4: Mulțumesc
vizitați
Recomandat:
Cum se folosește un modul de ceas în timp real (DS3231): 5 pași
Cum se folosește un modul de ceas în timp real (DS3231): DS3231 este un ceas I2C în timp real (RTC) cu cost redus, extrem de precis, cu un oscilator de cristal integrat compensat de temperatură (TCXO) și cristal. Dispozitivul încorporează o intrare a bateriei și menține o cronometrare exactă atunci când alimentarea principală la
Ceas în timp real cu Arduino: 3 pași
Ceas în timp real cu Arduino: În acest proiect, vom crea un ceas cu ajutorul modulului Arduino și RTC. După cum știm, Arduino nu poate afișa ora reală, așa că vom folosi modulul RTC pentru a afișa ora potrivită pe ecranul LCD. Citiți cu atenție tot pasul, vă va ajuta
Setarea DS3231 RTC (ceas în timp real) cu precizie, rapiditate și automatizare folosind Java (+ -1s): 3 pași
Setarea DS3231 RTC (ceas în timp real) cu precizie, rapiditate și automatizare folosind Java (+ -1s): acest instructable vă va arăta cum să setați ora pe un ceas DS3231 în timp real folosind un Arduino și o mică aplicație Java care utilizează conexiunea serială a Arduino. Logica de bază a acestui program: 1. Arduino trimite o cerere în serie
Ceas Arduino bazat pe modulul DS1307 Ceas în timp real (RTC) și 0.96: 5 pași
Ceas bazat pe Arduino folosind modulul DS1307 Ceas în timp real (RTC) și 0.96: Bună băieți, în acest tutorial vom vedea cum să facem un ceas de lucru folosind un modul de ceas în timp real DS1307 & Afișaje OLED. Deci, vom citi ora din modulul de ceas DS1307. Și tipăriți-l pe ecranul OLED
Realizarea unui ceas cu M5stick C folosind Arduino IDE - Ceas RTC în timp real cu M5stack M5stick-C: 4 pași
Realizarea unui ceas cu M5stick C folosind Arduino IDE | Ceas RTC în timp real cu M5stack M5stick-C: Bună băieți, în acest instructables vom învăța cum să facem un ceas cu placa de dezvoltare m5stick-C a m5stack folosind Arduino IDE. Deci, m5stick va afișa data, ora și amp; săptămână a lunii pe ecran