So zeigen Sie einen Sensormesswert auf einem 16x2-LCD-Display an
Als Lieferant von 16x2 LCD-Displays treffe ich häufig auf Kunden, die daran interessiert sind, unsere Displays zur Anzeige von Sensormesswerten zu verwenden. In diesem Blogbeitrag begleite ich Sie durch den Prozess der Anzeige von Sensormesswerten auf einem 16x2-LCD, vom Verständnis der Grundkomponenten bis zum Schreiben des Codes.
Die Grundlagen verstehen
Bevor wir beginnen, wollen wir uns mit den beiden Hauptkomponenten befassen: dem Sensor und dem 16x2-LCD-Display.
Ein Sensor ist ein Gerät, das bestimmte Eingaben aus der physischen Umgebung erkennt und darauf reagiert. Der Input kann Licht, Wärme, Bewegung, Feuchtigkeit, Druck oder eines von vielen anderen Umweltphänomenen sein. Bei der Ausgabe handelt es sich im Allgemeinen um ein Signal, das von einer Anzeigeeinheit wie unserem 16x2-LCD in eine für Menschen lesbare Anzeige umgewandelt wird.


Ein 16x2-LCD-Display kann, wie der Name schon sagt, 16 Zeichen pro Zeile anzeigen und verfügt über 2 solcher Zeilen. Aufgrund seiner Einfachheit, geringen Kosten und Benutzerfreundlichkeit ist es eine beliebte Wahl für viele Projekte.
Hardware-Verbindung
Der erste Schritt besteht darin, den Sensor und das 16x2 LCD-Display an Ihren Mikrocontroller anzuschließen. Für diesen Leitfaden gehen wir davon aus, dass Sie ein Arduino verwenden, eine weit verbreitete Open-Source-Elektronikplattform.
-
Verbinden Sie das 16x2 LCD mit dem Arduino:
- VSS: Mit GND am Arduino verbinden.
- VDD: An 5V am Arduino anschließen.
- V0: An den Mittelstift eines Potentiometers anschließen. Die anderen beiden Pins des Potentiometers sind mit 5V und GND verbunden. Hiermit wird der Kontrast des LCD eingestellt.
- RS: An einen digitalen Pin am Arduino anschließen (z. B. Pin 12).
- RW: Mit GND verbinden. Dies wird zum Lesen vom LCD verwendet, aber wir schreiben nur darauf, damit es geerdet werden kann.
- UND: An einen digitalen Pin am Arduino anschließen (z. B. Pin 11).
- D4 - D7: An digitale Pins am Arduino anschließen (z. B. Pins 5 - 8).
- A: Über einen 220-Ohm-Widerstand an 5 V anschließen. Dies ist die Anode der Hintergrundbeleuchtung.
- K: Mit GND verbinden. Dies ist die Kathode der Hintergrundbeleuchtung.
-
Verbinden Sie den Sensor mit dem Arduino:
Der Anschluss des Sensors ist abhängig von dessen Typ. Wenn Sie beispielsweise einen Temperatursensor wie den DHT11 verwenden, müssen Sie dessen VCC an 5 V, GND an GND und den Datenpin an einen digitalen Pin am Arduino (z. B. Pin 2) anschließen.
Software-Setup
Sobald die Hardware angeschlossen ist, ist es an der Zeit, den Code zu schreiben, um den Sensormesswert auf dem LCD anzuzeigen.
Zunächst müssen Sie die erforderlichen Bibliotheken installieren. Für das 16x2-LCD können Sie die LiquidCrystal-Bibliothek verwenden, die mit der Arduino IDE vorinstalliert ist. Wenn Sie einen DHT11-Sensor verwenden, müssen Sie die DHT-Sensorbibliothek installieren.
#include <LiquidCrystal.h> #include <DHT.h> // Initialisieren Sie die LCD-Bibliothek mit den Nummern der Schnittstellenpins LiquidCrystal lcd(12, 11, 5, 6, 7, 8); // DHT-Sensor initialisieren. #define DHTPIN 2 #define DHTTYPE DHT11 DHT dht(DHTPIN, DHTTYPE); void setup() { // Anzahl der Spalten und Zeilen des LCD festlegen: lcd.begin(16, 2); dht.begin(); // Eine Nachricht auf dem LCD ausgeben. lcd.print("Sensorwert"); } void loop() { // Zwischen den Messungen einige Sekunden warten. Verzögerung (2000); // Das Auslesen von Temperatur oder Luftfeuchtigkeit dauert etwa 250 Millisekunden! // Sensorwerte können auch bis zu 2 Sekunden „alt“ sein (es ist ein sehr langsamer Sensor) float h = dht.readHumidity(); // Temperatur als Celsius lesen (Standard) float t = dht.readTemperature(); // Überprüfen Sie, ob Lesevorgänge fehlgeschlagen sind, und beenden Sie den Vorgang vorzeitig (um es erneut zu versuchen). if (isnan(h) || isnan(t)) { lcd.setCursor(0, 1); lcd.print("Lesen fehlgeschlagen!"); zurückkehren; } // Löscht den Bildschirm lcd.clear(); lcd.setCursor(0, 0); lcd.print("Temp: "); lcd.print(t); lcd.print(" C"); lcd.setCursor(0, 1); lcd.print("Luftfeuchtigkeit:"); lcd.print(h); lcd.print(" %"); }
In diesen Code binden wir zunächst die notwendigen Bibliotheken ein. Anschließend initialisieren wir das LCD und den DHT-Sensor. Imaufstellen()Funktion richten wir das LCD ein und starten den Sensor. ImSchleife()Funktion lesen wir alle 2 Sekunden die Temperatur und Luftfeuchtigkeit vom Sensor ab. Wenn die Messung erfolgreich ist, löschen wir das LCD und zeigen die Temperatur- und Luftfeuchtigkeitswerte an.
Fehlerbehebung
Wenn Sie Schwierigkeiten haben, den Sensorwert auf dem LCD anzuzeigen, finden Sie hier einige häufige Probleme und Lösungen:
-
Keine Anzeige auf dem LCD:
- Überprüfen Sie den Kontrast: Stellen Sie das an den V0-Pin angeschlossene Potentiometer ein, bis Sie die LCD-Zeichen sehen können.
- Überprüfen Sie die Stromversorgung: Stellen Sie sicher, dass das LCD ordnungsgemäß an 5 V und GND angeschlossen ist.
- Überprüfen Sie die Pin-Verbindungen: Überprüfen Sie noch einmal, ob alle Pins zwischen dem LCD und dem Arduino richtig angeschlossen sind.
-
Falsche Sensorwerte:
- Überprüfen Sie den Sensoranschluss: Stellen Sie sicher, dass der Sensor richtig mit dem Arduino verbunden ist.
- Überprüfen Sie die Sensorbibliothek: Stellen Sie sicher, dass Sie die richtige Bibliothek für Ihren Sensor verwenden und dass diese korrekt installiert ist.
Weitere LCD-Anzeigeoptionen
Neben unseren 16x2 LCD-Displays bieten wir auch eine Vielzahl weiterer Display-Produkte an, wie z.B. dasVA-LCD-Zeichen-Zahnrad-Punkt-128 x 64-Display,Zahnrad LCD 12840module St7565r, UndLCD-Grafikanzeigemodule und Zubehör. Diese Produkte bieten unterschiedliche Funktionen und Spezifikationen, um Ihren spezifischen Anforderungen gerecht zu werden.
Wenn Sie Interesse an unseren Produkten haben oder Fragen zur Anzeige von Sensorwerten auf LCD-Displays haben, können Sie uns jederzeit für die Beschaffung und weitere Verhandlungen kontaktieren. Wir verfügen über ein professionelles Team, das Sie bei der Suche nach den besten Lösungen für Ihre Projekte unterstützt.
Referenzen
- Arduino-Dokumentation: https://www.arduino.cc/en/Reference/HomePage
- Dokumentation der DHT-Sensorbibliothek
- Dokumentation der LiquidCrystal-Bibliothek