MRC-60 Hack: LED-Beleuchtung
Das Board des MRC-60 von Sony-Ericsson besteht aus zwei Teilen. Einem Mainboard mit einem AVR Controller (ATmega168V)
und einem zweiten Board (Sub Board) das über einen 16-poligen Connector fest verlötet ist. Besonders
interessant finde ich die Aufteilung der Schaltung in zwei Teile, die eigentlich nur eine Schlussfolgerung
zulässt. Wiederverwendung! Wahrscheinlich hat das Mainboard oder das Peripherieboard auch noch in
einem anderen Produkt seinen Platz gefunden.
Neben einem IR-Empfänger befindet sich auf dem 2. Board auch eine LED-Beleuchtung. Es handelt sich dabei um
zwei blaue LEDs die über einen LED-Treiber angesteuert werden. Ein paar Messungen mit dem Durchgangsprüfer haben
dann ergeben, dass die Beleuchtung über den Pin3 an PORTD (PD7) gesteuert wird.
Erstes Ziel: LED-Beleuchtung
Das erste und einfachste Ziel ist die Ansteuerung der LED-Beleuchtung. Dem steht nach der Analyse auch nichts weiter im Weg.
Als Testprogramm soll ein 1000 ms Blinker die Sache bestätigen. Und weil Eclipse gerade auf ist wird der Test in C implementiert.
Kein großes Ding. Port initialisieren und in einer Endlosschleife den Pin toggeln.
#include <avr/io.h> #include <avr/delay.h> int main(void) { DDRD |= (1<<DDD7); //PD7 als Ausgang definieren while (1) { PIND |= (1<<PD7); //PD7 toggeln _delay_ms(1000); //1000ms warten } }
Funktioniert! Beim ersten Anlauf. Die LEDs blinken im Zweisekundentakt. Damit die Zeitbasis für das Delay auch stimmt
muss in den Einstellungen zur Target Hardware die MCU Clock auf 3686472 (3,686472 MHz) eingestellt werden.
Auch die Farbe und Helligkeit der LEDs ist schön.
Damit hat man schon einen kleinen Teil der Kontrolle über das Board gewonnen. Nur einen kleinen, denn es warten noch Dinge wie
serielle Schnittstelle, ausgeführte Anschlüsse des ATmega und natürlich ein Infrarot-Empfänger.
Links und Referenzen: