SOMMAIRE ►
Le ws2812b LED adressable (Neopixel strip) clock est un projet qui peut être construit sur l’Arduino Nano. Le capteur de température et d’humidité DHT11 (DHT22) ou le capteur de pression atmosphérique BMP180 peuvent être utilisés pour ce projet. Nous avons présenté une variante de l’horloge électronique Arduino avec détecteur DHT11 avec un schéma de montage de l’appareil et un programme de travail pour le microcontrôleur Arduino.
Ce dont vous aurez besoin
- Arduino Uno / Arduino Nano / Arduino Mega
- NeoPixel LED ws2812b
- capteur DHT11
- fils de connexion
- librairies DHT11.h, Adafruit_Sensor.h, iarduino_RTC.h, Adafruit_GFX.h, Adafruit_I2CDevice.h, Adafruit_NeoMatrix.h, Adafruit_NeoPixel.h
Matériel supplémentaire sur ce sujet:
Horloge avec thermomètre sur Neopixel led matrix

Pour assembler le projet « Horloge lumineuse Neopixel Arduino », vous devrez fabriquer un boîtier pour la matrice de LED, fixer la bande adressable et la souder comme indiqué dans le schéma ci-dessous. Si vous avez déjà une matrice avec des LED ws2812b adressable et que le circuit est différent, vous pouvez également l’utiliser en modifiant les paramètres de connexion de la matrice au microcontrôleur Arduino dans le code du programme.

Après avoir assemblé le boîtier de l’horloge à bande LED adressable ws2812b, la matrice et les modules requis doivent être connectés au microcontrôleur Arduino. Voici le schéma de câblage pour l’auto-assemblage d’une horloge à bande LED adressable avec thermomètre. Toutes les bibliothèques nécessaires au projet, le plan de découpe du paquet sur la machine laser et les croquis fournis peuvent être téléchargés dans une seule archive ici.
Créer horloge lumineuse + thermomètre sur matrix Arduino

| DS1307 i2c | Arduino Uno | Arduino Nano | Arduino Mega |
| GND | GND | GND | GND |
| VCC | 5V | 5V | 5V |
| SDA | A4 | A4 | 20 |
| SCL | A5 | A5 | 21 |
Une seule alimentation de 5 volts avec un courant suffisant peut être utilisée pour alimenter la matrice de LED ainsi que le microcontrôleur avec tous les capteurs et modules. La bande adressable est connectée au port 9 via une résistance de 200-400 ohms afin de protéger la broche contre le grillage. Le module d’horloge est connecté au microcontrôleur via le bus IIC aux ports A4 et A5, si la carte Arduino Mega est utilisée, aux ports 20 et 21.
Programme Arduino pour horloge NeoPixel matrix et DHT11
#include "Adafruit_GFX.h" #include "Adafruit_NeoMatrix.h" #include "Adafruit_NeoPixel.h" #include "DHT.h" #include "iarduino_RTC.h" iarduino_RTC time(RTC_DS3231); #define DHT_PIN 2 // pin pour DHT11 #define LED_PIN 9 // pin pour ws2812 #define WIDTH 30 // pixels dans une ligne de la matrice #define ROWS 7 // le nombre de lignes de la matrice boolean humidity = true; // imprimer l'humidité de l'air - true/false unsigned int timer = 50; unsigned int pausa1 = 10000; unsigned int pausa2 = 1000; unsigned int brightness = 200; Adafruit_NeoMatrix matrix = Adafruit_NeoMatrix(WIDTH, ROWS, 1, 1, LED_PIN, NEO_MATRIX_RIGHT + NEO_MATRIX_BOTTOM + NEO_MATRIX_ROWS + NEO_MATRIX_ZIGZAG, NEO_GRB + NEO_KHZ800); DHT dht(DHT_PIN, DHT11); byte w, t, h; int x = WIDTH; void setup() { dht.begin(); Serial.begin(9600); matrix.begin(); matrix.fillScreen(0); matrix.setTextColor(matrix.Color(0, 0, 255)); matrix.setTextWrap(false); matrix.setBrightness(brightness); time.begin(); // sec, min, hour, date, month, year, day of the week time.settime(0, 35, 17, 12, 14, 21, 2); } void loop() { t = dht.readTemperature(); h = dht.readHumidity(); Serial.print(t); Serial.println("°C"); Serial.print(h); Serial.println("%"); Serial.println(time.gettime("H:i")); matrix.setBrightness(0); matrix.fillScreen(0); w = 1; // == apparition/disparition progressive de l'heure de la journée == // while (w == 1) { for (byte i = 0; i < brightness; i++) { matrix.setBrightness(i); matrix.setCursor(0, 0); matrix.print(time.gettime("H:i")); matrix.show(); delay(timer / 10); } delay(pausa1); for (byte i = brightness; i > 0; i--) { matrix.setBrightness(i); matrix.setCursor(0, 0); matrix.print(time.gettime("H:i")); matrix.show(); delay(timer / 10); } matrix.setBrightness(0); delay(timer * 10); w = 2; } // == apparition/disparition progressive de la température == // while (w == 2) { for (byte i = 0; i < brightness; i++) { matrix.setBrightness(i); matrix.setCursor(4, 0); matrix.print(t); matrix.print("'C"); matrix.show(); delay(timer / 10); } delay(pausa2); for (byte i = brightness; i > 0; i--) { matrix.setBrightness(i); matrix.setCursor(4, 0); matrix.print(t); matrix.print("'C"); matrix.show(); delay(timer / 10); } matrix.setBrightness(0); delay(timer * 2); if (humidity == true) { w = 3; } if (humidity == false) { w = 0; } } // == apparition/disparition progressive de l'humidité dans l'air == // while (w == 3) { for (byte i = 0; i < brightness; i++) { matrix.setBrightness(i); matrix.setCursor(6, 0); matrix.print(h); matrix.print("%"); matrix.show(); delay(timer / 10); } delay(pausa2); for (byte i = brightness; i > 0; i--) { matrix.setBrightness(i); matrix.setCursor(6, 0); matrix.print(h); matrix.print("%"); matrix.show(); delay(timer / 10); } matrix.setBrightness(0); delay(timer * 10); w = 0; } }
Explication du code pour horloge avec matrix LED adressable:
- après avoir réglé l’heure sur le module horloge, commentez time.settime(); et rechargez le programme dans la carte – sinon l’heure sera réglée après chaque redémarrage Arduino;
- set boolean humidity = false; si vous ne voulez pas que l’humidité de la matrice soit sortie.
Conclusion. Le projet d’horloge à bande LED adressable peut être développé et amélioré à l’infini, par exemple en ajoutant une fonction permettant de régler la luminosité et la couleur de la matrice ou en faisant en sorte que la matrice ws2812b puisse être contrôlée via Bluetooth ou Wi-Fi. Si vous avez des questions ou des commentaires sur ce projet – laissez-les dans les commentaires de ce post, nous répondrons sûrement à toutes vos questions.








Hello, vu le nombre de LEDs (210) il faut alimenter les rubans directement avec l’alim et pas par l’arduino ! (donc pas le Vin mais le + de l’alim 5V. direct (et mettre les GND en commun)
1 led peut consommer 0,06 Ampères (en blanc et luminosité à fond)
donc pour 210 led : 0,06 x 210 = 12,6 Ampères !!!
faut avoir une bonne alimentation
À moins que les 210 LEDs ne soient allumées simultanément à leur luminosité maximale, l’alimentation provenant du VIN sera suffisante pour ce projet. Mais en général, je suis d’accord avec vous, merci pour votre clarification
DHT 11
Merci pour ce petit proget
chez moi la sonde ne me donne que des valeurs ( 0°c et 1% hum)
quelqu’un peux m’aider
Merci…..
Désespéré voilà le code erreur que me renvoi l’IDE après avoir collé le code présent sur cet exemple ?
exit status 1
Compilation error: exit status 1
Mise à jour de la liste des bibliothèques requises pour le projet. Veillez à installer toutes les bibliothèques répertoriées.