[PYTHON] Fügen Sie Ihrem Computer eine GPIO-Karte hinzu. (1)

Einführung

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.

Einführung der GPIO-Karte

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 Adafruit.jpg

Spezifikation

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. FT232H_pinout.png

Verbindung mit einem PC

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.

Configure.png

Treiber- und Bibliotheksinstallation

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.

Adafruit GPIO Board Setup

  1. Bestätigen Sie die Installation von Python 3 auf dem PC: Python 2.7 wird nicht unterstützt
  2. FT232H Treiber Update
  3. Installation von pyftdi und pyusb (modifizierte Version)
  4. Testen von Pyusb und Pyftdi
  5. Installation von Adafruit Blinka
  6. Umgebungsvariablen setzen (BLINKA_FT232H = 1 setzen)
  7. Bestätigung der GPIO-Board-Erkennung auf Python

GPIO-Kartenausgangstest

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 **

20200309_152011.jpg

Programmcode

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. ezgif.com-video-to-gif.gif

Zusammenfassung

Ich stellte vor, wie man eine GPIO-Karte zu einem PC hinzufügt, und bestätigte deren Funktion.

Zukunftspläne

Das nächste Mal werde ich Ihnen zeigen, wie Sie das INPUT-Signal von der GPIO-Karte erhalten und das Ergebnis auf Python anzeigen.

Referenzmaterial

  1. Adafruit Circuit Python Libraries with FT232H
  2. Adafruit GPIO Board Setup
  3. Wenn Ihr Laptop über eine GPIO-Schnittstelle verfügt ...

Recommended Posts

Fügen Sie Ihrem Computer eine GPIO-Karte hinzu. (1)
Fügen Sie MeCab ein Wörterbuch hinzu
So fügen Sie MicroPython ein C-Modul hinzu ...
Fügen Sie mitmproxy Ihre eigene Inhaltsansicht hinzu
So fügen Sie ein Paket mit PyCharm hinzu
Fügen Sie VSCode eine virtuelle Python-Umgebung hinzu
Möchten Sie Python-Dekoratoren Typhinweise hinzufügen?
Fügen Sie der Pip-Suche Ihre bevorzugte Anzeigefunktion hinzu
Fügen Sie einen Befehl hinzu, um ähnliche Dateien zusammen zu markieren
So fügen Sie einen Suchpfad für Python-Module hinzu
So fügen Sie Python ein Modul hinzu, das Sie in Julialang eingefügt haben
[Bachstelze] Fügen Sie dem Bachstelzenprojekt eine Anmeldeseite hinzu
Verschrotten Sie Ihren Qiita-Artikel, um eine Wortwolke zu erstellen
Vom Kauf eines Computers bis zur Ausführung eines Programms auf Python
[Morphologische Analyse] So fügen Sie Mecab ein neues Wörterbuch hinzu
Generieren Sie ein Bash-Skript, um die Einstellungen des Datadog-Monitors hinzuzufügen
Ich möchte einen Quantencomputer mit Python betreiben
[Linux] Wie Sie Ihre IP in eine Variable einfügen
Faltung zu MNIST hinzufügen
[Django] Muster zum Hinzufügen verwandter Datensätze nach dem Erstellen eines Datensatzes
Fügen Sie eine Erweiterung hinzu, um eine komfortablere Jupyter-Umgebung zu erstellen
Fügen Sie Heatrapy eine Funktion hinzu, die Wärme + Wärme bei Temperatur übertragen kann
Praktische Funktion zum Hinzufügen von Spalten an einer beliebigen Stelle in Pandas DataFrame
Die übliche Art, einen Kernel mit Jupyter Notebook hinzuzufügen