Cuprins:

Ceas ambient în timp real: 4 pași
Ceas ambient în timp real: 4 pași

Video: Ceas ambient în timp real: 4 pași

Video: Ceas ambient în timp real: 4 pași
Video: Procedura de resincronizare a termostatelor Salus RT305RF, RT310RF si RT510RF - CazaneCentrale.ro 2024, Iulie
Anonim
Ceas în timp real ambient
Ceas în timp real ambient

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

Image
Image

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: