Taula de continguts:
Vídeo: Rellotge en temps real ambiental: 4 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:14
Objectiu
He fabricat aquest rellotge perquè tinc una tira de LED adreçable i vull fer-lo servir. Llavors vaig veure que la meva habitació no tenia un bon rellotge que coincideixi amb les seves parets. Així que vaig decidir fabricar un rellotge que pogués canviar els seus colors segons l’estat d’ànim o el color de la paret dels usuaris.
Pas 1: vídeo de YouTube
Mireu aquest vídeo de youtube per obtenir instruccions completes
Pas 2: procediment
Primer vaig agafar una placa de fusta contraxapada de 24 x 15 polzades.
Tallar la tira LED en trossos i enganxar-los a la pissarra. Després de soldar-los, cobreixo el conjunt amb un paper negre negre. A continuació, enganxo una làmina de termocoal a sobre i tallo el termocoal amb un tallador afilat en forma de 4 pantalles de set segments juntament amb dos forats al centre. Llavors vaig preparar el meu circuit mitjançant el diagrama de circuits que es mostra a continuació
i enganxar-ho tot darrere del tauler. També he demanat un pcb personalitzat per a la mateixa a https://jlcpcb.com; proporcionen els millors prototips de pcb al preu més baix de la Xina i s’envien a tot el món de manera ràpida i segura. després de soldar tots els meus components del tauler, vaig treure el tauler i vaig arreglar tot el que hi havia darrere del tauler i vaig cobrir la secció frontal amb un paper de traça translúcid prim. El rellotge té un aspecte increïble i augmenta la bellesa de la paret. els colors de personalització el fan perfecte per a qualsevol paret.
Si us agrada aquest projecte, subscriviu-vos amablement a youtube o visiteu el nostre lloc web https://robocircuits.com Gràcies per llegir!
Pas 3: Codi
/ * El codi està dissenyat per RoboCircuits
* Visiteu el nostre lloc web https://robocircuits.com per obtenir ajuda sobre aquest codi. * Aquest codi utilitza DS3231.h Biblioteca, descarregueu-lo des de https://robocircuits.com * Per obtenir un tutorial complet, vegeu el vídeo al nostre canal de YouTube https:// youtube. com / robocircuits * /
#include #include
int i = 0, j = 0, k = 150;
// Inicieu el DS3231 mitjançant la interfície de maquinari DS3231 rtc (SDA, SCL);
#ifdef _AVR_ #include #endif
// Quin pin de l'Arduino està connectat als NeoPixels? // En un Trinket o Gemma, us recomanem que el canvieu per 1 #define PIN 6
// Quants NeoPixels estan connectats a l'Arduino? #define NUMPIXELS 45
// Quan configurem la biblioteca NeoPixel, li indiquem quants píxels i quin pin utilitzar per enviar senyals. // Tingueu en compte que per a les tires de NeoPixel més antigues és possible que hàgiu de canviar el tercer paràmetre; consulteu l'exemple de prova de cadena // per obtenir més informació sobre possibles valors. Adafruit_NeoPixel pixels = Adafruit_NeoPixel (NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
int delayval = 500; // demorar mig segon
void setup () {// Això és per a Trinket 5V 16MHz, podeu eliminar aquestes tres línies si no feu servir un Trinket #if definit (_AVR_ATtiny85_) si (F_CPU == 16000000) clock_prescale_set (clock_div_1); #endif // Codi especial de fi de bibelot
pixels.begin (); // Això inicialitza la biblioteca NeoPixel. // Configuració de la connexió sèrie Serial.begin (115200); // Inicialitzeu l'objecte rtc rtc.begin (); // Es poden comentar les línies següents per establir la data i l'hora //rtc.setDOW(DIMECRES); // Estableix el dia de la setmana a DIUMENGE //rtc.setTime(12, 0, 0); // Estableix l’hora a les 12:00:00 (format 24 hores) //rtc.setDate(1, 1, 2014); // Estableix la data a l'1 de gener de 2014}
bucle buit () {if (digitalRead (2) == HIGH) {int a = analogRead (A0); int b = analogRead (A1); int c = analogRead (A2); i = mapa (a, 0, 1025, 0, 150); // Color verd j = mapa (b, 0, 1025, 0, 150); // Color blau k = mapa (c, 0, 1025, 0, 150); // Color vermell} else {i = 0; j = 0; k = 150; }
// Codi de llum de fons per a (int x = 29; x <= 45; x ++) {pixels.setPixelColor (x, pixels. Color (i, j, k)); pixels.show (); }
// Obtenció en temps real de rtc String x = rtc.getTimeStr (); // Temps d’enviament Serial.println (rtc.getTimeStr ()); int hora1 = x.charAt (0); int hour2 = x.charAt (1); int min1 = x.charAt (3); int min2 = x.charAt (4); hora1 = hora1-48; hora2 = hora2-48; min1 = min1-48; min2 = min2-48;
// Visualització de l'hora a l'interruptor de rellotge (hora1) {// cas 0: zero (0); //trencar; cas 1: un (0); trencar; cas 2: dos (0); trencar; per defecte: nulll (0); trencar; } commutador (hora2) {cas 0: zero (7); trencar; cas 1: un (7); trencar; cas 2: dos (7); trencar; cas 3: tres (7); trencar; cas 4: quatre (7); trencar; cas 5: cinc (7); trencar; cas 6: sis (7); trencar; cas 7: set (7); trencar; cas 8: vuit (7); trencar; cas 9: nou (7); trencar; per defecte: nulll (7); trencar; } commutador (min1) {cas 0: zero (15); trencar; cas 1: un (15); trencar; cas 2: dos (15); trencar; cas 3: tres (15); trencar; cas 4: quatre (15); trencar; cas 5: cinc (15); trencar; per defecte: nulll (15); trencar; } commutador (min2) {cas 0: zero (22); trencar; cas 1: un (22); trencar; cas 2: dos (22); trencar; cas 3: tres (22); trencar; cas 4: quatre (22); trencar; cas 5: cinc (22); trencar; cas 6: sis (22); trencar; cas 7: set (22); trencar; cas 8: vuit (22); trencar; cas 9: nou (22); trencar; per defecte: nulll (22); trencar; } pixels.setPixelColor (14, pixels. Color (i, j, k)); pixels.show (); retard (250); pixels.setPixelColor (14, pixels. Color (0, 0, 0)); pixels.show (); retard (250); }
buit 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 vuit (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 (); }
Pas 4: gràcies
visiteu
Recomanat:
Com utilitzar un mòdul de rellotge en temps real (DS3231): 5 passos
Com utilitzar un mòdul de rellotge en temps real (DS3231): el DS3231 és un rellotge en temps real (RTC) I2C de baix cost i extremadament precís amb un oscil·lador de cristall compensat per temperatura (TCXO) i cristall. El dispositiu incorpora una entrada de bateria i manté una cronometra
Rellotge en temps real amb Arduino: 3 passos
Rellotge en temps real amb Arduino: en aquest projecte, crearem un rellotge amb l’ajut del mòdul Arduino i RTC. Com sabem, l'Arduino no pot mostrar l'hora real, de manera que farem servir el mòdul RTC per mostrar l'hora adequada a la pantalla LCD. Llegiu detingudament tot el pas, us ajudarà
Configuració del DS3231 RTC (rellotge en temps real) de manera precisa, ràpida i automatitzada mitjançant Java (+ -1s): 3 passos
Configuració del DS3231 RTC (rellotge en temps real) amb precisió, ràpida i automatitzada mitjançant Java (+ -1s): aquest manual us mostrarà com configurar l'hora en un rellotge en temps real DS3231 mitjançant un Arduino i una petita aplicació Java que utilitza la connexió sèrie de l’Arduino. La lògica bàsica d’aquest programa: 1. L'Arduino envia una sol·licitud en sèrie
Rellotge basat en Arduino mitjançant el mòdul Rellotge en temps real (RTC) DS1307 i 0,96: 5 passos
Rellotge basat en Arduino mitjançant el mòdul DS1307 de rellotge en temps real (RTC) i 0,96: Hola, nois en aquest tutorial, veurem com fer un rellotge de treball mitjançant un mòdul de rellotge en temps real DS1307 & Pantalles OLED, així que llegirem l’hora del mòdul de rellotge DS1307. I imprimiu-lo a la pantalla OLED
Fer un rellotge amb M5stick C mitjançant Arduino IDE - Rellotge RTC en temps real amb M5stack M5stick-C: 4 passos
Fer un rellotge amb M5stick C mitjançant Arduino IDE | Rellotge en temps real RTC amb M5stack M5stick-C: Hola, nois en aquest instructable, aprendrem a fer un rellotge amb la placa de desenvolupament m5stick-C de m5stack mitjançant Arduino IDE. Així, m5stick mostrarà data, hora i amp; setmana del mes a la pantalla