Construire une horloge murale design avec anneaux Neopixel 60 LED Adafruit et Arduino
Composants et fournitures
| Anneau Neopixel Adafruit 1/4 60 LED | × | 4 |
| Carte eDOTcore (Arduino avec RTC intégré) | × | 1 |
| Arduino UNO | × | 1 |
| Arduino Nano R3 | × | 1 |
| Arduino Micro | × | 1 |
Applications et services en ligne
| Arduino IDE |
À propos de ce projet
eDOTcore : Une carte Arduino polyvalente avec RTC intégré
Ce projet utilise 4 anneaux Neopixel 60 LED (soit 240 LED au total) disposés en cercles concentriques pour afficher l'heure, les minutes et les secondes avec une esthétique moderne. La carte eDOTcore intègre un module RTC (horloge temps réel), ce qui simplifie grandement le montage.
Lien vers le projet eDOTcore : Page du projet
Code
Horloge simple avec anneaux Neopixel
#include <Wire.h>
#include <RTClib.h>
#include <Adafruit_NeoPixel.h>
#define PIN 6
#define PIXEL 60
Adafruit_NeoPixel strip = Adafruit_NeoPixel(PIXEL, PIN, NEO_GRB + NEO_KHZ800);
RTC_DS1307 RTC;
DateTime Clock;
byte hourval, minuteval, secondval;
void setup() {
Serial.begin(9600);
Wire.begin();
RTC.begin();
if (!RTC.isrunning()) {
// RTC.adjust(DateTime(__DATE__, __TIME__)); // Décommenter pour régler l'heure à la compilation
}
strip.begin();
strip.show(); // Toutes LED éteintes
strip.setBrightness(20); // Luminosité modérée (0-255)
}
void loop() {
Clock = RTC.now();
secondval = Clock.second();
minuteval = Clock.minute();
hourval = Clock.hour();
if (hourval > 11) hourval -= 12; // Format 12h
// Position heure : 60 LED / 12h = 5 LED par heure, affiné par les minutes
hourval = (hourval * 60 + minuteval) / 12;
// Heure : teinte cyan avec dégradé
strip.setPixelColor(hourval, 0x008080);
strip.setPixelColor((hourval - 1 + 60) % 60, 0x004040);
strip.setPixelColor((hourval + 1) % 60, 0x004040);
strip.setPixelColor((hourval + 2) % 60, 0x001010);
// Minutes : teinte magenta
strip.setPixelColor(minuteval, 0x800080);
strip.setPixelColor((minuteval + 1) % 60, 0x200020);
// Secondes : teinte jaune
strip.setPixelColor(secondval, 0x808000);
strip.setPixelColor((secondval + 1) % 60, 0x002F00);
strip.show();
// Effacer pour la frame suivante (persistance visuelle par délai court)
strip.setPixelColor(hourval, 0);
strip.setPixelColor((hourval - 1 + 60) % 60, 0);
strip.setPixelColor((hourval + 1) % 60, 0);
strip.setPixelColor((hourval + 2) % 60, 0);
strip.setPixelColor(minuteval, 0);
strip.setPixelColor((minuteval + 1) % 60, 0);
strip.setPixelColor(secondval, 0);
strip.setPixelColor((secondval + 1) % 60, 0);
delay(25); // ~40 FPS
}
Pièces imprimées 3D
Fichiers CAO pour les pièces d'assemblage de l'horloge murale : Thingiverse (rechercher « Neopixel ring wall clock »)
Processus de fabrication
- Horloge POV Arduino : Construire un affichage LED à persistance rétinienne
- Créer un système Ambilight spectaculaire pour moniteur avec Arduino
- Horloge à Mots DIY Arduino – Afficheur Temps Réel Élégant et Personnalisable
- Affichage LED Interactif Gyroscopique avec Anneau NeoPixel et Arduino
- Construire une horloge maître LED personnalisée avec alarme – Visible à 12 mètres
- Construire un Voltmètre Intelligent avec Arduino et Smartphone – Projet DIY Facile
- Moniteur de Fréquence Cardiaque IoT en Temps Réel avec Arduino et MAX30100
- Serveur Web Arduino Uno WiFi : Commander une LED via Navigateur
- Construire un Réveil Fiable avec RTC DS1302 et Arduino UNO