Sommario:

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

Video: Orologio ambientale in tempo reale: 4 passaggi

Video: Orologio ambientale in tempo reale: 4 passaggi
Video: Vi dico cosa penso sulla sostenibilità 2024, Dicembre
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: