Hey! Sie scheinen aus United States zu kommen, möchten Sie auf die Englisch Webseite wechseln?
Switch to Englisch site
Skip to main content

Arduino LCD Keypad Shield mit Digital Discovery debuggen

In diesem Projekt lernen Sie, ein HD44780-Display zu debuggen.

Sie benötigen den Digilent Digital Discovery (136-8070) , ein kombiniertes Logikanalysator- und Mustergeneratorinstrument. Digital Discovery erlaubt Ihnen, digitale Signale für die meisten eingebetteten Projekte zu debuggen, zu visualisieren und zu simulieren. Wir verwenden Python, um das LCD zu debuggen.

Digilent LCD Test

Let's go through all steps.

Schritt 1: LCD mit Arduino Uno verbinden

Zu Beginn schließen wir das LCD gemäß der folgenden Verdrahtungstabelle an das Arduino Uno (769-7409) an. Der bereitgestellte Arduino-Sketch legt die Anzahl der Spalten und Zeilen des LCD fest, initialisiert die serielle Kommunikation und aktiviert die Hintergrundbeleuchtung. Es wird die LiquidCrystal-Bibliothek angewendet.

LCD Pin Arduino-Uno-Pin
RS 8
Enable 9
D4 4
D5 5
D6 6
D7 7
Backlight control 10
R/W Ground

Schritt 2: Hardware mit Digital Discovery verbinden

Nachdem wir das LCD Shield mit dem Arduino Uno verbunden haben, müssen wir das gesamte System gemäß der folgenden Verdrahtungskarte mit der Digital Discovery verbinden.

Digital Discovery Pin LCD Shield Pin
GND GND
DIN0 EN
DIN1 RS
DIN2 D4
DIN3 D5
DIN4 D6
DIN5 D7

Hinweis: Die Masse (Ground) sollte angeschlossen sein, bevor andere Verbindungen hergestellt werden.

Schritt 3: Python-Script schreiben, um das LCD Shield zu debuggen

Es wird eine Echtzeit-Datenerfassung und -analyse durchgeführt. Das Skript verwendet die folgenden vier Threads:

  1. Der Hauptthread (GUI) initialisiert Geräte und ist für die GUI-Prozesse verantwortlich.
  2. Der Erfassungs-Thread sammelt Echtzeitdaten von Digital Discovery und stellt Daten in eine Warteschlange.
  3. Der Rohdatenverarbeitungsthread liest Daten aus der Warteschlange. Der Latch wird nur an steigenden Flanken von EN aktiviert und die Daten werden in eine andere Warteschlange gestellt.
  4. Der Datenverarbeitungsthread liest zwischengespeicherte Daten aus der zweiten Warteschlange und simuliert das Verhalten der HD44780-Anzeige.

Schritt 4: LCD Shield debuggen

Führen Sie das Python-Skript aus. Wenn sich der Rohpuffer oder der Datenpuffer sehr schnell füllt, reduzieren Sie die Abtastrate. Die „Int“-Anzeige gibt an, ob die Initialisierung vom Skript erkannt wurde. Ein Wert von „2“ bedeutet, dass die Initialisierung erfolgreich abgeschlossen wurde und Werte von „0“ oder „1“ weisen auf einen unvollständigen Vorgang hin.

Com10 Decoder Screen

An das LDC-Schild gesendete Daten werden im Digilent WaveForms Logikanalysator-Instrument angezeigt. Fügen Sie im Logikanalysator einen Bus mit Takt bei steigender Flanke des EN-Signals hinzu. Als Nächstes fügen Sie das RS-Signal als separates Signal hinzu und setzen Sie den Triggermodus auf Normal mit Auslösung des Triggers bei einer ansteigenden Flanke des EN-Signals.

Com10 Setup Screen

Die Projektdetails, die Arduino-Skizze und Python-Skripte finden Sie auf der Digilent-Dokumentationsseite.

awong hat noch keine Biografie verfasst...
DesignSpark Electrical Logolinkedin