Sommario:
Video: Orologio ambientale in tempo reale: 4 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:02
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
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:
Come utilizzare un modulo orologio in tempo reale (DS3231): 5 passaggi
Come utilizzare un modulo orologio in tempo reale (DS3231): Il DS3231 è un orologio in tempo reale (RTC) I2C a basso costo ed estremamente accurato con un oscillatore a cristallo integrato con compensazione della temperatura (TCXO) e cristallo. Il dispositivo incorpora un ingresso batteria e mantiene un cronometraggio accurato quando l'alimentazione principale al th
Tracker Covid19 in tempo reale che utilizza ESP8266 e OLED - Dashboard Covid19 in tempo reale: 4 passaggi
Tracker Covid19 in tempo reale che utilizza ESP8266 e OLED | Dashboard Covid19 in tempo reale: visita il sito Web Techtronic Harsh: http://techtronicharsh.com Ovunque c'è un enorme focolaio del Novel Corona Virus (COVID19). È diventato necessario tenere d'occhio l'attuale scenario di COVID-19 nel mondo. Quindi, essendo a casa, questo è stato il p
Orologio in tempo reale con AT89s52: 3 passaggi
Real Time Clock utilizzando AT89s52: BENTORNATO, questo è shubham Trivedi e oggi progetterò il Real Time Clock utilizzando il microcontrollore At89s52. Il Microcontrollore AT89S52 è il cuore di questo progetto. DS1307 IC viene utilizzato come RTC. Questo IC DS1307 richiedeva l'interfaccia I2C, ma 89
Orologio in tempo reale con Arduino: 3 passaggi
Orologio in tempo reale con Arduino: in questo progetto, creeremo un orologio con l'aiuto del modulo Arduino e RTC. Come sappiamo, Arduino non può visualizzare l'ora effettiva, quindi utilizzeremo il modulo RTC per visualizzare l'ora corretta sul display LCD. Leggi attentamente tutti i passaggi, ti aiuterà
Creare un orologio con M5stick C usando Arduino IDE - Orologio in tempo reale RTC con M5stack M5stick-C: 4 passaggi
Creare un orologio con M5stick C usando Arduino IDE | Orologio in tempo reale RTC con M5stack M5stick-C: Ciao ragazzi in questo tutorial impareremo come creare un orologio con la scheda di sviluppo m5stick-C di m5stack usando Arduino IDE. Quindi m5stick visualizzerà data, ora e amp; settimana del mese sul display