22.06.2015

Binäruhr mit dem MSP430

Binär-Uhren sind total cool

eigentlich wollte ich schon immer eine bauen. Nun ist es soweit :-)
Binary clock on breadboard

Rechts das Breadboard mit den LEDs: die fünf grünen LEDs oben zeigen die Stunden (die LED ganz links leuchtet),  die sechs gelben LEDs unten die Minuten (drei LEDs leuchten).

Links sieht man das TI Launchpad.

Die Uhr zeigt gerade 16:41 Uhr an:

Stunden: 2^4 = 16
Minuten: 2^5 + 2^3 + 2^0 = 32 + 8 + 1 = 41



Material

Benötigt wird
  • TI Launchpad MSP-EXP430G2
  • MSP430G2452 oder MSP430g2252 (auf neueren Launchpads dabei)
  • 11 LEDs
  • 11 Widerstände
  • Lötzinn
  • Breadboard

TI Launchpad MSP-EXP430G2

Das Launchpad von Texas Instruments ist ein preisgünstiges Board, das mit zwei Microcontroller-Chips aus der MSP430-Familie geliefert wird. Es besitzt einen USB-Anschluß, über den die Chips programmiert werden können. Erhältlich ist es bei den einschlägigen Versandhändlern (z.B. Watterott, Reichelt, Conrad).

Es wird zwar ein Uhrenquarz mitgeliefert, aber er ist noch nicht eingelötet - das muß man selbst nachholen. Da der Quarz sehr klein ist, braucht man dazu eine ruhige Hand, aber es ist machbar. Eine Anleitung dazu gibt es unter http://43oh.com/2010/08/wiring-the-32khz-crystal-to-the-launchpad/

Damit ist der schwierigste Teil schon erledigt. Nächster Schritt ist es, einige Pins des Launchppads über Widerstände (220 Ohm) mit den LEDs zu verbinden. Das geht am schnellsten mit einem Breadboard und dazu passenden Kabeln.

Verdrahtung

LEDs für Minuten


LED-Bit MSP430-Pin
0 P1_5
1 P2_0
2 P1_3
3 P1_2
4 P1_1
5 P1_0

LEDs für Stunden


LED-Bit MSP430-Pin
0 P2_3
1 P2_4
2 P2_5
3 P2_6
4 P2_7

Aussehen

Aussehen tut das ganz bei mir so:

Anschließend muß noch die Software auf den MSP430G2452 aufgespielt werden. Das geht mit der Energia IDE, einer auf den MSP430 angepassten Arduino-IDE. (hier schonmal beschrieben: http://www.µc.net/2015/02/energia-arduino-in-rot-fur-den-msp430.html)

Die Uhr kann dann mit dem Taster "S2" auf dem Launchpad gestellt werden, die Uhr zählt dann schnell hoch. Rechtzeitig stoppen, sonst muss man noch ne extra Runde drehen..

Code

Den Code habe ich auf GitHub abgelegt, er ist hier zu finden.

Es gibt noch einige Verbesserungspotential, z.B. beim Stellen der Uhr - das dauert nachmittags recht lange. Es werden auch ziemlich viele Pins benötigt, weil die Anzeige nicht gemultiplexed ist.

Links