Forum: Mikrocontroller und Digitale Elektronik Lichtsteuerung


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Sime (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Guten Tag ihr da draußen =)

ich wollte mal fragen ob mir jemand weiterhelfen kann.

Ich möchte so etwas wie eine RGB-Steuerung machen, jedoch mit 5 
verschiedenen Farben.

Zu Verfügung stehen ein AT89S8252/53 (12 MHz) ich möchte gerne die 
Helligkeit jeder Farbe einzeln steuern von ganz aus bis ganz an, habe 
schon mit selber gemachten PWM-Generatoren (Programm technisch mit 
Zeitschleifen) versucht, aber leider ohne den gewünschten Erfolg.


Kann mit bitte jemand helfen?? =)


Mit lieben Grüßen
Sime

von cskulkw (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Dann schau Dir mal Fast PWM an. Dann klappt das auch

von Sime (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Der µC den ich verwende, der hat keine interne PWM...

von Harald W. (wilhelms)


Bewertung
0 lesenswert
nicht lesenswert
Sime schrieb:
> Der µC den ich verwende, der hat keine interne PWM...

Ein uC zeichnet sich dadurch aus, das er das tut, wofür man ihn
vorher programmiert hat. :-)
M.W. gibt es keinen einzigen uC, den man nicht dazu überreden
kann, PWM zu machen.
Gruss
Harald

von Bödefeld (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Das kannst Du auch ganz einfach zu Fuss machen,
Du braucht keine interne PWM.
Mach einen Timer-Interupt auf, der mit einigen KHZ zuschlägt und 
innerhalb dessen du eine globale Zählvariable hochzählst.

Auch innerhalb der Int-Routine vergleichst Du nun jeweils, ob die 
Zählvariable bereits größer als der momentan gewünschte Wert der 
jeweiligen LEDS ist (also für jede LED auch eine Variable global 
anlegen), und schaltest die LED dann an oder aus.

Am einfachsten definierst Du den Wertebereich von 0..255, dann musst Du 
Dich nichtmal um den Überlauf des Timerzählers kümmern, weil der ja von 
alleine passiert. Der Helligkeitsbereich der LEDS ist dann auch 0..255.

Fertig, sind gaaaanz wenige Programmzeilen, und vom Timing her schafft 
Dein das Controller das locker und langweilt sich trotzdem noch die 
meiste Zeit.

von Soft PWM (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Das richtig Stichwort ist hier Soft-PWM. Musst mal hier im Board nach 
suchen. Wenn ich mich recht erinnere, gibts einen hervorragenden Artikel 
über Soft PWMs.

Zweites Stichwort für dich: LED-Fading.

Und weil ich gerade sowieso da mal nachgucken wollte:

http://www.mikrocontroller.net/articles/Soft-PWM

http://www.mikrocontroller.net/articles/LED-Fading

Grüße!

von Sime (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Hallo nochmals =)

Danke für eure Antworten, hat mir sehr weiter geholfen, es funktioniert 
endlich =)

Habe nun auch noch per Taster gemacht, das man die Helligkeit einstellen 
kann ;-)

@Bödefeld ja ich habe das mit dem Timer voll verplant lach

Habe voll nicht an den Timer gedacht rot anlauf


Also nochmals Danke für eure schnelle Hilfe, ich wünsche euch ein 
schönes Wochenende!!

Liebe Grüße
Sime

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.