Horloge murale RVB animée
Composants et fournitures
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
Outils et machines nécessaires
| ||||
|
À propos de ce projet
Si vous vous en souvenez, nous avons présenté nos projets de conception d'horloges comme INFINITY MIRROR CLOCK et 7-SEGMENT DIGITAL CLOCK dans les sections précédentes. Nous revoilà maintenant avec un garde-temps différent, spécial et assez beau.
Il ne fait aucun doute que vous allez adorer cette horloge murale. Pour ce projet, nous avons à nouveau utilisé une LED RVB. Et une imprimante 3D est très importante, bien sûr ! Nous avons conçu et produit à nouveau certaines des pièces nécessaires à notre HORLOGE MURALE. Et ce n'est pas seulement une horloge, elle contient également différentes ANIMATIONS. Vous pouvez également utiliser l'horloge comme animation si vous le souhaitez.
Comment contrôlez-vous cette horloge et ces animations, demandez-vous ? Ne t'en fais pas. Nous l'avons développé dans une application très simple pour vous. Vous pouvez télécharger le lien.
Arduino est indispensable. Nous avons utilisé Arduino Nano pour économiser de l'espace. Notre projet RGB WALL CLOCK, qui possède un petit circuit électronique, ne vous décevra pas. Nous ne voulons plus vous exciter, alors nous vous invitons à regarder notre vidéo ci-dessous !
Code
- Arduino Nanocode
Arduino Nano CodeArduino
Les codes de temps et d'animation sont dans les fichiers#include#include #ifdef __AVR__ #include #endif#define PIN 6#define PIN2 7#define NUMPIXELS 60DS3231 rtc(SDA, SCL);Time 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 pixels =Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRBPix + NEO_KHZ800);Adafruit_Neofruit_EOPixel_NeB2 =Adafruit_EOPixel pixels2 ; =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 défini (__AVR_ATtiny85__) if (F_CPU ==16000000) clock_prescale_set(clock_div_1);#endif // Code spécial de fin de bijou pixels.begin(); // Ceci initialise la bibliothèque NeoPixel. pixels2.begin(); strip.begin(); strip.show(); strip2.begin(); strip2.show();//}void loop() { while(Serial.available()> 0) // balant kuruluyken { delay(10); char c =Serial.read(); données=c; if(données=='m') { données=' '; t =rtc.getTime(); h=t.heure; mnt=t.min; sc=t.sec; while(data!='m') { data=Serial.read(); if(données=='+') { hr++; } if(data=='-') { 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(); retard (100); pixels2.setPixelColor(hr, pixels2.Color(0,0,0)); pixels2.show(); retard (100); } rtc.setTime(hr,mnt,sc); if(données=='m') { données=' '; t =rtc.getTime(); h=t.heure; mnt=t.min; sc=t.sec; while(data!='m') { data=Serial.read(); if(données=='+') { mnt++; if(mnt==60) {mnt=0;} } if(data=='-') { if(mnt==0) {mnt=60;} mnt--; } 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, pixels.Color(25,25,255));k=k+4;} pixels.setPixelColor(mnt, pixels.Color(0,250,0)); pixels.show(); retard (100); pixels.setPixelColor(mnt, pixels.Color(0,0,0)); pixels.show(); retard (100); } } rtc.setTime(hr,mnt,sc); données=' '; } if(data=='H') { color_select=data; } if(data=='M') { color_select=data; } if(data=='S') { color_select=data; } if(données=='A') { données=' '; colorWipe(strip.Color(255, 0, 0), 50); // Red colorWipe(strip.Color(0, 255, 0), 50); // Vert colorWipe(strip.Color(0, 0, 255), 50); // Bleu//colorWipe(strip.Color(0, 0, 0, 255), 50); // White RGBW // Envoie une poursuite de pixels de théâtre dans... TheaterChase(strip.Color(127, 127, 127), 50); // Théâtre Chase blanc(strip.Color(127, 0, 0), 50); // Théâtre Chase rouge(strip.Color(0, 0, 127), 50); // Arc-en-ciel bleu(20); arc-en-ciel(20); théâtreChaseRainbow(50); } if(data=='r'&&color_select=='H') { h_red_deger=Serial.parseInt(); pixels2.setPixelColor(hr, pixels2.Color(h_red_deger,h_green_deger, h_blue_deger)); pixels2.show(); } if(data=='g'&&color_select=='H') { h_green_deger=Serial.parseInt(); pixels2.setPixelColor(hr, pixels2.Color(h_red_deger,h_green_deger, h_blue_deger)); pixels2.show(); } if(data=='b'&&color_select=='H') { h_blue_deger=Serial.parseInt(); pixels2.setPixelColor(hr, pixels2.Color(h_red_deger,h_green_deger, h_blue_deger)); 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(); h=t.heure; 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_red_deger,h_green_deger,h_blue_deger)); pixels2.show(); retard(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, pixels.Color(25,25,255));k=k+4;} pixels.setPixelColor(mnt, pixels.Color(0,0,0)); pixels.show(); }void colorWipe(uint32_t c, uint8_t wait) { for(uint16_t i=0; i
Schémas
contrôle par votre téléphone clockconnect__Ieit1qA91l.apkProcessus de fabrication