Der Einstieg in die MobaLedLib:
Stammtische
Die wichtigsten Seiten & Links:
aktuell verwendete Versionen
- offizieller Release
- aktuelle Betaversion
Dies ist eine alte Version des Dokuments!
Programmierung eines ATTiny85 für die Verwendung in der 510DE-Servo LED WS2811 Platine.
Diese Platine kann in 2 unterschiedlichen Bestückungsvarianten verwendet werden:
Die Programmierung erfolgt mittels der Platine „400-Attiny-Programmer“ in der Standard Bestückung, wie sie in der Wiki Bauanleitung beschrieben ist. Softwaremäßig stehen für jede Bestückungsvariante jeweils 2 Möglichkeiten zur Auswahl:
Wie bereits erwähnt gibt es softwaremäßig 2 Möglichkeiten den ATTiny85 zu programmieren.
Im Anschluss ist nur die einfache Variante mit dem Pattern_Config beschrieben.
Um die Programmierung des ATTiny85 mit dem UNO und der aufgesteckten 400DE-Platine durchführen zu können,
muss der UNO für die Tiny-Programmierung vorbereitet werden.
Um Fehlermeldungen bei der anschließenden Tiny-Programmierung vorzubeugen, ist es notwendig zu überprüfen ob die richtigen, zusätzlichen Board-Bibliothek in der Arduino IDE installiert sind. Ansonst kommt bei der weiteren Programmierung die folgende Fehlermeldung:
Diese grundlegenden Vorbereitungen sind nur einmal erforderlich.
Außer man wechselt den Rechner….
Verbinden des UNO (400DE-Attiny-Programmer Platine muss noch nicht angesteckt sein) mit dem PC.
Öffnen des Pattern_Configurator:
Anschließend wird vermutlich nach dem COM Anschluss des UNO gefragt. Wenn dieser definiert ist, wird der UNO für die Programmierung durch das Hochladen der entsprechenden .ino vorbereitet (C:\Users\MadMax\Documents\Arduino\libraries\MobaLedLib\examples\90.Tools\02.Tiny_UniProg). Die Einstellung werden automatisch durch den Pattern_Config. durchgeführt. Die LED auf dem UNO flackert. Wenn der UNO nur für diesen Zweck verwendet wird ist dieser Vorgang nur einmal durchzuführen.
Nachdem die Programmierung des UNO erfolgreich abgeschlossen wurde ist er jetzt bereit für die ATTiny85 Programmierung.
Die 400DE-Platine mit dem UNO verbinden und einen ATTiny85 in den dafür vorgesehenen Sockel in der richtigen Ausrichtung einstecken.
Empfehlung: Programmiert man öfter IC´s könnte der eingelötete Sockel durch das mehrmalige Herausnehmen und Hineinstecken Schaden nehmen. Wenn man einen zusätzlichen IC-Sockel mit dem eingesteckten ATTiny85 verwendet kann man vorbeugen. Oder man verwendet die neben dem Sockel vorgesehenen Buchsenleisten mit einer auf der 400DE vorhandenen Adapterplatine.
Die grüne Heartbeat-LED blinkt und die weiße LED leuchtet.
Die gelbe Prog-LED blinkt, anschließend flackert die orange Read-LED.
Das Hochladen ist abgeschlossen, wenn die weiße LED leuchtet
(C:\Users\MadMax\Documents\Arduino\libraries\MobaLedLib\examples\80.Modules\02.CharlieplexTiny).
Dann ist der ATTiny85 für die Verwendung im Charlieplex-Modul einsetzbar.
Das Ergebnis kann man mit dem seriellen Monitor in der Arduino IDE überprüfen bzw. einsehen.
Reset pin normal = weiße LED leuchtet
Die weitere Programmierung für die speziellen Anforderungen ist jetzt mit dem Pattern_Configurator möglich.
Beispiele sind angeführt und eine nähere Beschreibung von Hardi ist unter dem folgenden Link zu finden.
Vorgehensweise wie bei der Charlieplex-Modul Programmierung.
Anschließend kommt die normale Routine wie sie vom Charlieplex-Modul bekannt ist.
Die gelbe Prog-LED blinkt, anschließend flackert die orange Read-LED.
Hochladen abgeschlossen, wenn die weiße LED leuchtet.
(C:\Users\MadMax\Documents\Arduino\libraries\MobaLedLib\examples\80.Modules\01.ATTiny85_Servo).
Um den ATTiny85 für die Verwendung im Servo-Modul fertigzustellen ist es zwingend notwendig mittels Drückens der rechten Taste mind. 2 Sek. und weniger als 4 Sek von der weißen LED auf die blaue LED umzuschalten.
Das ist erforderlich um 3 Servos auf dem Modul anschließen zu können. Der ATTiny hat normalerweise zu wenige Ausgänge. Durch kurzfristig Beschaltung mit 12V wird der ResetPin ebenfalls zu einem Ausgang (IO).
Die angezeigten Werte der Fuses und die Frequenzeinstellung 8 MHz sind für die Servo Verwendung.
Reset pin IO = blaue LED leuchtet.
Um den Servo-ATTiny85 zu verwenden müssen noch die Endpositionen der Servos definiert werden. Das ist mit der Arduino IDE möglich.
Im seriellen Monitor werden keine Werte angezeigt.
INFO: wenn das Servo-Modul mit einem SMD-WS2811 Chip auf der Rückseite bestückt ist, ändert sich die Reihenfolge der Servos (OUTGrün und OUTRot vertauscht) gegenüber der DIP8 Version des WS2811. Eine erweiterte Programmierung für spezielle Anforderungen ist mit dem Pattern_Configurator möglich. Derzeit gibt es keine Beispiele und auch keine nähere Beschreibung von Hardi.
Man kann mit dem Beispiel_Main experimentieren.
Um den Servo-ATTiny85 zu verwenden müssen noch die Endpositionen der Servos definiert werden. Das ist ebenso mit dem Farbtestprogramm des Programm-Generator möglich.
Sollten pro Servo mehr als zwei Stellungen benötigt werden, so können die weiteren Stellungen über den Programm-Generator (Dialog) eingestellt werden, siehe auch erstes Bild in dieser Rubrik. Dort ist als erstes ein Servo mit drei Stellpositionen aufgeführt, danach mehrere Servos mit 2 Positionen.
Bei der Servobestimmung bitte die Kanalauswahl (1/Rot, 2/Grün, 3/Blau) beachten. Pro Servoplatine = 3 Servos = 3 Kanäle
Bitte auch die Bauanleitung „510DE - Servo & LEDs“ beachten. Hier sind wichtige Tipps zu den Servoplatinen-Anschlüssen zu finden