Sonntags Löt-Projekt: Arduino LCD-Shield
Sonntag, 17. Januar 2010 21:33
Vor einigen Wochen habe ich angefangen mich näher mit dem Arduino zu beschäftigen. Gerade die LiquidCrystal-Library zum Ansteuern von HD44780-kompatiblen LCD-Displays ist dabei ein schöner Einstieg. Innerhalb von Minuten hat man eine simple Schaltung bestehend aus einem Arduino und einem LCD-Display zusammengesteckt, so dass der Mikrocontroller dazu in der Lage ist über das Display Nachrichten auszugeben.

Da ich die Standard-Implementierung der LCD-Schaltung an einem Arduino Duemilanove schon mindestens 10 mal in den letzten Wochen auf einem Breadboard zusammengesteckt habe, und um mir diese lästige Aufgabe zukünftig zu ersparen, habe ich mich heute zu einer kleinen Nachmittagsbastelei entschlossen und ein kleines LCD-Shield zusammengebaut. Es wird einfach auf die Steckverbindung des Arduino-Board aufgesteckt und schon sind alle erforderlichen Verbindungen vom Controller zum Display hergestellt.
Bei der Realisierung des Boards habe ich mich weitgehend an dem Referenzaufbau von der Arduino-Homepage orientiert. Folgende Teile werden für den Zusammenbau benötigt:
1 x DisplayTech 16 x 2 LCD-Display mit HD44780-Controller
1 x Poti 10 Kilo-Ohm
1 Stück Lochrasterplatine (53 mm x 77 mm)
einige einreihige Pfostenverbinder und etwas isolierte Litze
Nach dem Schaltplan von arduino.cc ist die Schaltung in gut 20 Minuten zusammengelötet.

Zum Testen eignet sich das “Hello World” Programm aus der Arduino IDE. In meiner Implementierung des Shields habe ich folgende Pinzuordnung vom Arduino zum Display:
PIN2 –> RS
PIN3 –> ENABLE
PIN4 –> D4
PIN5 –> D5
PIN6 –> D6
PIN7 –> D7
Ich habe diese Zuordnung gewählt, da diese Pins noch Frei sind, wenn man zeitgleich das Arduino Ethernet Shield nutzen möchte. Damit das “Hello World”-Beispiel klappt muss also der Sourcecode nur an einer Stelle etwas modifiziert werden.
// initialize the library with the numbers of the interface pins LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
müsste entsprechend in
// initialize the library with the numbers of the interface pins LiquidCrystal lcd(2, 3, 4, 5, 6, 7);
geändert werden.
Wenn alles klappt sollte sich auf dem Display folgendes Bild zeigen:

Thema: Arduino | Kommentare (2) | Autor: Nicolas Dorwig




