Compare commits

...

4 Commits

Author SHA1 Message Date
Alex 47a28dd476 Mise en produciton 2022-05-29 18:19:56 +02:00
Alex a80c5b7be8 Documentation 2022-05-29 18:19:35 +02:00
Alex a2e969b51d Correction bug pour l'allumage des batons (il y en a LED_Count /2) 2022-05-25 02:15:04 +02:00
Alex ca90119874 Animation inverse pour l'allumage ou extinction 2022-05-25 02:10:00 +02:00
10 changed files with 23 additions and 15 deletions

View File

@ -1,5 +1,5 @@
# MQTT Lampe ADN #
Programme ESP8266 permettant de faire réagire une double colonne de leds (leds strip) en fonction d'un message MQTT envoyé par un brocker.
![Lampe ADN allumée](./illustrations/lampAllumee.JPG) Programme ESP8266 permettant de faire réagire une double colonne de leds (leds strip) en fonction d'un message MQTT envoyé par un brocker.
Le nombre de leds est paramétrable.
@ -29,13 +29,6 @@ Les messages MQTT interprétés doivent être dans les topics:
# Mise à jour OTA #
TODO
Bien que cela soit possible il n'est pas nécessaire de brancher l'ESP8266 sur un port USB pour le mettre à jour, une simple connexion wifi suffi.
La mise à jour se fait un uploadant le firmware compilé dans l'ESP via son URL OTA.

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 117 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 136 KiB

BIN
illustrations/schéma 2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 106 KiB

BIN
illustrations/schéma 3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

BIN
illustrations/shéma 1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

View File

@ -10,7 +10,7 @@
// lumiere/color/lampeADN (R,V,B) : Changement de couleur des LEDS.
// lumiere/brightness/lampeADN value : luminosité [0-255]
// lumiere/animation/lampeADN value : ID de l'animation [0-6]
// lumiere/allume/lampeADN value : Allummage des leds du bas vers le haut (en %) 0= aucune, 100 =) toutes
// lumiere/allume/lampeADN value : Allummage des leds du bas vers le haut (en %) 0= aucune, 100= toutes
// ---------------------------------------------------------------------------------------
#include <Arduino.h>
//#define ModeDebug

View File

@ -62,9 +62,9 @@ void MQTT_connect() {
// --------------------------------------------------------------------------------
// Déclenche les actions à la réception d'un message MQTT.
// lumiere/portal [ON|OFF] : Allumage de la barre de LEDS.
// lumiere/portal/color [#RRVVBB] : Changement de couleur des LEDS.
// lumiere/portal/animation [1/2/3/4/5] : Animation des LEDS.
// lumiere/lampeADN [ON|OFF] : Allumage de la barre de LEDS.
// lumiere/lampeADN/color [#RRVVBB] : Changement de couleur des LEDS.
// lumiere/lampeADN/animation [1/2/3/4/5] : Animation des LEDS.
//
void MQTT_callback(char* topic, byte* payload, unsigned int length) {
@ -92,7 +92,7 @@ void MQTT_callback(char* topic, byte* payload, unsigned int length) {
} else if ( String( message ) == "OFF") {
DEBUG("Extinction des leds");
LED_changeCouleur( c, 10 );
LED_changeCouleurInverse( c, 1 );
}
g_BOO_AnimationSeconde = false;

View File

@ -60,13 +60,28 @@ void LED_colorWipe(uint32_t color, int wait) {
/** --------------------------------------------------------------------------------------
* @brief Change toute la lampe avec la oculeur passée en paramètre.
* @brief Change toute la lampe avec la couleur passée en paramètre en partant du bas
*
* @param color la couleur RVB
* @param wait intger avec le delay
*/
void LED_changeCouleur(Couleur color, int wait){
for( int i =0; i<= LED_COUNT; i++){
for( int i =0; i<= LED_COUNT/2; i++){
LED_AllumeBaton(i, color);
strip.show(); // Update strip to match
delay(wait); // Pause for a moment
}
}
/** --------------------------------------------------------------------------------------
* @brief Change toute la lampe avec la couleur passée en paramètre en partant du haut.
*
* @param color la couleur RVB
* @param wait intger avec le delay
*/
void LED_changeCouleurInverse(Couleur color, int wait){
for( int i = LED_COUNT/2; i >= 0; i--){
LED_AllumeBaton(i, color);
strip.show(); // Update strip to match
delay(wait); // Pause for a moment