Es gibt Zeiten, in denen Sie ein Programm in Python erstellen und das externe H / W mit diesem Programm steuern möchten. Zum Beispiel, wenn Sie einen Laptop an die 24-V-Leitung der SPS anschließen und Signale direkt übertragen. Um diese Kommunikation zu erreichen, ist ein E / A-Port erforderlich, der von einem Personal Computer gesteuert werden kann.
In Verbindung stehender Artikel: Wenn Ihr Laptop eine GPIO-Schnittstelle hat ...
Kleine Einplatinencomputer wie der Rasbeprry PI und der NVIDIA Jetson nano verfügen über einen eigenen integrierten GPIO-Anschluss für eine einfache Konfiguration. Bei einem Personal Computer gibt es jedoch keinen anderen E / A-Anschluss als USB. Daher muss eine separate GPIO-Karte vorbereitet, der Treiber installiert und die Bibliothek eingerichtet werden.
In diesem Artikel werde ich Ihnen zeigen, wie Sie eine 12-Port-GPIO-Karte auf einem Windows-PC installieren.
Verwenden Sie das FT232H Breakout Board von Adafruit als GPIO-Board. In Japan kann es auf der Website von Switch Science und Akizuki Denshi erworben werden.
Produkteinführungsseite für Adafruit GPIO-Boards
In der folgenden Tabelle sind die Spezifikationen der GPIO-Karte aufgeführt. Verwenden Sie USB_5V auf der PC-Seite als Stromquelle. Der digitale Ausgangspegel der GPIO-Karte beträgt 3,3 V. Wir bieten 12 digitale E / A-Ports.
Für die direkte Kommunikation mit digitalen Sensoren und Aktoren stehen auch I2C- und SPI-Standardschnittstellen zur Verfügung.
Parameter | Einzelheiten | Inhalt |
---|---|---|
Power Pins | 5V | this is the 5V power from the USB input. |
GND | this is the common ground for all power and logic. | |
GPIO Pins | D4 to D7 | can be used as either digital inputs and outputs. |
C0 to C7 | can be used as either digital inputs or outputs. | |
Others | I2C Pins | SCL, SDA |
SPI Pins | SCLK, MOSI, MISO, CS0 |
Die folgende Abbildung zeigt die Pinbelegung dieser Karte.
Dieses Mal werden wir die GPIO-Karte mit Python steuern. Verwenden Sie Circuit Python-Bibliotheken.
Für Python ist es jedoch schwierig, direkt auf Circuit Python-Bibliotheken zuzugreifen, daher ist BLINKA erforderlich. (Erklärung von Adafruit) BLINKA ist die dedizierte Bibliothek von Adafruit, mit der Python auf die CircuitPython-Bibliotheken zugreifen kann.
Die Verbindung zwischen dem Personal Computer und der GPIO-Karte wird über den USB-Anschluss hergestellt. Der FT232H-Chip wandelt das Signal vom Personal Computer in den GPIO-Port um.
Es gibt mehrere Teile, und das Minimum sieht etwas kompliziert aus. Sobald die Installation abgeschlossen ist, können Sie es verwenden, ohne sich Gedanken über die Existenz dieser Teile machen zu müssen.
Als nächstes folgt der Installationsprozess. Dies ist der wichtigste Teil.
Weitere Informationen finden Sie unter dem folgenden Link und fahren Sie mit der Installation fort. Die Reihenfolge ist sehr wichtig.
Geben Sie in diesem Beitrag nur die Elemente ein, die Sie ausführen möchten. Die gesamte Installation dauert etwa 10 bis 15 Minuten.
Versuchen Sie, die LED über den C0-Anschluss auf der GPIO-Karte zu blinken. Stellen Sie den C0-Port auf den OUTPUT-Port und wiederholen Sie ON für 0,5 Sekunden und OFF für 0,5 Sekunden. Sie können den Ausgangsstatus überprüfen, indem Sie die LED blinken lassen.
Im Folgenden wird die Verkabelung beschrieben. Verbinden Sie jedes Element in Reihe.
** C0-Anschluss --LED - 1 kOhm Widerstand --GND **
Der Teil, der die Umgebungsvariable BLINKA_FT232H auf 1 setzt, muss vor der Importkarte platziert werden.
import os
os.environ['BLINKA_FT232H'] = '1' #Setting Environmental Variable
import board
import time
import digitalio
#GPIO Setting : C0 will be output port.
led = digitalio.DigitalInOut(board.C0)
led.direction = digitalio.Direction.OUTPUT
while True:
led.value = True
time.sleep(0.5)
led.value = False
time.sleep(0.5)
Es ist ein Betriebszustand. Es wurde bestätigt, dass es wie programmiert vom OUTPUT-Port ausgegeben wurde.
Ich stellte vor, wie man eine GPIO-Karte zu einem PC hinzufügt, und bestätigte deren Funktion.
Das nächste Mal werde ich Ihnen zeigen, wie Sie das INPUT-Signal von der GPIO-Karte erhalten und das Ergebnis auf Python anzeigen.
Recommended Posts