Posts mit dem Label msp430 werden angezeigt. Alle Posts anzeigen
Posts mit dem Label msp430 werden angezeigt. Alle Posts anzeigen

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



07.03.2015

LED-Morse-Thermometer mit MSP430G2231

Die Energia-IDE (ein Arduino-IDE-Derivat mit MSP430-Target, hier besprochen) enthält einige Beispiele - unter anderem ein Thermometer, das die gemessenen Werte seriell ausgibt. Ich habe das Beispiel so modifiziert, daß die Temperatur stattdessen über LEDs gemorst wird. Benötigt wird dazu ein TI-Launchpad, ich hatte da noch eines rumliegen. Beim Launchpad dabei ist auch ein MSP430G2231, der auf dem Chip ein Thermometer hat und 2kB Flash besitzt.

Nach Einrichten der IDE kann man den Code direkt in den Controller laden und starten. Rotes Morsen bedeutet eine positive Temperatur, grün heisst, dass die gemorste Zahl eine Temperatur unter null Grad ist.

Ich habe dann den Chip aus dem Launchpad genommen, LEDs & Reset-Schaltung freihändig verdrahtet und zwei Babyzellen drangelötet. Die enthalten etwa 8000mAh und sollten für ca ein Jahr Energie liefern. Die Schaltung kam in ein altes Marmeladenglas und liegt momentan draussen im Schnee und morst da die Temperatur vor sich hin. Sehr praktisch :-)

27.02.2015

Energia: Arduino in rot für den MSP430 und ARM

Was ist Energia?

Wer gerne mit der Arduino-IDE arbeitet, aber mal den MSP430-Controller von TI benutzen möchte, für den ist die Energia-IDE ideal.

Das Energia-Projekt nimmt die originale  Arduino-IDE und hat die Libraries auf den MSP430 portiert. Außerdem wurde die IDE eingefärbt :-) Ergebnis ist, daß die meisten Arduino-Sketches fast direkt benutzt werden können! Auch das übrige Handling ist identisch zur Arduino-IDE - man muß sich also nicht umgewöhnen. Es gibt natürlich einige Hardware-Unterschiede zwischen den Prozessor-Familien, aber die-Arduino-IDE/Libraries abstrahiert die Hardware so gut, daß das beherrschbar ist.

Das Energia-Projekt wurde von einem TI-Mitarbeiter gestartet. Er arbeitet jetzt Vollzeit daran.

Boards

TI bietet extrem preisgünstige Boards (TI-Launchpad) an. Sie haben alle eine USB-Schnittstelle und können direkt angesprochen werden -es muß auch kein Bootloader installiert werden. Fertige Projekte können die Boards nutzen, oder man kann die MSP430-Chip aus dem Board nehmen und in der Ziel-Schaltung einsetzen.

MSP430

MSP430-Prozessoren arbeiten mit 16 Bit haben etwas mehr Dampf als AVRs. Außerdem sind sie recht preisgünstig und einige bieten Features, die es bei AVRs nicht so gibt, z.B. nichtflüchtiges FRAM.

ARM-Cortex

Neben dem MSP430 werden auch diverse Arm-Cortex-Boards mit bis zu 120MHz Takt und 1MB Flash/256kB RAM unterstützt.

WiFi / IoT mit CC3200

We WiFi braucht kann ein CC3200 nehmen - auch das läuft mit Energia.

Installation


Installation unter Ubuntu 12.04 war bei mir sehr einfach: tar.gz auspacken, und starten. Vorher musste noch eine udev-Regel angepasst werden, damit die IDE Zugriff auf USB hat, das geht so:

die Datei
/etc/udev/rules.d/46-TI_launchpad.rules
anlegen und folgende Zeile dort eintragen:
ATTRS{idVendor}=="0451", ATTRS{idProduct}=="f432", MODE="0660", GROUP="plugdev"
anschliessend
sudo restart udev

USB einstecken, fertig. Nun kann die IDE benutzt werden.

Insgesamt ein sehr interessanter Ansatz, die etwas sperrigen Entwicklungstools durch was leichteres zum Einstieg zu ersetzen. Auf der Energia-Website gibt es jede Menge professionell aufbereiteter Infos, Tutorials, etc.