Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

Reloj de pared RGB animado

Componentes y suministros

Arduino Nano R3
× 1
Módulo periférico Maxim Integrated DS3231MPMB1
× 1
RGB Stribe Led
× 1
Piezas imprimibles en 3D
× 1

Herramientas y máquinas necesarias

Soldador (genérico)
Impresora 3D (genérica)

Acerca de este proyecto

Si recuerdas, presentamos nuestros proyectos de diseño de relojes como INFINITY MIRROR CLOCK y 7-SEGMENT DIGITAL CLOCK en secciones anteriores. Ahora aquí estamos de nuevo con un reloj diferente, especial y bastante hermoso.

Sin duda te encantará este reloj de pared. Para este proyecto, volvimos a utilizar un LED RGB. ¡Y una impresora 3D es muy importante, por supuesto! Diseñamos y producimos algunas de las piezas necesarias para nuestro RELOJ DE PARED nuevamente. Y no es solo un reloj, también contiene diferentes ANIMACIONES. También puede utilizar el reloj como animación si lo desea.

¿Cómo controlas este reloj y animaciones, preguntas? No te preocupes. Lo desarrollamos en una aplicación muy simple para ti. Puede descargar el enlace.

Arduino es indispensable. Usamos Arduino Nano para ahorrar espacio. Nuestro proyecto RGB WALL CLOCK, que tiene un pequeño circuito electrónico, no le defraudará. No queremos emocionarte más, ¡así que te invitamos a ver nuestro video a continuación!

Código

  • Código Arduino Nano
Arduino Nano Code Arduino
Los códigos de tiempo y animación están en los archivos
 #include  #include  #ifdef __AVR__ #include  # endif # define PIN 6 # define PIN2 7 # define NUMPIXELS 60DS3231 rtc (SDA, SCL); Tiempo t; int hr; int mnt; int sc; char data; char color_select; int h_red_deger =255; int h_green_deger =0; int h_blue_deger =0; int m_red_deger =0; int m_green_deger =255; int m_deger_blue =0; int s_red_deger =255; int s_green_deger =255; int s_blue_deger =0; Adafruit_NeoPixel píxeles =Adafruit_NeoPixel (NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800); Ada_Nel_Grb + NEO_KHZ800) (Ada_Nel_Fruta2Pixel_Pixel2, Adafruit_NeoPixel, píxeles2 =Adafruit_NeoPixel (60, PIN, NEO_GRB + NEO_KHZ800); Adafruit_NeoPixel strip2 =Adafruit_NeoPixel (12, PIN2, NEO_GRB + NEO_KHZ800); int delayval =10; configuración vacía () {Serial.begin (9600); rtc.begin (); # if definido (__AVR_ATtiny85__) if (F_CPU ==16000000) clock_prescale_set (clock_div_1); # endif // Fin del código especial de la baratija pixels.begin (); // Esto inicializa la biblioteca NeoPixel. pixels2.begin (); strip.begin (); strip.show (); strip2.begin (); strip2.show (); //} bucle vacío () {while (Serial.available ()> 0) // balant kuruluyken {retraso (10); char c =Serial.read (); datos =c; si (datos =='m') {datos =''; t =rtc.getTime (); hr =t.hora; mnt =t.min; sc =t.sec; while (datos! ='m') {datos =Serial.read (); si (datos =='+') {hr ++; } si (datos =='-') {hr--; } for (int i =0; i <12; i ++) {pixels2.setPixelColor (i, pixels2.Color (0,255,10));} pixels2.show (); if (hr> =12) {hr =hr-12;} if (hr <0) {hr =hr + 12;} pixels2.setPixelColor (hr, pixels2.Color (255,0,0)); pixels2.show (); retraso (100); pixels2.setPixelColor (hr, pixels2.Color (0,0,0)); pixels2.show (); retraso (100); } rtc.setTime (hr, mnt, sc); si (datos =='m') {datos =''; t =rtc.getTime (); hr =t.hora; mnt =t.min; sc =t.sec; while (datos! ='m') {datos =Serial.read (); si (datos =='+') {mnt ++; if (mnt ==60) {mnt =0;}} if (datos =='-') {if (mnt ==0) {mnt =60;} mnt--; } para (int k =0; k <60; k ++) {pixels.setPixelColor (k, pixels.Color (0,0,0));} for (int k =0; k <60; k ++) {píxeles. setPixelColor (k, pixels.Color (25,25,255)); k =k + 4;} pixels.setPixelColor (mnt, pixels.Color (0,250,0)); pixels.show (); retraso (100); pixels.setPixelColor (mnt, pixels.Color (0,0,0)); pixels.show (); retraso (100); }} rtc.setTime (hr, mnt, sc); datos =''; } if (data =='H') {color_select =data; } if (data =='M') {color_select =data; } if (data =='S') {color_select =data; } si (datos =='A') {datos =''; colorWipe (tira.Color (255, 0, 0), 50); // Red colorWipe (strip.Color (0, 255, 0), 50); // Verde colorWipe (strip.Color (0, 0, 255), 50); // Azul // colorWipe (strip.Color (0, 0, 0, 255), 50); // White RGBW // Envía una persecución de píxeles de teatro en ... theaterChase (strip.Color (127, 127, 127), 50); // White theatreChase (strip.Color (127, 0, 0), 50); // Red theatreChase (strip.Color (0, 0, 127), 50); // Arco iris azul (20); rainbowCycle (20); theaterChaseRainbow (50); } if (data =='r' &&color_select =='H') {h_red_deger =Serial.parseInt (); píxeles2.setPixelColor (hr, píxeles2.Color (h_deger_rojo, h_deger_verde, h_deger_azul)); pixels2.show (); } if (data =='g' &&color_select =='H') {h_green_deger =Serial.parseInt (); píxeles2.setPixelColor (hr, píxeles2.Color (h_deger_rojo, h_deger_verde, h_deger_azul)); pixels2.show (); } if (data =='b' &&color_select =='H') {h_blue_deger =Serial.parseInt (); píxeles2.setPixelColor (hr, píxeles2.Color (h_deger_rojo, h_deger_verde, h_deger_azul)); pixels2.show (); } if (data =='r' &&color_select =='M') {m_red_deger =Serial.parseInt (); pixels.setPixelColor (mnt, pixels.Color (m_red_deger, m_green_deger, m_blue_deger)); pixels.show (); } if (data =='g' &&color_select =='M') {m_green_deger =Serial.parseInt (); pixels.setPixelColor (mnt, pixels.Color (m_red_deger, m_green_deger, m_blue_deger)); pixels.show (); } if (data =='b' &&color_select =='M') {m_blue_deger =Serial.parseInt (); pixels.setPixelColor (mnt, pixels.Color (m_red_deger, m_green_deger, m_blue_deger)); pixels.show (); } if (data =='r' &&color_select =='S') {s_red_deger =Serial.parseInt (); pixels.setPixelColor (sc, pixels.Color (s_red_deger, s_green_deger, s_blue_deger)); pixels.show (); } if (data =='g' &&color_select =='S') {s_green_deger =Serial.parseInt (); pixels.setPixelColor (sc, pixels.Color (s_red_deger, s_green_deger, s_blue_deger)); pixels.show (); } if (data =='b' &&color_select =='S') {s_blue_deger =Serial.parseInt (); pixels.setPixelColor (sc, pixels.Color (s_red_deger, s_green_deger, s_blue_deger)); pixels.show (); }} t =rtc.getTime (); hr =t.hora; mnt =t.min; sc =t.sec; pixels.setPixelColor (sc, pixels.Color (s_red_deger, s_green_deger, s_blue_deger)); pixels.setPixelColor (mnt, pixels.Color (m_red_deger, m_green_deger, m_blue_deger)); pixels.show (); for (int i =0; i <12; i ++) {if (i ==hr) {i ++;} pixels2.setPixelColor (i, pixels2.Color (0,255,0));} pixels2.show (); if (hr> =12) {hr =hr-12;} pixels2.setPixelColor (hr, pixels2.Color (h_deger_red, h_deger_green, h_blue_deger)); pixels2.show (); retraso (10); pixels.setPixelColor (sc, pixels.Color (0,0,0)); for (int k =0; k <60; k ++) {pixels.setPixelColor (k, pixels.Color (0,0,0));} for (int k =0; k <60; k ++) {pixels.setPixelColor (k, píxeles.Color (25,25,255)); k =k + 4;} píxeles.setPixelColor (mnt, píxeles.Color (0,0,0)); pixels.show (); } void colorWipe (uint32_t c, uint8_t wait) {for (uint16_t i =0; i   

Esquemas

controlando desde tu teléfono clockconnect__Ieit1qA91l.apk

Proceso de manufactura

  1. Reloj de cuco
  2. Reloj de visión pov de Arduino
  3. Reloj de pared simple con Adafruit 1/4 60 Ring Neopixel
  4. Reloj de palabras simple (Arduino)
  5. Reloj maestro
  6. Arduclock 3D RGB
  7. Reloj Word en italiano
  8. Generador de ondas JX
  9. Reloj de Berlín
  10. Reloj de matriz de 7 segmentos
  11. Reloj espejo infinito