Da bin ich wieder…

… heute mal mit einem kleinen Dimmer Projekt. Das Arduino Board bietet an sechs digitalen Pins eine Pulsweitenmodulation an. Damit ist es möglich einen Wertebereich von 256 zu verwenden anstelle von 1 und 0. Damit ergibt sich eine neue Möglichkeit für die Verwendung von LEDs. Zum einen kann man einfach mal eine LED dimmen, oder man kann eine kleine Lampe bauen, die ihre Farbe wechselt, indem man mehrfarbige LEDs verwendet und über das Dimmen ständig zwischen den LEDs wechselt. Zum Anderen könnte man aber auch später an unserem kleinen Roboter die LEDs entsprechend der Lichtverhältnisse leuchten lassen. Heute beschäftigen wir uns aber mit dem zweiten Fall. Wir wollen eine kleine Lampe bauen, die ihre Farbe wechseln kann.

Dazu fangen wir erstmal mit einer LED und der Pulsweitenmodulation von Arduino an. Der Aufbau ist ziemlich einfach, da wir lediglich einen 100 Ohm Widerstand und eine LED benötigen. Verbindet einen Pin mit PWM (ich hab Pin3 genommen), über den Widerstand mit der Anode der LED; die Kathode geht direkt zu Minus. Das ganze sollte dann so aussehen:

Arduino mit einer LED (Pulsweitenmodulation)

Arduino mit einer LED (Pulsweitenmodulation)

Nun kommt der etwas kompliziertere Teil. Wir müssen uns ein kleines Programm schreiben, mit dem wir die LED von 0 auf 255 dimmen können. Da die LED im höheren Wertebereich kaum noch Veränderungen zeigt, verwende ich ein 64-stelliges Array zum dimmen. Das bedeutet, es gibt anstelle der 255 Zustände lediglich 64. Das verwendete Array ist übernommen von einem anderen Projekt, in dem LEDs gedimmt wurden.

Arduino mit einer LED (Pulsweitenmodulation) - Quellcode

Arduino mit einer LED (Pulsweitenmodulation) - Quellcode

Zum Warmwerden war das jetzt genau das richtige. Nun verbauen wir insgesamt drei LEDs nach dem bereits bekannten Muster. Pin3 an Widerstand an LED, Pin5 an Widerstand an LED und Pin6 an Widerstand und LED. Jetzt könnte man einfach den Quellcode verdreifachen und würde dann alle drei LEDs dimmen. Wir wollen aber ein Licht haben, welches in regelmäßigen Abständen die Farbe ändert, also brauchen wir ein wenig mehr. Dazu habe ich das folgende Programm geschrieben:

Arduino Lichterorgel - Quellcode

Arduino Lichterorgel - Quellcode

Ich gehe eine Lampe nach der anderen durch und dimme sie auf oder ab. Dabei wechsle ich nach jedem Durchgang die Dimmrichtung. Dadurch erhalten wir immer wieder eine andere Farbe, da ständig die Kombinationen wechseln. Ausserdem habe ich noch ein zufälliges Delay eingebaut, so dass das Licht eine längere Zeit stehen bleibt. Das Endergebnis seht ihr hier:


Wenn man jetzt noch ein schönes Gehäuse und einen besseren „Lampenschirm“ als ein Zewatuch nimmt, dann kann das ganze schon recht nett aussehen.

2 Responses to “Arduino Lichterspektakel :-)”

  1. Anumunrama sagt:

    was man mit diesem code auch sehr leucht machen könnte währe einw knight rider schaltung (gute idee zum basteln *hüstel*)

  2. Roboman sagt:

    Knight Rider geht auch gut ja. Hatte ich davor auch schon dran gedacht… lässt sich auf jeden fall mit der schaltung und dem quellcode relativ einfach realisieren.

Leave a Reply