From b2f2e4a5ddb3caf9c4a142d4cc0e747d1a581375 Mon Sep 17 00:00:00 2001 From: Julien Cabillot Date: Mon, 24 Apr 2017 16:19:10 +0200 Subject: [PATCH] =?UTF-8?q?WIP:=20=C3=A0=20tester?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- arduino/alarmclock/alarmclock.cpp | 19 ++++--------------- arduino/alarmclock/alarmclock.exemple.h | 13 +++++++++++-- 2 files changed, 15 insertions(+), 17 deletions(-) diff --git a/arduino/alarmclock/alarmclock.cpp b/arduino/alarmclock/alarmclock.cpp index f18d7df..5b58a8d 100644 --- a/arduino/alarmclock/alarmclock.cpp +++ b/arduino/alarmclock/alarmclock.cpp @@ -7,15 +7,6 @@ #include "alarmclock.h" -// LED -// Corresponds à un max brightness configurable via HA -int maxBrightness = LED_BRIGHTNESS_DEFAULT; -// Utilisé pour définir le seuil actuel de brightness -int curbrightness = 0; -int color = LED_COLOR_DEFAULT; -CRGB leds[LED_NUM]; -boolean ledState = false; - void setup() { Serial.begin(SERIAL_SPEED); @@ -25,11 +16,10 @@ void setup() setupWifi(); // LED - /* - brightness = LED_BRIGHTNESS_DEFAULT; + maxBrightness = LED_MAXBRIGHTNESS_DEFAULT; + curbrightness = LED_BRIGHTNESS_DEFAULT; color = LED_COLOR_DEFAULT; ledState = false; - */ LEDS.addLeds(leds, LED_NUM).setCorrection(TypicalSMD5050); ledBlackAll(); @@ -118,7 +108,7 @@ void callbackMQTT(char* topic, byte* payload, unsigned int length) ledState = true; } else { ledState = false; - curbrightness = 0; + curbrightness = LED_BRIGHTNESS_DEFAULT; ledBlackAll(); } mqttSendState(); @@ -202,8 +192,7 @@ void ledDisplay() * En remplaçant 1/e par 0.349 on arrive à un minimal de 1.00x ce qui permet d'avoir les leds qui ne s'éteignent pas * Il faut alors remplacer maxBrightness par maxBrightness - 1 dans la dernière partie de l'équation */ - //float breath = (exp(sin(millis() / 4000.0 * PI)) - 0.36787944) * 108.0; - float breath = (exp(sin(millis() / 4000.0 * PI)) - 0.349) * ((maxBrightness - 1) / (EULER - (1 / EULER))); + float breath = (exp(sin(millis() / 4500.0 * PI)) + 1.2) * ((curbrightness - 1) / (EULER - (1 / EULER))); fill_solid(leds, LED_NUM, color); FastLED.setBrightness(breath); diff --git a/arduino/alarmclock/alarmclock.exemple.h b/arduino/alarmclock/alarmclock.exemple.h index b01479f..f2462af 100644 --- a/arduino/alarmclock/alarmclock.exemple.h +++ b/arduino/alarmclock/alarmclock.exemple.h @@ -1,13 +1,22 @@ #define SERIAL_SPEED 115200 // LED -#define LED_NUM 300 +#define LED_NUM 30 #define LED_PIN 5 // = D1 #define LED_CHIPSET WS2812B #define LED_COLOR_ORDER GRB -#define LED_BRIGHTNESS_DEFAULT 0 +#define LED_MAXBRIGHTNESS_DEFAULT 80 +#define LED_BRIGHTNESS_DEFAULT 6 #define LED_COLOR_DEFAULT CRGB::Red +// Corresponds à un max brightness configurable via HA +int maxBrightness; +// Utilisé pour définir le seuil actuel de brightness +int curbrightness; +int color; +CRGB leds[LED_NUM]; +boolean ledState; + // WIFI #define WIFI_SSID "XXX" #define WIFI_PASSWORD "XXX"