Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

Animierte RGB-Wanduhr

Komponenten und Verbrauchsmaterialien

Arduino Nano R3
× 1
Maxim Integrated DS3231MPMB1 Peripheriemodul
× 1
RGB Stribe Led
× 1
3D-druckbare Teile
× 1

Notwendige Werkzeuge und Maschinen

Lötkolben (generisch)
3D-Drucker (generisch)

Über dieses Projekt

Wenn Sie sich erinnern, haben wir in den vorherigen Abschnitten unsere Uhrendesign-Projekte wie INFINITY MIRROR CLOCK und 7-SEGMENT DIGITAL CLOCK vorgestellt. Jetzt sind wir hier wieder mit einem anderen, besonderen und sehr schönen Zeitmesser.

Es besteht kein Zweifel, dass Sie diese Wanduhr lieben werden. Für dieses Projekt haben wir wieder eine RGB-LED verwendet. Und ein 3D-Drucker ist natürlich sehr wichtig! Wir haben wieder einige der für unsere WALLCLOCK benötigten Teile entworfen und produziert. Und es ist nicht nur eine Uhr, sondern enthält auch verschiedene ANIMATIONEN. Sie können die Uhr auch als Animation verwenden, wenn Sie möchten.

Wie steuerst du diese Uhr und die Animationen, fragst du? Mach dir keine Sorgen. Wir haben es in einer sehr einfachen Anwendung für Sie entwickelt. Sie können den Link herunterladen.

Arduino ist unverzichtbar. Wir haben Arduino Nano verwendet, um Platz zu sparen. Unser RGB WALL CLOCK Projekt, das über eine kleine elektronische Schaltung verfügt, wird Sie nicht im Stich lassen. Wir möchten Sie nicht mehr aufregen, deshalb laden wir Sie ein, sich unser Video unten anzuschauen!

Code

  • Arduino Nano-Code
Arduino Nano CodeArduino
Zeit- und Animationscodes sind in Dateien
#include #include #ifdef __AVR__ #include #endif#define PIN 6#define PIN2 7#define NUMPIXELS 60DS3231 rtc(SDA, SCL);Zeit 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_blue_deger=0;int s_red_deger=255;int s_green_deger=255;int s_blue_deger=0;Adafruit_NeoPixel Pixel =Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZEO); =Adafruit_NeoPixel(60, PIN, NEO_GRB + NEO_KHZ800);Adafruit_NeoPixel strip2 =Adafruit_NeoPixel(12, PIN2, NEO_GRB + NEO_KHZ800);int delayval =10; Void setup () { Serial.begin (9600); rtc.begin();#if definiert (__AVR_ATtiny85__) if (F_CPU ==16000000) clock_prescale_set(clock_div_1);#endif // Ende des Schmuckstück-Sondercodes Pixel.begin(); // Dies initialisiert die NeoPixel-Bibliothek. Pixel2.begin(); strip.begin(); Strip-Show(); strip2.begin(); strip2.show(); //}void loop () { while (Serial.available ()> 0) // balant kuruluyken { delay (10); char c =Serial.read(); Daten=c; if(data=='m') { data=' '; t =rtc.getTime(); hr =t.Stunde; mnt=t.min; sc =t.sek; while(data!='m') { data=Serial.read(); if(data=='+') { hr++; } if(data=='-') {Std--; } for(int i=0;i<12;i++){pixels2.setPixelColor(i, Pixel2.Color (0,255,10));} Pixel2.show(); if(hr>=12){hr=hr-12;} if(hr<0){hr=hr+12;} Pixel2.setPixelColor(hr, Pixel2.Color(255,0,0)); Pixel2.show(); Verzögerung (100); Pixel2.setPixelColor(hr, Pixel2.Color(0,0,0)); Pixel2.show(); Verzögerung (100); } rtc.setTime(hr,mnt,sc); if(data=='m') { data=' '; t =rtc.getTime(); hr =t.Stunde; mnt=t.min; sc =t.sek; while(data!='m') { data=Serial.read(); if(data=='+') {mnt++; if(mnt==60) {mnt=0;}} if(data=='-') { if(mnt==0) {mnt=60;} mnt--; } for(int k=0;k<60;k++){pixels.setPixelColor(k,pixel.Color(0,0,0));} for(int k=0;k<60;k++){pixels. setPixelColor(k, Pixel.Color(25,25,255));k=k+4;} Pixel.setPixelColor(mnt, Pixel.Color(0,250,0)); Pixel.show(); Verzögerung (100); Pixel.setPixelColor(mnt, Pixel.Color(0,0,0)); Pixel.show(); Verzögerung (100); } } rtc.setTime(hr,mnt,sc); Daten=' '; } if(data=='H') { color_select=data; } if(data=='M') { color_select=data; } if(data=='S') { color_select=data; } if(data=='A') { data=' '; colorWipe(strip.Color(255, 0, 0), 50); // Rot colorWipe (strip.Color (0, 255, 0), 50); // Grün colorWipe (strip.Color (0, 0, 255), 50); // Blau // colorWipe (strip.Color (0, 0, 0, 255), 50); // Weiß RGBW // Sende eine Theaterpixelverfolgung in... theaterChase(strip.Color(127, 127, 127), 50); // Weißes theaterChase (strip.Color (127, 0, 0), 50); // Rotes theaterChase (strip.Color (0, 0, 127), 50); // Blauer Regenbogen (20); RainbowCycle(20); theaterChaseRainbow(50); } if(data=='r'&&color_select=='H') { h_red_deger=Serial.parseInt(); Pixel2.setPixelColor(hr, Pixel2.Color(h_red_deger,h_green_deger, h_blue_deger)); Pixel2.show(); } if(data=='g'&&color_select=='H') { h_green_deger=Serial.parseInt(); Pixel2.setPixelColor(hr, Pixel2.Color(h_red_deger,h_green_deger, h_blue_deger)); Pixel2.show(); } if(data=='b'&&color_select=='H') { h_blue_deger=Serial.parseInt(); Pixel2.setPixelColor(hr, Pixel2.Color(h_red_deger,h_green_deger, h_blue_deger)); Pixel2.show(); } if(data=='r'&&color_select=='M') { m_red_deger=Serial.parseInt(); Pixel.setPixelColor(mnt, Pixel.Color(m_red_deger,m_green_deger,m_blue_deger)); Pixel.show(); } if(data=='g'&&color_select=='M') { m_green_deger=Serial.parseInt(); Pixel.setPixelColor(mnt, Pixel.Color(m_red_deger,m_green_deger,m_blue_deger)); Pixel.show(); } if(data=='b'&&color_select=='M') { m_blue_deger=Serial.parseInt(); Pixel.setPixelColor(mnt, Pixel.Color(m_red_deger,m_green_deger,m_blue_deger)); Pixel.show(); }if(data=='r'&&color_select=='S') { s_red_deger=Serial.parseInt(); Pixel.setPixelColor(sc, Pixel.Color(s_red_deger,s_green_deger,s_blue_deger)); Pixel.show(); } if(data=='g'&&color_select=='S') { s_green_deger=Serial.parseInt(); Pixel.setPixelColor(sc, Pixel.Color(s_red_deger,s_green_deger,s_blue_deger)); Pixel.show(); } if(data=='b'&&color_select=='S') { s_blue_deger=Serial.parseInt(); Pixel.setPixelColor(sc, Pixel.Color(s_red_deger,s_green_deger,s_blue_deger)); Pixel.show(); } } t =rtc.getTime(); hr =t.Stunde; mnt=t.min; sc =t.sek; Pixel.setPixelColor(sc, Pixel.Color(s_red_deger,s_green_deger,s_blue_deger)); Pixel.setPixelColor(mnt, Pixel.Color(m_red_deger,m_green_deger,m_blue_deger)); Pixel.show(); for(int i=0;i<12;i++){ if(i==hr) {i++;} Pixel2.setPixelColor(i, Pixel2.Color (0,255,0));} Pixel2.show(); if(hr>=12){hr=hr-12;} Pixel2.setPixelColor(hr, Pixel2.Color(h_red_deger,h_green_deger,h_blue_deger)); Pixel2.show(); Verzögerung(10); Pixel.setPixelColor(sc, Pixel.Color(0,0,0)); for(int k=0;k<60;k++){pixels.setPixelColor(k,pixel.Color(0,0,0));} for(int k=0;k<60;k++){pixels.setPixelColor (k, Pixel.Color(25,25,255));k=k+4;} Pixel.setPixelColor(mnt, Pixel.Color(0,0,0)); Pixel.show(); }void colorWipe(uint32_t c, uint8_t wait) { for(uint16_t i=0; i 

Schaltpläne

Steuerung über Ihr Telefon clockconnect__Ieit1qA91l.apk

Herstellungsprozess

  1. Kuckucksuhr
  2. Arduino-Pov-Vision-Uhr
  3. Einfache Wanduhr mit Adafruit 1/4 60 Ring Neopixel
  4. Einfache Wordclock (Arduino)
  5. Hauptuhr
  6. 3D RGB Arduclock
  7. italienische Wordclock
  8. JX-Wellengenerator
  9. Berliner Uhr
  10. Infinity-Spiegeluhr