Taula de continguts:

Rellotge en temps real ambiental: 4 passos
Rellotge en temps real ambiental: 4 passos

Vídeo: Rellotge en temps real ambiental: 4 passos

Vídeo: Rellotge en temps real ambiental: 4 passos
Vídeo: ТАЙМЛАПС БУДУЩЕГО: Путешествие к концу времени (4K) 2024, Juliol
Anonim
Rellotge ambient en temps real
Rellotge ambient en temps real

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

Image
Image

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: