Rainbow Crash

From Chaoswiki
Revision as of 08:31, 15 February 2012 by Seto (Talk | contribs)

Jump to: navigation, search

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.

Personal tools