Orologio ambientale in tempo reale: 4 passaggi
Orologio ambientale in tempo reale: 4 passaggi
Anonim
Orologio ambientale in tempo reale
Orologio ambientale in tempo reale

Scopo

Ho realizzato questo orologio perché ho una striscia LED indirizzabile in giro e voglio usarlo. Poi ho visto che la mia stanza non ha un buon orologio che corrisponda alle sue pareti. Così ho deciso di creare un orologio che può cambiare i suoi colori in base all'umore degli utenti o al colore della parete.

Passaggio 1: video di YouTube

Image
Image

Guarda questo video di YouTube per le istruzioni complete

Passaggio 2: procedura

Per prima cosa ho preso una tavola di compensato di 24 x 15 pollici.

Tagliare la striscia LED in pezzi e incollarli sulla scheda Quindi, dopo averli saldati, copro il tutto con un foglio di carta nera Quindi incollo un foglio di termocarbone e taglio il termocarbonio con un taglierino affilato a forma di 4 display a sette segmenti insieme a due fori al centro. Quindi ho preparato il mio circuito usando lo schema dei circuiti indicato di seguito

e incollato tutto questo dietro il tabellone. Ho anche ordinato un pcb personalizzato per lo stesso da https://jlcpcb.com forniscono i migliori prototipi di pcb al prezzo più basso dalla Cina e spediscono in tutto il mondo in modo rapido e sicuro. dopo aver saldato tutti i miei componenti sulla mia scheda, ho rimosso la breadboard e fissato tutto dietro la scheda e coperto la parte anteriore utilizzando una sottile carta trasparente traslucida. L'orologio sembra fantastico e aumenta la bellezza del muro. i colori di personalizzazione lo rendono perfetto per qualsiasi parete.

Se ti piace questo progetto iscriviti gentilmente su youtube o visita il nostro sito web https://robocircuits.com Grazie per aver letto!

Passaggio 3: codice

/* Il codice è stato progettato da RoboCircuits

* Visita il nostro sito Web https://robocircuits.com per assistenza su questo codice * Questo codice utilizza la libreria DS3231.h scaricalo da https://robocircuits.com * Per il tutorial completo Guarda il video sul nostro canale YouTube https://youtube. com/robocircuits */

#include #include

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

// Inizia il DS3231 utilizzando l'interfaccia hardware DS3231 rtc(SDA, SCL);

#ifdef _AVR_ #include #endif

// Quale pin dell'Arduino è connesso ai NeoPixel? // Su un Trinket o su Gemma suggeriamo di cambiarlo in 1 #define PIN 6

// Quanti NeoPixel sono collegati ad Arduino? #define NUMPIXELS 45

// Quando impostiamo la libreria NeoPixel, le diciamo quanti pixel e quale pin usare per inviare i segnali. // Nota che per le vecchie strisce NeoPixel potresti aver bisogno di cambiare il terzo parametro--vedi l'esempio strandtest // per maggiori informazioni sui possibili valori. Adafruit_NeoPixel pixel = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);

int delayval = 500; // ritardo di mezzo secondo

void setup() { // Questo è per Trinket 5V 16MHz, puoi rimuovere queste tre righe se non stai usando un Trinket #if definito (_AVR_ATtiny85_) if (F_CPU == 16000000) clock_prescale_set(clock_div_1); #endif // Codice speciale di fine trinket

pixel.begin(); // Questo inizializza la libreria NeoPixel. // Imposta la connessione seriale Serial.begin(115200); // Inizializza l'oggetto rtc rtc.begin(); // Le seguenti righe possono essere decommentate per impostare la data e l'ora //rtc.setDOW(WEDNESDAY); // Imposta il giorno della settimana su DOMENICA //rtc.setTime(12, 0, 0); // Imposta l'ora su 12:00:00 (formato 24 ore) //rtc.setDate(1, 1, 2014); // Imposta la data al 1° gennaio 2014 }

void loop() { if(digitalRead(2)==HIGH) { int a= analogRead(A0); int b= analogRead(A1); int c= analogRead(A2); i=mappa(a, 0, 1025, 0, 150); // Colore verde j=map(b, 0, 1025, 0, 150); // Colore blu k=map(c, 0, 1025, 0, 150); // Colore rosso } else { i= 0; j= 0; k= 150; }

// Codice per retroilluminazione for(int x=29;x<=45;x++) { pixels.setPixelColor(x, pixels. Color(i, j, k)); pixel.mostra(); }

// Recupero in tempo reale da rtc String x=rtc.getTimeStr(); // Invia l'ora Serial.println(rtc.getTimeStr()); int ora1= x.charAt(0); int ora2= 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;

// Visualizzazione dell'ora su Clock switch(hour1) { //case 0: zero(0); //rottura; caso 1: uno(0); rottura; caso 2: due (0); rottura; predefinito: nulll(0); rottura; } switch(hour2) { case 0: zero(7); rottura; caso 1: uno(7); rottura; caso 2: due(7); rottura; caso 3: tre(7); rottura; caso 4: quattro(7); rottura; caso 5: cinque(7); rottura; caso 6: sei (7); rottura; caso 7: sette (7); rottura; caso 8: otto (7); rottura; caso 9: nove (7); rottura; predefinito: nulll(7); rottura; } switch(min1) { case 0: zero(15); rottura; caso 1: uno(15); rottura; caso 2: due(15); rottura; caso 3: tre(15); rottura; caso 4: quattro(15); rottura; caso 5: cinque(15); rottura; predefinito: nulll(15); rottura; } switch(min2) { case 0: zero(22); rottura; caso 1: uno(22); rottura; caso 2: due(22); rottura; caso 3: tre(22); rottura; caso 4: quattro(22); rottura; caso 5: cinque(22); rottura; caso 6: sei(22); rottura; caso 7: sette(22); rottura; caso 8: otto(22); rottura; caso 9: nove(22); rottura; predefinito: nulll(22); rottura; } pixels.setPixelColor(14, pixels. Color(i, j, k)); pixel.mostra(); ritardo(250); pixels.setPixelColor(14, pixels. Color(0, 0, 0)); pixel.mostra(); ritardo(250); }

void zero(int a) { pixels.setPixelColor(a+0, pixels. Color(i, j, k)); pixel.mostra(); pixels.setPixelColor(a+1, pixels. Color(i, j, k)); pixel.mostra(); pixels.setPixelColor(a+2, pixels. Color(i, j, k)); pixel.mostra(); pixels.setPixelColor(a+3, pixels. Color(0, 0, 0)); pixel.mostra(); pixels.setPixelColor(a+4, pixels. Color(i, j, k)); pixel.mostra(); pixels.setPixelColor(a+5, pixels. Color(i, j, k)); pixel.mostra(); pixels.setPixelColor(a+6, pixels. Color(i, j, k)); pixel.mostra(); } void one(int a) { pixels.setPixelColor(a+0, pixels. Color(0, 0, 0)); pixel.mostra(); pixels.setPixelColor(a+1, pixels. Color(0, 0, 0)); pixel.mostra(); pixels.setPixelColor(a+2, pixels. Color(i, j, k)); pixel.mostra(); pixels.setPixelColor(a+3, pixels. Color(0, 0, 0)); pixel.mostra(); pixels.setPixelColor(a+4, pixels. Color(0, 0, 0)); pixel.mostra(); pixels.setPixelColor(a+5, pixels. Color(0, 0, 0)); pixel.mostra(); pixels.setPixelColor(a+6, pixels. Color(i, j, k)); pixel.mostra(); } void two(int a) { pixels.setPixelColor(a+0, pixels. Color(0, 0, 0)); pixel.mostra(); pixels.setPixelColor(a+1, pixels. Color(i, j, k)); pixel.mostra(); pixels.setPixelColor(a+2, pixels. Color(i, j, k)); pixel.mostra(); pixels.setPixelColor(a+3, pixels. Color(i, j, k)); pixel.mostra(); pixels.setPixelColor(a+4, pixels. Color(i, j, k)); pixel.mostra(); pixels.setPixelColor(a+5, pixels. Color(i, j, k)); pixel.mostra(); pixels.setPixelColor(a+6, pixels. Color(0, 0, 0)); pixel.mostra(); } void three(int a) { pixels.setPixelColor(a+0, pixels. Color(0, 0, 0)); pixel.mostra(); pixels.setPixelColor(a+1, pixels. Color(i, j, k)); pixel.mostra(); pixels.setPixelColor(a+2, pixels. Color(i, j, k)); pixel.mostra(); pixels.setPixelColor(a+3, pixels. Color(i, j, k)); pixel.mostra(); pixels.setPixelColor(a+4, pixels. Color(0, 0, 0)); pixel.mostra(); pixels.setPixelColor(a+5, pixels. Color(i, j, k)); pixel.mostra(); pixels.setPixelColor(a+6, pixels. Color(i, j, k)); pixel.mostra(); } void four(int a) { pixels.setPixelColor(a+0, pixels. Color(i, j, k)); pixel.mostra(); pixels.setPixelColor(a+1, pixels. Color(0, 0, 0)); pixel.mostra(); pixels.setPixelColor(a+2, pixels. Color(i, j, k)); pixel.mostra(); pixels.setPixelColor(a+3, pixels. Color(i, j, k)); pixel.mostra(); pixels.setPixelColor(a+4, pixels. Color(0, 0, 0)); pixel.mostra(); pixels.setPixelColor(a+5, pixels. Color(0, 0, 0)); pixel.mostra(); pixels.setPixelColor(a+6, pixels. Color(i, j, k)); pixel.mostra(); } void five(int a) { pixels.setPixelColor(a+0, pixels. Color(i, j, k)); pixel.mostra(); pixels.setPixelColor(a+1, pixels. Color(i, j, k)); pixel.mostra(); pixels.setPixelColor(a+2, pixels. Color(0, 0, 0)); pixel.mostra(); pixels.setPixelColor(a+3, pixels. Color(i, j, k)); pixel.mostra(); pixels.setPixelColor(a+4, pixels. Color(0, 0, 0)); pixel.mostra(); pixels.setPixelColor(a+5, pixels. Color(i, j, k)); pixel.mostra(); pixels.setPixelColor(a+6, pixels. Color(i, j, k)); pixel.mostra(); } void six(int a) { pixels.setPixelColor(a+0, pixels. Color(i, j, k)); pixel.mostra(); pixels.setPixelColor(a+1, pixels. Color(i, j, k)); pixel.mostra(); pixels.setPixelColor(a+2, pixels. Color(0, 0, 0)); pixel.mostra(); pixels.setPixelColor(a+3, pixels. Color(i, j, k)); pixel.mostra(); pixels.setPixelColor(a+4, pixels. Color(i, j, k)); pixel.mostra(); pixels.setPixelColor(a+5, pixels. Color(i, j, k)); pixel.mostra(); pixels.setPixelColor(a+6, pixels. Color(i, j, k)); pixel.mostra(); } void seven(int a) { pixels.setPixelColor(a+0, pixels. Color(0, 0, 0)); pixel.mostra(); pixels.setPixelColor(a+1, pixels. Color(i, j, k)); pixel.mostra(); pixels.setPixelColor(a+2, pixels. Color(i, j, k)); pixel.mostra(); pixels.setPixelColor(a+3, pixels. Color(0, 0, 0)); pixel.mostra(); pixels.setPixelColor(a+4, pixels. Color(0, 0, 0)); pixel.mostra(); pixels.setPixelColor(a+5, pixels. Color(0, 0, 0)); pixel.mostra(); pixels.setPixelColor(a+6, pixels. Color(i, j, k)); pixel.mostra(); } void otto(int a) { pixels.setPixelColor(a+0, pixels. Color(i, j, k)); pixel.mostra(); pixels.setPixelColor(a+1, pixels. Color(i, j, k)); pixel.mostra(); pixels.setPixelColor(a+2, pixels. Color(i, j, k)); pixel.mostra(); pixels.setPixelColor(a+3, pixels. Color(i, j, k)); pixel.mostra(); pixels.setPixelColor(a+4, pixels. Color(i, j, k)); pixel.mostra(); pixels.setPixelColor(a+5, pixels. Color(i, j, k)); pixel.mostra(); pixels.setPixelColor(a+6, pixels. Color(i, j, k)); pixel.mostra(); } void nine(int a) { pixels.setPixelColor(a+0, pixels. Color(i, j, k)); pixel.mostra(); pixels.setPixelColor(a+1, pixels. Color(i, j, k)); pixel.mostra(); pixels.setPixelColor(a+2, pixels. Color(i, j, k)); pixel.mostra(); pixels.setPixelColor(a+3, pixels. Color(i, j, k)); pixel.mostra(); pixels.setPixelColor(a+4, pixels. Color(0, 0, 0)); pixel.mostra(); pixels.setPixelColor(a+5, pixels. Color(i, j, k)); pixel.mostra(); pixels.setPixelColor(a+6, pixels. Color(i, j, k)); pixel.mostra(); } void nulll(int a) { pixels.setPixelColor(a+0, pixels. Color(0, 0, 0)); pixel.mostra(); pixels.setPixelColor(a+1, pixels. Color(0, 0, 0)); pixel.mostra(); pixels.setPixelColor(a+2, pixels. Color(0, 0, 0)); pixel.mostra(); pixels.setPixelColor(a+3, pixels. Color(0, 0, 0)); pixel.mostra(); pixels.setPixelColor(a+4, pixels. Color(0, 0, 0)); pixel.mostra(); pixels.setPixelColor(a+5, pixels. Color(0, 0, 0)); pixel.mostra(); pixels.setPixelColor(a+6, pixels. Color(0, 0, 0)); pixel.mostra(); }

Passaggio 4: grazie

visita

Consigliato: