Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

Ausstellung:Die Urausstellung

Ausstellung:The Primal Display Dieser sehr einfache Protip verbindet ein LCD mit einem Raspberry Pi, um alle benötigten Daten anzuzeigen, z. B. Messwerte von einem Temperatursensor.

Geschichte

Einführung

LCD ist ein sehr nützliches Add-on für jedes Projekt. Dieser sehr einfache Tipp verbindet das LCD mit dem Raspberry Pi, um alle benötigten Daten anzuzeigen. In unserem Fall werden die Messwerte von einem Temperatursensor angezeigt.

Hardware

Wir brauchen ein günstiges HDD44780-kompatibles LCD, Raspberry Pi 3 und Temperatur- und Feuchtigkeitssensor DHT11, Micro-SD-Karte und Stromquelle, 1-2 Potentiometer, Steckbrett und einige Kabel. LCD, Steckbrett, Kabel, Potentiometer und Sensor sind in diesem Kit enthalten. Wir werden das LCD mit 6 GPIO-Pins verbinden. Obwohl es eine Möglichkeit gibt, eine Verbindung über I2C herzustellen, ist dies die direkteste Methode und bietet wichtige Vorteile:


Dinge verkabeln

Wir werden mehrere Optionen zum Anschluss des LCD-Bildschirms haben:einfache 4-Bit-Verbindung mit einem Potentiometer zur Handhabung von Kontrast und Helligkeit und eine etwas komplexere 8-Bit-Verbindung mit erweiterter Steuerung von Kontrast und Helligkeit mit 2 Potentiometern. Die Potentiometer können auch durch 1K- oder 3K-Ohm-Widerstände ersetzt werden.

Jedes Zeichen und jeder Befehl wird als Datenbyte (8 Bit) an das LCD gesendet. Im 4-Bit-Modus wird das Byte also in zwei Sätze zu je 4 Bits aufgeteilt, die nacheinander über 4 Datenleitungen gesendet werden. Theoretisch überträgt der 8-Bit-Modus Daten doppelt so schnell wie der 4-Bit-Modus, da das gesamte Byte auf einmal über 8 Datenleitungen gesendet wird. Die Verarbeitung der Daten durch den LCD-Treiber dauert jedoch relativ lange, sodass Sie, egal welcher Modus verwendet wird, keinen wirklichen Unterschied in der Datenübertragungsgeschwindigkeit zwischen 8-Bit- und 4-Bit-Modus feststellen werden.

LCD-Pin-Layout

Die Daten-Pins (DB0-7 Pins 7-14) sind unkompliziert. Sie senden Daten an das Display (hoch/niedrig umgeschaltet). Wir werden nur den Schreibmodus verwenden und keine Daten lesen.

Der Registrierungs-Auswahlpin (RS-Pin 4) hat zwei Verwendungszwecke. Wenn es nach unten gezogen wird, kann es Befehle an das LCD senden (wie Position zum Bewegen oder Löschen des Bildschirms). Dies wird als Schreiben in das Befehls- oder Befehlsregister oder als das Senden von Daten an den Bildschirm bezeichnet.

Der Lese-/Schreibstift (R/W Pin 5) wird auf Low gezogen (nur schreiben), da wir in diesem Protip nur auf das LCD schreiben.

Der Aktivierungspin (E Pin 6) wird umgeschaltet, um Daten in die Register zu schreiben.

Einfache LCD-Verbindung

Einfacher LCD-Anschlussschaltplan

Erweitert LCD-Verbindung

Erweiterter LCD-Anschlussschaltplan

INTERESSANT:

Jetzt haben wir 2 Potentiometer:das linke ist für den Kontrast und das rechte für die Helligkeit zuständig. Sie haben vielleicht bemerkt, dass wir das 5V-Kabel (rot) vom Kontrastpotentiometer entfernt haben, da keine zusätzliche Spannungsbehandlung erforderlich ist, da wir über ein zweites Potentiometer verfügen, das für die Helligkeit verantwortlich ist.

DHT11-Sensoranschluss

DHT11-Sensoren können 3- oder 4-Pin-Optionen haben, dies spielt jedoch keine Rolle, da nur 3 Pins zum Lesen der Daten verwendet werden. Wenn Sie einen 4-Pin-Sensor haben, müssen Sie nur Vcc, Signal anschließen /Data- und Ground-Pins und ignorieren Sie den 4. Auf den obigen Schemata sehen Sie eine 4-polige Sensorverbindung.

DHT11-Sensor:3- und 4-Pin-Optionen

WICHTIG:

DHT11-Sensor benötigt 3,3 V bis 5 V. Schließen wir zuerst den DHT11-Sensor an den 3,3-V-Raspberry-Pi-Pin 1 an. Wenn er funktioniert, reicht diese Spannung aus, wenn die Messwerte seltsam sind oder überhaupt keine Messwerte vorliegen. Versuchen Sie, ihn an den 5V-Raspberry-Pi-Pin 2 anzuschließen>

So weit so gut, nachdem wir die Vcc- und Masse-Pins verbunden haben, müssen wir den Signalanschluss des Sensors mit dem physischen Pin 12 des Raspberry Pi (GPIO 18) verbinden.

Erforderliche Bibliotheken

Bevor wir mit der genauen Codierung fortfahren, müssen wir noch einmal überprüfen, ob wir die erforderlichen Bibliotheken für Display und Sensor haben und diese installieren, falls sie fehlen.

Nur um es noch einmal zu überprüfen (ein bisschen Paranoia :)) haben wir alle notwendigen Python-Sachen:

sudo apt-get install build-essential python-dev

RPLCD Python-Bibliothek

Die RPLCD-Bibliothek kann aus dem Python-Paketindex oder PIP installiert werden. Es könnte bereits auf Ihrem Raspbian installiert sein, aber wenn nicht, führen Sie diesen Befehl aus, um es zu installieren:

sudo apt-get install python-pip

Nachdem Sie PIP installiert haben, installieren Sie die RPLCD-Bibliothek, indem Sie Folgendes eingeben:

sudo pip install RPLCD

Adafruit DHT11 Python-Bibliothek

Wir verwenden die Adafruit DHT11 Python-Bibliothek. Sie können die Bibliothek mit Git herunterladen. Wenn Sie Git also nicht auf Ihrem Raspberry Pi installiert haben, führen Sie diesen Befehl aus:

sudo apt-get install git

Alternativ können Sie Folgendes versuchen:

sudo apt-get install git-core

WICHTIG:

Wenn bei der alternativen Git-Installation ein Fehler auftritt, führen Sie Folgendes aus:

sudo apt-get update
sudo apt-get install git-core

Führen Sie nun den Befehl aus, um die Bibliothek von Git herunterzuladen:

git-Klon https://github.com/adafruit/Adafruit_Python_DHT.git

Gehe zum neuen Verzeichnis mit:

cd Adafruit_Python_DHT

Und installiere die Bibliothek mit:

sudo python setup.py install

Kommen wir zum Skripting.

Python-Skript

Wir werden Python verwenden, um unser Display und unseren Sensor zu programmieren. Ich verwende Visual Studio als IDE, aber Sie können alles andere verwenden, mit dem Sie lieber arbeiten.

Zuerst müssen wir uns über SSH mit dem Pi verbinden (z. B. mit PuTTY). Dann verwenden wir ein Skript namens temperature.py.

Um das Skript zu erstellen, können wir den Nano-Editor verwenden. Nachdem Sie eine Verbindung zu Ihrem Pi hergestellt haben, führen Sie den folgenden Befehl aus, um eine Datei namens temperature.py zu erstellen:

sudo nano temperature.py

Fügen Sie dann den folgenden Code (8-Bit-Option) in diese Datei ein und drücken Sie STRG-X zum Beenden und Y zum Speichern, wenn Sie dazu aufgefordert werden.

#!/usr/bin/python
importiere RPi.GPIO als GPIO
Importzeit
importiere Adafruit_DHT
von RPLCD importiere CharLCD
# Wir nennen ein RPi.GPIO Built -in-Funktion GPIO.cleanup() zum Bereinigen aller von uns verwendeten Ports
GPIO.cleanup()
# Richten Sie jetzt die LCD-Display-Pins (8-Bit-Modus) ein
lcd =CharLCD (numbering_mode=GPIO.BOARD, cols=16, rows=2, pin_rs=37, pin_e=35, pins_data=[40, 38, 36, 32, 33, 31, 29, 23])
# Get senosr Messwerte und rendern Sie sie in einer Schleife
während True:
# Sensormesswerte abrufen
# WICHTIG:11 ist der Sensortyp (DHT11) und 18 ist die GPIO-Nummer (oder physischer Pin 12)
Luftfeuchtigkeit, Temperatur =Adafruit_DHT.read_retry(11, 18)
print('Temp:{0:0.1f} C Feuchtigkeit:{1:0.1f} %'.format(Temperatur, Feuchtigkeit))
# Cursorposition für LCD-Anzeige löschen und setzen
lcd.clear()
lcd.cursor_pos =(0, 0)
# Temperaturmesswerte rendern
lcd.write_string(“ Temp:%d C” % Temperatur)
# Cursor in die zweite Zeile bewegen
lcd.cursor_pos =(1, 0)
# Luftfeuchtigkeitsmesswerte rendern
lcd.write_string(“Feuchtigkeit:%d %%” % Luftfeuchtigkeit)
# Ausführung für 5 Sekunden anhalten
time.sleep(5)

Das obige Beispiel verwendet eine 8-Bit-Verbindungsoption mit den physischen Pin-Nummern des Raspberry Pi für das LCD-Display, nicht den BCM- oder GPIO-Nummern. Ich gehe davon aus, dass Sie Ihr LCD so angeschlossen haben, wie es in den obigen Diagrammen dargestellt ist, aber Sie können die Pins bei Bedarf jederzeit ändern. Ein einfacher 4-Bit-Verbindungscode ist im Abschnitt Code angehängt.

Lesen Sie mehr Details :Ausstellung:The Primal Display


Herstellungsprozess

  1. Nudelholz
  2. Bowling-Pin
  3. Liquid Crystal Display (LCD)
  4. Linux-Gerätetreiberentwicklung:Das Subsystem zur Pinsteuerung
  5. Der Drohnen-Pi
  6. Weiche den Defs aus!
  7. 5 Ws der tragbaren Braillezeile
  8. 74LS74:Eine allumfassende Anleitung zum Dual Flip-Flop
  9. Atlas Copco wird auf der WIN Expo 2017 ausstellen
  10. Atlas Copco stellt auf der NPE2018:The Plastics Show