Werte abspielen

Guten Tag,

ich versuche grade eine LED-Kerze zu basteln. Alles an Zufalls-Codes hat leider kein überzeugendes Ergebnis geliefert, so dass ich mittlerweile so vorgehen möchte, dass ich den Helligkeitsverlauf einer echten Kerze messe, speichere und wiedergeben möchte.

Dabei habe ich folgende "Roadmap":

  1. Kerze mit einer Photodiode messen und in Text-Datei speichern (done)
  2. Werte / Kurven am PC normalisieren (done)
  3. LEDs mit fest eingebauten Werten "flackern" lassen (aktuell)
  4. Kerze mit drei Photodioden messen, speichern & normalisieren
  5. 3 LEDs mit diesen Werten flackern lassen (für Flammen-Bewegung)
  6. Animationsdaten über WLAN beziehen (ESP8266)

Ich bin nun bei Schritt drei - also eine LED mit bereits aufgenommenen Daten flackern zu lassen. Könnt ihr mir einen Tipp geben, wie ich das mit Arduino bewerkstellige? Dabei würde ich die Animationsdaten gern in einer seperaten Datei speichern. Bei Power-Up in eine zufällige Zeile dieser Werte springen, das auf eine LED anwenden, x ms warten und zum nächsten Wert gehen.
Ich weiß leider nicht, wie ich überhaupt anfangen soll.

Wenn das gewünscht ist, poste ich hier gern auch fertige Codes, Fotos, Messwerte etc.

Danke & Grüße,
Christian

In den Beispielen der IDE findest Du BlinkWithoutDelay. Enstelle die LED mit HIGH und LOW zu beglücken, schreibst Du den Meßwert an einen PWM-Ausgang analogWrite(5, wert);, wobei ein paar Meßwerte aus einem konstanten Feld kommen können. Möglich wäre auch eine Interpolation zwischen den Werten.

Hey, danke für deine Antwort!

Um das delay, bzw. mit millis zu arbeiten mache ich mir grad keine Sorgen, ich komme nur bei den Werten und dem Auslesen aus der Werte-Folge nicht weiter. Speicher-Technisch sollte der ESP8266, den ich dafür nutze erstmal reichen denke ich

Du schreibst Deine gemessenen und normalisierten Werte in ein konstantes Feld vom Typ byte. Dann zeigst Du Wert n an, wartest mit millis() eine Zeit und dann gibst Du Wert n+1 aus. Immer so weiter bis zum Feldende, dann vom Feldanfang.

Okay, super! In der Richtung suche ich mal weiter - das ist ein guter Anfang, danke sehr! :slight_smile:

Möglicher Lesestoff: Array