INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
LED ein- und ausdimmen
27.12.2019, 12:33
Beitrag #1
LED ein- und ausdimmen
Hall @all,

ich möchte eine LED langsam hell- und dunkel dimmen. Geht grundsätzlich, aber der jeweils dunkle Teil geht für das Auge zu schnell, das Auge reagiert da ja nicht so ganz linear.
Hat jemand eine Idee wie man das in eine passende Formel/Funktion packen könnte damit es etwas gleichmäßiger aussieht?

Ach ja, es läuft gerade auf einem ESP8266-1 .....


Code:
//**************************************************
void Hell()
{
  for (uint16_t nX = 1; nX < 1023; nX++)
  {
    analogWrite(led, nX);
    delay(1);
  }
  analogWrite(led, 1024);
  Serial.println("Hell");
  istHell = true;
}
//**************************************************
void Dunkel()
{
  for (uint16_t nX = 1023; nX > 1 ; nX--)
  {
    analogWrite(led, nX);
    delay(1);
  }
  analogWrite(led, 0);
  Serial.println("Dunkel");
  istHell = false;
}

Viele Grüße

Uwe
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
27.12.2019, 12:59 (Dieser Beitrag wurde zuletzt bearbeitet: 27.12.2019 13:06 von Fips.)
Beitrag #2
RE: LED ein- und ausdimmen
https://www.mikrocontroller.net/articles/LED-Fading

Für den Esp verwende ich die folgende.

0, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 4, 4, 5, 5, 6, 6, 7, 8, 9, 10,
11, 12, 13, 15, 17, 19, 21, 23, 26, 29, 32, 36, 40, 44, 49, 55,
61, 68, 76, 85, 94, 105, 117, 131, 146, 162, 181, 202, 225, 250,
279, 311, 346, 386, 430, 479, 534, 595, 663, 739, 824, 918, 1023

Allerdings im Javascript Teil von meinem Led Dimmer.


Gruß Fips

Meine Esp8266 & ESP32 Projekte
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
27.12.2019, 15:26 (Dieser Beitrag wurde zuletzt bearbeitet: 27.12.2019 15:38 von MicroBahner.)
Beitrag #3
RE: LED ein- und ausdimmen
In meinen MobaTools für den ESP8266 verwende ich da eine Hyperbelfunktion. Die ESP8266 Unterstützung ist zwar noch Beta, sollte aber schon stabil laufen. Bei der SoftLed-Klasse kannst Du zwischen LINEAR und BULB umschalten. Bei BULB verwendet sie die Hyperbelfunktion. Du musst das Ein- und Ausdimmen dann auch nicht mehr selbst machen, das macht die Lib für dich. Das ist nicht blockierend, d.h. während die Led dunkler bzw. heller wird, läuft dein Sketch weiter.
Würde mich freuen, wenn Du es mal ausprobierst und schreibst, ob die Dimm-Kurve so für dich passt.

P.S. Wenn Du die MobaTools nutzt, funktionieren die integrierten 'analogWrite()' und' tone()' Funktionen nicht mehr. Das musst Du dann alles über die MobaTools Klassen/Methoden machen.

Gruß, Franz-Peter
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
27.12.2019, 20:02
Beitrag #4
RE: LED ein- und ausdimmen
Danke für die Tipps.
@Fips, mit deiner Tabelle sieht es ganz gut aus Smile, das werde ich erst mal nehmen.

Ich werde die Moba-Tools testen wenn mein Board wieder frei ist....

Danke

Viele Grüße

Uwe
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
27.12.2019, 22:41 (Dieser Beitrag wurde zuletzt bearbeitet: 27.12.2019 22:43 von georg01.)
Beitrag #5
RE: LED ein- und ausdimmen
Hallo,
für so artige Algorithmen eignen sich Verschachtelte Schleifen.
Z.B.:

Code:
...
for (int i=1; i<=xx; i++)
{
  for (int j=1; j<=yy; j++)
   {
     int Ergebnis= i+j;
     // int Ergebnis= i+(j*2);

     ... Hier Variationen je nach gewünschtes Muster

     // int Ergebnis= i*j;
     Printf ("%i",Ergebnis);
   }
  printf("\n");
}
...
Gruß Georg

Sorry für mein nicht korrektes Deutsch. Sad
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste