Rainbow Crash: Difference between revisions
(Nicht anklickbare TOC-Links repariert) |
No edit summary |
||
Line 46: | Line 46: | ||
* eine State-Machine |
* eine State-Machine |
||
* einen Event-Handler der etwas mit den Tastencodes anfangen kann |
* einen Event-Handler der etwas mit den Tastencodes anfangen kann |
||
Das Modul zum dekodieren der IR-Codes funktioniert nun. Code folgt später. Zusammen mit dem PWM-Code hat es sogar im nur 1KB grossen Speicher vom ATtiny13 Platz. |
|||
== DX-Fernbedienung = Müll == |
|||
Leider tut unsere DealExtreme-Fernbedienung nicht mehr so wirklich. Zuletzt hat sie innert Kürze mehrere Batterien (CR2025) leer gefressen, nun sendet sie gar nichts mehr. |
|||
Das RC-5-Protokoll ist bei Fernbedienungen noch etwas gebräuchlicer als NEC. Als nächstes heisst es also ein Decoder-Modul für RC-5 zu bauen. Laut [[http://en.wikipedia.org/wiki/RC-5]] ist das ein Manchester-kodiertes 14-Bit-Signal. Der Code dürfte also einfacher als für NEC ausfallen. |
Revision as of 06:30, 15 February 2012
Inspiration
Blinkenlights sind toll. Noch toller sind farbige Blinkenlights. Siehe auch AllColoursAreBeautiful und Moodlamp.
Und mit einem coolen Namen ist das ganze nochmal 20% cooler!
Ziel
Farbige Zimmerbeleuchtung!
Leider sind die Fertigprodukte (LED-Birnen) aus China recht minderwertig. Also warum nicht selbst bauen?
So wird auch wesentlich mehr Leuchtleistung möglich.
LED-Quellen
CREE-LEDs sind immer noch recht teuer. Bei DigiKey gibt es welche auf Stern in RGB für 11$/Stück (7 bei Abhname in grösseren Chargen).
Chinesische LEDs kosten wesentlich weniger. Gleichwertige kriegt man bei Ali Express schon ab 170$ für 100 Stück.
Treiberschaltungen und Fernbedienungen kann man ebenfalls zum Sparpreis aus China bestellen, z.B. aus LED-Spots von DealExtreme.
Reverse Engineering Fernbedienung
Analyse der Fernbedienng von DealExtreme 12V RGB LED Spot mit dem Logik-Analyzer war relativ einfach, Vergleich mit existierenden Protokollen hat ergeben dass NEC IR Codes verwendet wurden. Das Blank-Signal ist etwas kürzer, 480μs statt 567μs, unterm Strich stimmt das Timing aber ziemlich genau mit der Spezifikation überein. Siehe NEC-Protokoll.
Atmel Plätten
Wie so viele andere Bastler habe ich bei meinen ATtiny13 die falschen Fuse-Bits geflasht... Anstatt in der lfuse landeten sie in der hfuse. Nun funktioniert der ISP-Port nicht mehr, weil die RESET-Leitung als GPIO-Pin konfiguriert ist. Zum entbricken ist ein HVSP-Programmer nötig - welcher aber leider (noch) nicht zur Verfügung steht. In Anbetracht der Tatsache dass in Zukunft Andere vielleicht den gleichen Fehler machen werden bzw. dass in einer Schaltung einmal der RESET-Pin für andere Zwecke verwendet werden soll, haben wir uns einen HVSP-Fuse-Bit-Flasher besorgt. Sobald er eingetroffen ist, geht es weiter.
Das HVSP-Protokoll ist in den Datenblättern der jeweiligen Mikrocontroller dokumentiert, aber leider nicht kompatibel zum ISP-Protokoll. Ein ISP-Programmer mit Steuertransistor für die nötigen 12V auf der Reset-Leitung reicht also leider nicht. Hier gibts noch ein bisschen mehr Info dazu: [1].
Hier sind einige Projekte/Produkte zum Wiederherstellen der Fuse-Bits: [2] [3] [4]
Update: Zurücksetzen der Fuse-Bits hat geklappt. CKDIV8 ist nun auf 1, d.h. der ATtiny13 läuft mit der vollen Taktrate. Nun gehts weiter mit dem Projekt.
IR-Decoder
Was brauchen wir:
- einen IR-Fototransistor
- einen auf 0.1ms genauen Zähler
- einen Interrupt-Handler der auf Flanken vom FT reagiert
- eine State-Machine
- einen Event-Handler der etwas mit den Tastencodes anfangen kann
Das Modul zum dekodieren der IR-Codes funktioniert nun. Code folgt später. Zusammen mit dem PWM-Code hat es sogar im nur 1KB grossen Speicher vom ATtiny13 Platz.
DX-Fernbedienung = Müll
Leider tut unsere DealExtreme-Fernbedienung nicht mehr so wirklich. Zuletzt hat sie innert Kürze mehrere Batterien (CR2025) leer gefressen, nun sendet sie gar nichts mehr.
Das RC-5-Protokoll ist bei Fernbedienungen noch etwas gebräuchlicer als NEC. Als nächstes heisst es also ein Decoder-Modul für RC-5 zu bauen. Laut [[5]] ist das ein Manchester-kodiertes 14-Bit-Signal. Der Code dürfte also einfacher als für NEC ausfallen.