Freitagsblog

... weil auch diese Woche ein Ende hat

Schalte mit 10-Kanal-Lauflicht

Front Rückseite (wenig repräsentativ ;-) Schalte1_Pollinboard.serendipityThumb  

Der Vollständigkeit halber hier die Daten zur LED-Bastelei von Freitag:

  • µController: Atmel ATtiny13 mit 64 Bytes (:-)) RAM
  • 10 bernsteinfarbene Superflux-LEDs von Pollin mit 3000 mcd
  • Stromversorgung mit einer Schaltung von www.mikrocontroller.net
  • es werden nur 4 Ausgänge des ATtiny13 benutzt, damit ließen sich 12 LEDs ansteuern ...
  • ... aber nur mit Charlieplexing , kurz gesagt, man schaltet je 2 LEDs paarweise gegeneinander und hängt sie zwischen zwei Ausgänge des Controllers, die man abwechselnd hin- und herschaltet
  • die Schaltung orientiert sich an diesem Beispiel hier (Vorsicht, Musik), auf Basis einer Standard IC-Platine von Conrad (habe sie nicht gezeichnet, lohnt sich nicht - glaube ich)
  • ganz links ist ein alternativer Stromanschluß, der wg. Massepotenzial für die Programmierung des ATtiny in der Schaltung benötigt wird
  • rechts daneben ist der ISP-Anschluss, sehr simpel aus einem alten USB-Verbinderkabel für Mainboards gebastelt
  • mit diesen beiden Anschlüssen kann man das für die Programmierung benutzte Pollin-Board (Anmerkung 18.5.: oha, das scheint es derzeit nicht mehr zu geben, eine Alternative könnte das Funk-Evaluationsboard sein, Artikel 810 046) sozusagen als Konverter zwischen dem seriellen Anschluß des PCs (geht natürlich auch mit dem Parallel-Port) und der Schalte benutzen
  • Programmiert wird mit AVR-Studio und Ponyprog zur Übertragung in Assembler (weil es nicht viel anders ist als 6502-Assembler)
  • das Programm macht Folgendes:
    - es schaltet dauernd alle LEDs mit ihren jeweiligen Helligkeitswerten durch, diese werden im RAM des µC gespeichert
    - die Helligkeitswerte werden für eine Pulsweitenmodulation benutzt (Software-PWM)
    - dann werden diese Helligkeitswerte mit Mustern belegt, die vorher aus dem EEPROM ins RAM kopiert wurden
    - diese Muster ergeben dann die Animation (es wird im Programm nur SEQ1 benutzt), ein Muster ist also 10 Bit lang
    - je 8 Bit werden in einem Byte gespeichert, die anderen beiden Bits sind in Vierergruppen in einem Byte gespeichert (64 Bytes RAM)
    - der Übergang von Aus-Ein und Ein-Aus wird über eine Effektschleife gesteuert, so dass die LEDs langsam ausgeblendet werden und ein "trailing effect" entsteht
    - über den Taster wird die Abspielgeschwindigkeit des Effekts erhöht und nach Erreichen der maximalen Geschwindigkeit wieder zurückgesetzt und der Effekt umgekehrt abgespielt
  • hier ist der Quellcode dazu (belegt 399 Byte)
  • und noch ein kleines Video (7 MB, nicht ganz optimal, weil der Status des RS-232-Interfaces an den LEDs ablesbar ist - ist manchmal auch praktisch)

 

Kommentare

Kommentar schreiben

Standard-Text Smilies wie :-) und ;-) werden zu Bildern konvertiert.
Die angegebene E-Mail-Adresse wird nicht dargestellt, sondern nur für eventuelle Benachrichtigungen verwendet.

Um maschinelle und automatische Übertragung von Spamkommentaren zu verhindern, bitte die Zeichenfolge im dargestellten Bild in der Eingabemaske eintragen. Nur wenn die Zeichenfolge richtig eingegeben wurde, kann der Kommentar angenommen werden. Bitte beachten Sie, dass Ihr Browser Cookies unterstützen muss, um dieses Verfahren anzuwenden.
CAPTCHA