Buntich: Unterschied zwischen den Versionen
Tut (Diskussion | Beiträge) (→Software) |
Tut (Diskussion | Beiträge) (→Bootloader) |
||
Zeile 108: | Zeile 108: | ||
== Software == | == Software == | ||
=== Bootloader === | === Bootloader === | ||
− | Über den Bootloader können alle Zeilen auf dem seriellen Bus gleichzeitig programmiert werden. Die Idee dabei ist, dass alle Zeilen die Kommandos und Daten gleichzeitig empfangen, aber der Reihe nach bestätigen. | + | Über den Bootloader können alle Zeilen auf dem seriellen Bus gleichzeitig programmiert werden. Die Idee dabei ist, dass alle Zeilen die Kommandos und Daten gleichzeitig empfangen, aber der Reihe nach bestätigen. Dazu warten die Zeilen mit dem Senden solange, bis die Enum-In-Leitung 0 wird. Nachdem die Zeile das Byte gesendet hat legt sie für kurze Zeit die Enum-Out-Leitung auf 0, worauf die nächste Zeile senden wird. Da die erste Zeile fest auf 0 liegt fängt sie immer automatisch an. |
+ | |||
+ | ==== Eintritt in den Bootloader ==== | ||
+ | Nach einem Reset startet der Bootloader. Innerhalb von 4 Sekunden muss eine 4-Byte Codesequenz übertragen werden, auf die eine Pause von etwa 100ms folgen muss. Verstreichen die 4 Sekunden oder wird nach 16 empfangenen Bytes nicht die Codesequenz erreicht, so wird der Bootloader verlassen. | ||
== Downloads == | == Downloads == |
Version vom 13. November 2011, 15:33 Uhr
Inhaltsverzeichnis
News
Es gibt Fotos vom Reflow-Workshop, in dem wir die BuntichNode-Platinen bestückt haben! Vielen Dank an Philipp für die Fotos.
Buntich dimmt mittlerweile (zumindest eine Zeile) sowohl in Hardware (Datei:BuntichNodeFancyStartup.mpg) als auf in Software. Als nächstes geht es dann an die Optimierung der Node-Software, damit die Farben auch wirklich gut aussehen.
Der BuntichMaster ist jetzt auch aufgebaut, damit können nun vom PC aus die Zeilen über ihren Bus angesprochen werden.
Die erste Zeile mit 8 LEDs wurde vorläufig aufgebaut, hier ein Video: Datei:BuntichLeisteFirstBlink.mp4
Die Platinen für die BuntichNodes sind mittlerweile eingetroffen. Ebenso wurden genug Pixelplatinen geätzt und müssen nun noch gebohrt und bestückt werden. Die ersten 8 Pixelplatinen wurden aufgebaut. Eine Platine zum Test der Pixelplatinen wird zur Zeit aufgebaut.
Es gibt ein paar Fotos von den Fortschritten der Platinenherstellung der BuntichNode-Platinen. Zur Verfügung gestellt von unserem Sponsor Beta LAYOUT
Philipp hat auch mal die Platine BuntichPixel gerendert:
Was?
Buntich wird eine flexibel erweiterbare RGB-Matrix. Es besteht aus einzelnen Zeilen mit je 8 RGB-LEDs, die über ein Bussystem hinter- oder untereinander verbunden werden können. Das ganze kann dann von einem Master (ein Mikrocontroller, PC oder auch anderes Gerät) als ganzes angesteuert werden.
Hier mal ein paar Randinformationen:
- Jeweils ein ATmega16 für 8 RGB-LEDs
- Kein Multiplexing, die LEDs hängen direkt am Port des Controllers (daher max. 20mA pro LED)
- 24 Kanal Software PWM mit etwa 1000 PWM Stufen
- Wegen logarithmischer Helligkeitswahrnehmug des Auges etwa 64 Helligkeitsstufen nutzbar
- RS485 Bus um stressfrei die Daten mit 1 MBit/s auf das Display zu bringen
- Je ein RS485-Bus für Senden und Empfangen (kein Halbduplexbetrieb nötig)
- Alle LEDs können auch als Helligkeitsdetektoren genutzt werden
- Automatische Adresszuweisung der Displayzeilen via Kommunikationspins zu Nachbarzeilen
Warum?
- Weil zu einem Hackerspace einfach etwas buntes blinkendes gehört
- Weil wir ein großes Display zum spielen haben wollen
- Weil es cool ist
- Weil es in X und Y Richtung beliebig erweiterbar ist
- Weil es zeigt, wie ein Bussystem funktioniert
- Weil hier viele an Software und Hardware mitbasteln können
- Weil es geht! (*)
(*)...viele Grüße von Tut an das Labor in Bochum!
Wann?
Später
- Spektrum-Analyser (AVR + Mikrofon + Software)
- Spiele (Nibbles, Tetris, etc.)
- Taschenlampen-Pong
- Bildschirmlupe
In Arbeit
- Bootloader für Massenprogrammierung der Zeilen
- Aufbau von allen 16 Buntich-Zeilen
- Lötworkshop Bestückung und Verkabelung der LED-Pixel-Platinen
- Linux-Master-Software zur Ansteuerung des Displays
Fertig
- Software zur automatischen Adresszuweisung (Display-Enumeration)
- Buntich-Master (Master-AVR und Seriel-2-RS485 Umsetzung mit PC-Schnittstelle)
- Aufbau der ersten Buntich-Zeile
- Reflow-Workshop für LED-Zeilen-Control-Platinen Bestückung
- Platinen für LED-Zeilen bestellen (inkl. Schablone, 16 Stück bei PCB-POOL)
- Ätzworkshop für Herstellung der LED-Pixel-Platinen (Toner-Transfer-Methode)
- LEDs für 16 LED-Zeilen bestellen (Bürklin)
- Bauteile für 16 LED-Zeilen bestellen (Elpro, Reichelt)
- Platinenlayout für LED-Pixel-Platinen
- Softwaregerüst für ATmega16
- Machbarkeit 24-Kanal Software-PWM zeigen
- Schaltung für LED-Zeile entwickeln und zeichnen
- Platine für LED-Zeile layouten
Software
Bootloader
Über den Bootloader können alle Zeilen auf dem seriellen Bus gleichzeitig programmiert werden. Die Idee dabei ist, dass alle Zeilen die Kommandos und Daten gleichzeitig empfangen, aber der Reihe nach bestätigen. Dazu warten die Zeilen mit dem Senden solange, bis die Enum-In-Leitung 0 wird. Nachdem die Zeile das Byte gesendet hat legt sie für kurze Zeit die Enum-Out-Leitung auf 0, worauf die nächste Zeile senden wird. Da die erste Zeile fest auf 0 liegt fängt sie immer automatisch an.
Eintritt in den Bootloader
Nach einem Reset startet der Bootloader. Innerhalb von 4 Sekunden muss eine 4-Byte Codesequenz übertragen werden, auf die eine Pause von etwa 100ms folgen muss. Verstreichen die 4 Sekunden oder wird nach 16 empfangenen Bytes nicht die Codesequenz erreicht, so wird der Bootloader verlassen.
Downloads
Hier die Eagle-Files der BuntichNode-Platine: Datei:BuntichNodeV1.zip
Hier die Eagle-Files der BuntichPixel-Platine: Datei:BuntichPixelV1.zip