From 364105de2cc7d64ec10302bbb2a7d45c5e5a7bb7 Mon Sep 17 00:00:00 2001 From: starcalc Date: Fri, 1 Dec 2017 17:53:20 +0100 Subject: [PATCH] =?UTF-8?q?Bei=20Full=20(Wert=20255)=20nicht=20mehr=20PWM?= =?UTF-8?q?=20nutzen=20(255*4=3D1020,=20Maximum=20w=C3=A4re=20aber=201023.?= =?UTF-8?q?=20Bei=20einer=20anderen=20Regel=20(z.B.=20w*4+3)=20w=C3=BCrde?= =?UTF-8?q?=20bei=200=20(aus)=20bereits=20ein=20wenig=20Licht=20per=20PWM?= =?UTF-8?q?=20geschaltet=20werden,=20was=20sicher=20noch=20schlechter=20w?= =?UTF-8?q?=C3=A4re.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- esp-deckenlicht.ino | 28 ++++++++++++++++++++++++---- 1 file changed, 24 insertions(+), 4 deletions(-) diff --git a/esp-deckenlicht.ino b/esp-deckenlicht.ino index 5fcfee1..8968db8 100644 --- a/esp-deckenlicht.ino +++ b/esp-deckenlicht.ino @@ -157,10 +157,30 @@ bool light3Handler(const HomieRange& range, const String& value) { void output() { // * 4 to scale the input up for ESP Arduino default 10 bit PWM - analogWrite(PIN_LIGHT, w0 * 4); - analogWrite(PIN_LIGHT1, w1 * 4); - analogWrite(PIN_LIGHT2, w2 * 4); - analogWrite(PIN_LIGHT3, w3 * 4); + if (w0 == FULL) + { + digitalWrite(PIN_LIGHT, HIGH); + } else { + analogWrite(PIN_LIGHT, w0 * 4); + } + if (w1 == FULL) + { + digitalWrite(PIN_LIGHT1, HIGH); + } else { + analogWrite(PIN_LIGHT1, w0 * 4); + } + if (w2 == FULL) + { + digitalWrite(PIN_LIGHT2, HIGH); + } else { + analogWrite(PIN_LIGHT2, w0 * 4); + } + if (w3 == FULL) + { + digitalWrite(PIN_LIGHT3, HIGH); + } else { + analogWrite(PIN_LIGHT3, w0 * 4); + } } void loopHandler()