Forum: Mikrocontroller und Digitale Elektronik Mini-Lichtsteuerung bauen


von Martin K. (maart)


Lesenswert?

Hallo!
Ich möchte mir mit einem PIC16F84 ein Miniatur-"Lichtpult" mit 8 Kanälen 
bauen. (LED-PWM Ansteuerung) Mit Hilfe von acht Variablen kann ich die 
PWM für jeden Kanal separat steuern (z.B. 0 = LED aus und 100 = 
LED-Helligkeit 100%). Dieser Programmteil funktioniert bereits.
Ich bräuchte jetzt einen Denkansatz wie ich folgendes lösen könnte: Ich 
möchte im µC-Programm eine festgelegte "Lichtshow" programmieren. Ich 
möchte also für jeden Kanal getrennt die Ein- und Ausblendzeiten usw. 
vorgeben können. Wie könnte ich soetwas realisieren?

Gruß, Martin

von tastendrücker (Gast)


Lesenswert?

Als ersten Tip: Nimm' den 16f628, der ist günstiger und kann mehr. 
Insbesondere hat der 16f628 einen UART. Damit könntest Du die 
Konfiguration (Ein-/Auszeiten usw.) bequem am PC erstellen und dann in 
den PIC übertragen - sofern die Show nicht zu komplex wird und die 
Zeiten in den RAM passen.

Ansonnsten: Über einen Timer im Sekundentakt prüfen, ob eine LED an oder 
ausgehen soll und dann die Software PWMs entprechend steuern.

von Marc989 (Gast)


Lesenswert?

Hi,
du musst dir Gedanken machen, ob du das ganze Zeit oder Eventorientiert 
betreiben willst.
Entweder hast du ein Zeitmuster in denen die Daten zykisch abgearbeitet 
werden, zB. alle 100ms wird eine Adresse mit Lichtdaten ausgelesen und 
bearbeitet.
Oder du arbeitest Zeitunabhängig und im Programm steht nur: 1.sek. 
Licht10%; 3.Sek. Licht80%; 12.sek. Licht 50%;
Wenn du das Dimmen unabhängig haben willst wär es auch genial eine 
automatische Dimmfunktion zu haben, der nur noch übergeben wird: Licht 
inerhalb 3sek von 10% auf 80% hochfahren.
Dann kann das Programm parallel dazu weitere Funktionen ausführen, 
während der Timerinterrupt die gewünschte Helligkeit ändert.

Marc989

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
Noch kein Account? Hier anmelden.