[PYTHON] Ajoutez une carte GPIO à votre ordinateur. (1)

introduction

Il y a des moments où vous voulez créer un programme en Python et contrôler le H / W externe avec ce programme. Par exemple, lors de la connexion d'un ordinateur portable à la ligne 24V de l'automate et de la communication directe des signaux. Pour réaliser cette communication, un port d'E / S qui peut être contrôlé par un ordinateur personnel est nécessaire.

Article connexe: Si votre ordinateur portable dispose d'une interface GPIO ...

Les petits ordinateurs monocarte comme le Rasbeprry PI et NVIDIA Jetson nano ont leur propre port GPIO intégré pour une configuration facile. Cependant, dans le cas d'un ordinateur personnel, il n'y a pas de port d'E / S autre que USB, il est donc nécessaire de préparer une carte GPIO séparée, d'installer le pilote et de définir la bibliothèque.

Dans cet article, je vais vous montrer comment installer une carte GPIO 12 ports sur un PC Windows.

Introduction de la carte GPIO

Utilisez la carte d'extension FT232H d'Adafruit comme carte GPIO. Au Japon, il peut être acheté sur Switch Science et sur le site Web d'Akizuki Denshi.

Page d'introduction du produit de la carte Adafruit GPIO Adafruit.jpg

spécification

Le tableau suivant répertorie les spécifications de la carte GPIO. Utilisez USB_5V côté PC comme source d'alimentation. Le niveau de sortie numérique de la carte GPIO est de 3,3 V. Nous fournissons 12 ports d'E / S numériques.

Des interfaces standard I2C et SPI sont également disponibles pour une communication directe avec des capteurs et actionneurs numériques.

Paramètres Détails Contenu
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

La figure suivante montre le brochage de cette carte. FT232H_pinout.png

Connexion avec un ordinateur personnel

Cette fois, nous contrôlerons la carte GPIO avec Python. Utilisez les bibliothèques Circuit Python.

Cependant, comme il est difficile pour Python d'accéder directement aux bibliothèques Circuit Python, BLINKA est requis. (Explication d'Adafruit) BLINKA est la bibliothèque dédiée d'Adafruit qui permet à Python d'accéder aux bibliothèques CircuitPython.

Une connexion est établie entre l'ordinateur personnel et la carte GPIO par le port USB. La puce FT232H convertit le signal de l'ordinateur personnel vers le port GPIO.

Il y a plusieurs parties, et le minimum semble un peu compliqué, mais une fois l'installation terminée, vous pouvez l'utiliser sans vous soucier de l'existence de ces pièces.

Configure.png

Installation du pilote et de la bibliothèque

Vient ensuite le processus d'installation. C'est la partie la plus importante.

Pour plus de détails, reportez-vous au lien ci-dessous et procédez à l'installation. L'ordre est très important.

Dans cet article, ne remplissez que les éléments que vous souhaitez faire. Cela prend environ 10 à 15 minutes pour toute l'installation.

Adafruit GPIO Board Setup

  1. Confirmez l'installation de Python 3 sur l'ordinateur personnel: Python 2.7 n'est pas pris en charge
  2. Mise à jour du pilote FT232H
  3. Installation de pyftdi et pyusb (version modifiée)
  4. Test de pyusb et pyftdi
  5. Installation d'Adafruit Blinka
  6. Définition des variables d'environnement (définir BLINKA_FT232H = 1)
  7. Confirmation de la reconnaissance de la carte GPIO sur python

Test de sortie de la carte GPIO

Essayez de faire clignoter le voyant à l'aide du port C0 de la carte GPIO. Réglez le port C0 sur le port OUTPUT, et répétez ON pendant 0,5 seconde et OFF pendant 0,5 seconde. Vous pouvez vérifier l'état de la sortie en faisant clignoter la LED.

Ce qui suit décrit le câblage. Connectez chaque élément en série.

** Port C0 --LED - Résistance 1 kOhm --GND **

20200309_152011.jpg

Code programme

La partie qui définit la variable d'environnement BLINKA_FT232H sur 1 doit être placée avant la carte d'importation.

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)

C'est un état de fonctionnement. Il a été confirmé qu'il était sorti du port OUTPUT comme programmé. ezgif.com-video-to-gif.gif

Résumé

J'ai présenté comment ajouter une carte GPIO à un ordinateur personnel et confirmé son fonctionnement.

Plans futurs

La prochaine fois, je vais vous montrer comment obtenir le signal INPUT de la carte GPIO et afficher le résultat sur Python.

Matériel de référence

  1. Adafruit Circuit Python Libraries with FT232H
  2. Adafruit GPIO Board Setup
  3. Si votre ordinateur portable dispose d'une interface GPIO ...

Recommended Posts

Ajoutez une carte GPIO à votre ordinateur. (1)
Ajouter un dictionnaire à MeCab
Pour ajouter un module C à MicroPython ...
Ajoutez votre propre vue de contenu à mitmproxy
Comment ajouter un package avec PyCharm
Ajouter un environnement virtuel Python à VSCode
Vous voulez ajouter des indices de type aux décorateurs Python?
Ajoutez votre fonction d'affichage préférée à la recherche de pip
Ajouter une commande pour marquer ensemble des fichiers similaires
Comment ajouter un chemin de recherche de module Python
Pour ajouter un module à python que vous mettez dans Julialang
[Wagtail] Ajouter une page de connexion au projet Wagtail
Racler votre article Qiita pour créer un nuage de mots
De l'achat d'un ordinateur à l'exécution d'un programme sur python
[Analyse morphologique] Comment ajouter un nouveau dictionnaire à Mecab
Générer un script bash pour ajouter les paramètres du moniteur Datadog
Je veux faire fonctionner un ordinateur quantique avec Python
[Linux] Comment mettre votre IP dans une variable
Ajouter une convolution à MNIST
[Django] Pattern pour ajouter des enregistrements associés après avoir créé un enregistrement
Ajouter une extension pour créer un environnement Jupyter plus confortable
Ajoutez une fonction à heatrapy qui peut transférer chaleur + chaleur à température
Fonction pratique pour ajouter des colonnes n'importe où dans Pandas DataFrame
La façon habituelle d'ajouter un noyau avec Jupyter Notebook