Guten Morgen, ich stehe gerade etwas auf dem Schlauch und hoffe hier mit euch ein wenig Ideenfindung betreiben zu können. Bei meinem Projekt handelt es sich um eine interaktive Treppenbeleuchtung. Jede Treppenstufe bekommt eine LED Leiste eingebaut, welche einzeln Angesteuert werden kann. Dazu kommen ein paar PIR und IR Sensoren zur Erkennung von Bewegung und Personen auf der Treppe. Die Ansteuerung übernimmt ein Atmel XMega in Kombination mit einem Mosfet-Grab. Hardware steht und läuft und jetzt geht es an die Software, meine bislang schwächste Disziplin. Der XMega hat den Charm vierundzwanzig 16 Bit PWM Kanäle bereitzustellen. Somit konnte ich bereits eine Linearisierung der Leuchtstärke auf 10 Bit realisieren. Nun möchte ich gerne, fürs erste, sanfte Übergänge realisieren. Dabei soll nicht jede LED nacheinander Ein- oder Ausfaden, sondern alle leicht versetzt. Im Grunde geht es also um die Erzeugung beliebiger Muster auf Basis der liniearsierten 10 Bit PWM. Hier kommt Ihr ins Spiel, denn ich brauche eine gute Idee, wie ich nun quasi beliebige Muster auf meinen 24 Treppenstufen abbilden kann. Ich dachte an so etwas wie einen Zeiger, der die aktuell "führende" Stufe markiert und dahinter dann die Zuordnung der Muster auf die PWM. Somit könnte ich zum Beispiel auch die Beleuchtung von zwei Seiten starten und erkennen wann sich die Leuchtfronten treffen. Nur leider habe ich keine Ahnung, wie ich das in C umsetzten soll, so dass ein schön schlanker Code dabei herauskommt. Aber vielleicht hat ja jemand von euch einen guten Ansatz oder einen Link zu einem Beispiel. Grüße von unter der Treppe, Stephan
:
Verschoben durch User
Deine Anfrage ist viel zu allgemein formuliert. Einen Code, der beliebige Muster erzeugen kann, gibt es nicht und wird es wohl auch nicht geben. Außer vielleicht mit Künstlicher Intelligenz. Also liste alle gewünschten Muster auf und beschreibe sie. Vielleicht ergeben sich gemeinsamkeiten, die einen kompakten Code ermöglichen. Wenn nicht, würde ich die Muster in ein ROM ablegen und getaktet abrufen (statt in C Code schreiben).
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.