Display für den Arduino

vor 2 years 24 weeks von chris3g

Hallöle zusammen,

nachdem mein Arduino doch nicht gehimmelt wurde, möchte ich nun gerne ein Display anschließen und Daten (Buchstaben) ausgeben. Ein 2x16 er Dot-Matrix sollte ausreichen. Jedoch habe ich mich nie mit Dot Matrix Displays beschäftigt, und hätte einige Fragen an euch:

1) Welches günstige (maximal 15€) DotMatrix Display könnt ihr mir empfehlen?
Wäre soetwas (http://www.reichelt.de/?;ACTION=3;LA=444;GROUP=A5211;GROUPID=3005;ARTICL...) möglich?

2) Wie steuere ich solch ein Display an? Bzw. könnt ihr mir ein Tutorial nennen, welches mir die grundlegenden Dinge in Sachen DotMatrix vermittelt?

Besten Dank

Ähnliche Posts

18 Antworten auf “Display für den Arduino”


Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
  1. Peter Ikier sagt:

    Wenn du sowieso schon bei Reichelt schaust, dann sieh dir mal das DOGM-162L-A an: http://www.reichelt.de/?;ACTION=3;LA=2;GROUP=A5213;GROUPID=3007;ARTICLE=...
    Bei Reichelt kannst du zu fast jedem Bauteil auch ein Datenblatt oder eine Bedienungsanleitung herunterladen. Die für das DOGM ist in deutsch und mit detaillierter Beschaltung. Die DOGMs kannst du entweder mit 8, mit 4 oder mit 2 Datenleitungen betreiben. Da beim Arduino die Digitalpins meist knapp sind ist die serielle 4-Draht-Ansteuerung (SPI: 2 Datenleitungen, +5V, Masse) vielleicht eine gute Wahl. Gerade der SPI-Betrieb bei 5 Volt kommt mit besonders wenig zusätzlichen Bauteilen aus, was mMn. auch ein Vorteil ist.

    Der Preis für die (oben verlinkte) Version ohne Hintergrundbeleuchtung liegt mit 11,85 Fragezeichen auch im Rahmen.

    Zur Ansteuerung gibt es (mindestens) zwei Libs, die du über ein Google-Suche mit "Arduino Dog display" schnell findest.

    Login or register to post comments

  1. mr-hyde sagt:

    Also ich hab bei Pollin.de einen Satz extrem billige Displays mit dem Controller Controller HD44780 bestellt. Die werden von der LiquidCrystal library unterstützt:
    http://www.arduino.cc/en/Tutorial/LiquidCrystal
    Ich habe so beschaltet wie da beschrieben, nur andere Pins gewählt.
    Also / 4 Datenleitungen / RS + E

    LCD-Modul YL162-90 - 4,95 EUR = ACHTUNG !!! geht nicht, da der Kontrast mit einer negativen Spannung eingestellt wird - und die meisten von uns die nirgends problemlos auf dem Bord haben.

    LCD-Modul DATAVISION DV-20208 - 3,95 EUR - 2x20 Display und recht groß - Maße beachten!
    Da es aber genau in mein Bastelkästchen passt habe ich das Momentan im BEtrieb und bin sehr zufrieden.

    LCD-Modul HMC16223SG - sehr schön aber Minniklein - Maße beachten!
    und die Lötanschlüsse sind deshalb ebenso absolut Mini. Das sollte man sich nur antun wenn diese Größe nötig ist. Ich habe es noch nicht ausprobiert, sollte aber ebenfalls gehen.

    Login or register to post comments

  1. chris3g sagt:

    Hallo Peter,

    heute ist das DOGM Display gekommen.

    Du sagtest, ich solle mal googlen, folgendes habe ich gefunden:
    http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1217184420

    Allerdings verstehe ich dort nur Bahnhof. Könntest du kurz erklären wie ich das ganze zum Laufen bringe oder mir eine (leichter verständlichere) Ressource nennen?

    Hab Dank,
    chris

    Login or register to post comments

  1. Peter Ikier sagt:

    In dem Thread, den du da gefunden hast, gibt es als vorletzte Message einen Verweis auf ein Github-Archiv: http://github.com/halfbyte/lcddogmspi/tree/master
    Da gibt es einen "Download"-Button, da kannst du dir dann ein Zip-Archiv runterladen. Das entpackst du in dein "libraries"-Verzeichnis der Arduino-IDE.

    Da gibt es dann ein readme.txt, darin ist die Verkabelung beschrieben:

    O|.....................................
     | Wiring it up [Anschließen]
    O| ------------
     | 
    O| DISPLAY < - > ARDUINO
     | --------------------------
    O| SI - 11 (MOSI)
     | CLK - 13 (SPI-Clock)
    O| RS - <rs_pin> (2nd parameter to the library initializer)
     | CSB - <csb_pin> (3rd parameter to the library initializer)
    O| +5V - 5V (O RLY?)
     | GND - GND (YAH, RLY)
    O| .....................................

    Dann sollte für dein Programm ein

    #include <LCDdogmSPI.h>

    reichen. Unter "examples" findest du dann (gerade mal) ein Beispiel zum Ansteuern.

    Gruß
    pi

    Login or register to post comments

  1. chris3g sagt:

    Besten Dank! :)

    Alle Lib Dateien eingefügt,trotzdem beim compilieren des Beispiels:

    24: error: LCDdogmSPI.h: No such file or directory In function 'void setup()':
    Bad error line: -3

    Login or register to post comments

  1. Peter Ikier sagt:

    Ging hier so:

    In dem Zip-Archiv ist ein Ordner namens "halfbyte-lcddogmspi-46ac4fade33dc6e19e5a397c45efad81a238580e". Den kopierst du so wie er ist ins Libraries-Verzeichnis. Unter Windows findest du dieses im "Hardware"-Verzeichnis der IDE, also z.B unter "C:\Programme\arduino-0017\hardware\libraries"

    Den Ordner mit dem langen Namen benennst du um, z.B. in "LCD_Dogm_SPI".

    Nach dem nächsten Start der IDE müsste schon im "Examples" ein Untermenü mit dem Ordnernamen, also z.B. "LCD_Dogm_SPI", vorhanden sein. Da ist das Beispielprogramm drin,das kannst du direkt antesten.

    Bei mir ließ es sich direkt ohne Fehler übersetzen. Da ich aber kenen DOGM habe konnte ich es nicht testen...

    Gruß
    pi

    Login or register to post comments

  1. chris3g sagt:

    Hi,

    das Compiler Problem hat sich gelöst. von selbst.

    Nun bin ich gerade am Anschließen, und bin mit Hilfe des Datenblattes auch schon relativ weit gekommen.

    Allerdings frage ich mich, welche Pins des Displays zu CLK un SI gehören sollen, dies kann ich nicht im Datenblatt finden. Weißt du näheres?

    Dann noch eine andere Sache:

    GND und 5V... den GND Anschluss auf der Seite mit der Aufschrift "Digital" oder "Power"? 5V aus der "Power" Seite oder per High-Pin?

    chris

    Login or register to post comments

  1. Peter Ikier sagt:

    Wenn du dir bei Reichelt das Datenblatt geholt hast, schaust du dir auf Seite 4 rechts unten die Beschaltung für den "EA DOGMxxx-A 5V SPI" an.

    Da findest du folgendes:

    SI ist Pin 28, CLK ist Pin 29.
    GND geht an 23 und 27, +5V geht an 24, 25, 26, 30-37 und 40.

    +5V und GND würde ich immer von der "Power"-Seite nehmen.

    Gruß
    pi

    Login or register to post comments

  1. chris3g sagt:

    Es funktioniert nicht. Alles wie im Readme und von dir beschrieben verkabelt, mim Arduino verbunden, nichts. Mehrfach neu zusammengesteckt, sichergestellt, dass alle Pins richtig zueinander gehören, auch darauf geachtet, dass alles straff und ohne Wackeln sitzt...nichts.

    So sieht das aus:
    http://img5.imagebanana.com/img/05leom6u/P1010122.JPG
    http://img5.imagebanana.com/img/euj4ox8z/P1010120.gif

    Sind vielleicht Drähte od. Steckbrett defekt? Oder ich nur zu doof?

    Meine Geduld ist für Heute am Ende,
    chris

    Login or register to post comments

  1. Peter Ikier sagt:

    Hey, locker bleiben...

    was mir im 2. Bild auffällt: Du hast gerade mal 6 Pins von der Anzeige beschaltet. Alleine die +5V müssten eigentlich an 12 Pins gehen, insgesamt müssten 16 Pins beschaltet sein (siehe mein letztes Posting).

    Dann solltest du die blanken Enden von deinen Steckverbindern kürzen. Ein Zentimeter blankes Kabel reicht dicke, sonst besteht die Gefahr eines Kurzschlusses. Auf deinem ersten Bild links unten kann man z.B. nicht erkennen, dass die beiden blauen Strippen sich _nicht_ berühren.

    Gruß
    pi

    Login or register to post comments

  1. Peter Ikier sagt:

    Hey, locker bleiben...

    was mir im 2. Bild auffällt: Du hast gerade mal 6 Pins von der Anzeige beschaltet. Alleine die +5V müssten eigentlich an 12 Pins gehen, insgesamt müssten 16 Pins beschaltet sein (siehe mein letztes Posting).

    Dann solltest du die blanken Enden von deinen Steckverbindern kürzen. Ein Zentimeter blankes Kabel reicht dicke, sonst besteht die Gefahr eines Kurzschlusses. Auf deinem ersten Bild links unten kann man z.B. nicht erkennen, dass die beiden blauen Strippen sich _nicht_ berühren.

    Gruß
    pi

    Login or register to post comments

  1. chris3g sagt:

    Hallo,

    > Du hast gerade mal 6 Pins von der Anzeige beschaltet.

    Auf dem Datenblatt steht doch "Inkl. Kontroller ST7036 Für 4-/8-Bit, SPI (4-Draht)

    Ich war jetz davon ausgegangen dass die vier Drähte mit:
    O| SI - 11 (MOSI)
    | CLK - 13 (SPI-Clock)
    O| RS - (2nd parameter to the library initializer)
    | CSB - (3rd parameter to the library initializer)
    belegt sind. + 2 für 5V und GND.

    An welche Ports kommen denn die restlichen?

    gruß,
    chris

    Login or register to post comments

  1. Peter Ikier sagt:

    Hallo chris3g,

    die Unterscheidung ist so: Auf Artuino-Seite nusst du 4 (+2) Leitungen beschalten.
    Auf der Display-Seite musst du fast die gesamte obere Seite des Displays versorgen.

    Bei einer +5V-Beschaltung brauchst du allerdings keine zusätzlichen Bauteile.

    Laut Blockschaltbild musst du folgendes beschalten:

    SI ist Pin 28,
    CLK ist Pin 29.
    GND geht an 23 und 27,
    +5V geht an 24, 25, 26, 30-37 und 40.
    RSB geht an 38 und
    RS an Pin 39.

    Nur 21 und 22 bleiben frei.

    Gestern habe ich mein DOGM-162 bekommen... sobald ich es ausprobiert habe werde ich darüber berichten, OK?

    Gruß
    pi

    Login or register to post comments

  1. Peter Ikier sagt:

    So, DOGM ist angeschlossen.
    Ist ein bisschen tricky gewesen weil das Display tatsächlich sehr empfindlich auf fehlende +5V-Beschaltung bzw. GND-Beschaltung ist.
    Hello WorldHello World
    Das Beispielprogramm aus der Library musste ich geringfügig anpassen, weil der DOGM-162 ja nur 2 Zeilen hat, der Autor aber die Beispielausgabe auf seinem 3-Zeilen-Display auf die unterste Zeile gesetzt hat:

    #include <LCDdogmSPI.h>
     
    #define CSB_PIN 10
    #define RS_PIN 9
    #define LCD_LINES 2
     
    // This initializes for a 2 LINES display
    LCDdogmSPI lcd = LCDdogmSPI(LCD_LINES, CSB_PIN, RS_PIN);
     
    void setup() {
      lcd.init();
      lcd.cursorTo(1,5);
      lcd.println("Hello World");
    }
     
    void loop() {
      delay(10); 
    }

    EDIT: Ich sehe gerade, dass die kleinen Drahtbrücken von Pin 37-30 und von 24-26 praktisch nicht zu erkennen sind. Da wird einfach jeder einzelne Pin mit +5V versorgt.

    Gruß
    pi

    Login or register to post comments

  1. Jens (not verified) sagt:

    Hallo Peter,

    ich habe mein DOGM 163 ebenso angeschlossen wie Du, allerdings bleibt mein DOGM leer.
    Ist die Verkabelung denn soweit richtig?
    Der weiße Draht der von ganz unten aus der Bildkante kommt, ist am 5V angeschlossen. Hab ich da etwas falsch gekabelt? Der Quelltext ist der aus der Lib, da ich ein 163er Modul verwende.

    bild

    Gruesse,
    J.

    Login or register to post comments

  1. Peter Ikier sagt:

    Hm, so auf den ersten Blick sieht die Beschaltung OK aus.
    Wenn du ein Multimeter hast: pieps doch mal die Verbindungen alle durch.
    Haben alle +5V-Pins auch 5V, sind alle GNDs tatsächlich mit GND versorgt?
    Vielleicht ist einfach irgendwo ein Kabel gebrochen oder die Stiftleiste hat keinen richtigen Kontakt.
    Wie schon gesagt: Das Display ist sehr empfindlich, was die Pin-Beschaltung angeht. Ich habe auch ziemlich lange probiert bis die Beschaltung OK war.

    Du scheinst dieselben Pins wie ich benutzt zu haben. Versuch doch mal meinen Code von oben.

    Gruß
    pi

    Login or register to post comments

  1. ponzelar sagt:

    Hallo,
    da meine Anfangsprobleme gelöst sind, möchte ich der guten Ordnung halber auf den Beitrag von mr-hyde vom 23.08.2009 reagieren. Er schreibt: "LCD-Modul YL162-90 - 4,95 EUR = ACHTUNG !!! geht nicht, da der Kontrast mit einer negativen Spannung eingestellt wird - und die meisten von uns die nirgends problemlos auf dem Bord haben." Ist natürlich richtig, aber die negative Kontrastspannung läßt sich sehr einfach mit einem ICL7660 realisieren:
    http://www.sprut.de/electronic/lcd/kontras2.gif
    Mit allem drum und dran kostet das ca. 2,- €, das Display ca. 5,- €. Eine preiswerte Lösung, die bei mir einwandfrei funktioniert.
    Gruß ponzelar

    Login or register to post comments

  1. jens (not verified) sagt:

    Hallo Peter,

    ich habe Dein Programm versucht und leider hatte es nicht funktioniert. Aber nach einigem hin und her habe ich es dann doch zum laufen bekommen. Allerdings weiss ich nicht warum es nun klappt, vielleicht war, wie Du meintest, irgendwo ein Kabel locker. Aber auf jedenfall danke fuer den 'Schaltplan' der hat mir doch sehr weitergeholfen.

    Gruesse,
    J.

    Login or register to post comments