Carte d'extension tgpio 40 p, Compatible avec Pi B +, accessoires spéciaux
Pi B + accessoires spéciaux T GPIO carte d'extension carte de développement
Peut utiliser le code suivant pour importer le RPi. GPIO module.
ImportRPi. GPIOasGPIO
Après introduction, vous pouvez utiliser la fonction de module GPIO. Si vous voulez vérifier si le module est réussi, vous pouvez également écrire comme ceci:
Essayez:
ImportRPi. GPIOasGPIO
ExceptRuntimeError:
Impression ("mauvais")
Les quilles numérotées
Le GPIO en RPi., supporte en même temps les raspberry sur deux numéros de broche GPIO. Le premier numéro est le numéro de la carte, et ce numéro de broche physique correspondant à la carte de circuit imprimé. Les avantages d'utiliser ce numéro sont que votre matériel pourra être utilisé tout le temps, Ne vous inquiétez pas si raspberry envoie la version du problème. Par conséquent, dans le circuit imprimé après la mise à niveau, vous n'avez pas besoin de réécrire le connecteur ou le code.
Le deuxième numéro est la règle BCM, c'est beaucoup plus au bas du travail, il et Broadcom sur le numéro de canal correspondant dans le système. En utilisant un Pin, vous devez trouver le numéro de canal et les règles correspondantes entre le numéro de broche physique. Pour différentes éditions de raspberry pie, les fichiers de script écrits peuvent également ne pas pouvoir Gm.
Vous pouvez utiliser le code suivant (obligatoire) pour spécifier un certain nombre de règles:
GPIO. Setmode (GPIO. CONSEIL)
# Le ou
GPIO. Setmode (GPIO. BCM)
Le code suivant sera retourné est défini le nombre de règles
Mode = GPIO. Getmode ()
Avertissement
Si le RPi GRIO détecte qu'une broche a été réglée sur les valeurs par défaut, vous verrez un message d'avertissement. Vous pouvez utiliser le code suivant pour désactiver l'avertissement:
GPIO. Setwarnings (Faux)
Jeu de goupilles
Avant d'utiliser une broche, vous devez définir la broche comme entrée ou sortie. Pour configurer un code pin est comme suit:
# Régler les broches en mode d'entrée
GPIO. Configuration (canal, GPIO. DANS)
# Réglez la broche en mode sortie
GPIO. Configuration (canal, GPIO. )
# Définir les valeurs par défaut pour la broche de sortie
GPIO. Configuration (canal, GPIO. Sortie, initiale = GPIO. HAUTE)
La libération de
D'une manière générale, le programme pour atteindre la nécessité finale de libérer des ressources, cette bonne habitude peut éviter les dommages accidentels à la tarte aux raspberry. Relâchez le script de l'utilisation de pin:
GPIO. Le nettoyage ()
Notez que GPIO. Le nettoyage () sera uniquement publié dans le script en utilisant la broche GPIO, et supprimera les règles de code pin définies.
Réglez le port sur la sortie d'état:
Vous voulez allumer une lampe LED, ou conduire un certain équipement, tout a besoin de courant et de tension, cette étape est également très simple, l'état de sortie de broche réglé est ok, le code est le suivant:
GPIO. La sortie (canal, état)
L'état peut être réglé sur 0 / GPIO. Bas/faux/1 / GPIO. Haut/vrai. Si les règles de codage pour la carte GPIO, alors le canal correspond au nombre de broches.
Si vous voulez avoir une configuration unique de plusieurs broches, vous pouvez utiliser le code suivant:
Chan_list = [11, 12]
GPIO. La sortie (chan_list, GPIO. FAIBLE)
GPIO. La sortie (chan_list, (GPIO. HAUTE, GPIO. BAS))
Vous pouvez également utiliser la fonction d'entrée () pour lire l'état d'une broche de sortie comme valeurs de sortie, telles que:
GPIO. La sortie (12, notGPIO. Entrée (12))
Lire
Nous avons souvent besoin de lire l'état de la broche d'entrée, l'état de l'entrée de la broche, le code suivant:
GPIO. Entrée (canal)
Le niveau bas renvoie 0 / GPIO. Bas/faux, haut niveau renvoie 1 / GPIO. HAUTE/Vrai.
Dans un état suspendu, si la valeur de broche d'entrée va dériver. En d'autres termes, lire la valeur n'est pas connue, car elle n'est connectée à aucun signal, tant qu'on n'appuie pas sur un bouton ou un interrupteur. En raison de l'influence de l'interférence, Le changement des valeurs d'entrée peut être répété. Le problème peut être résolu en utilisant le code suivant:
GPIO. Configuration (canal, GPIO. En pull_up_down = GPIO. PUD_UP)
# Le ou
GPIO. Configuration (canal, GPIO. En pull_up_down = GPIO. PUD_DOWN)
Il est important de noter que ce qui précède lit le code pour le courant seulement un moment de signal d'entrée de broche.
Si vous avez besoin de surveiller l'état de la broche en temps réel. Il peut y avoir deux façons. Le moyen le plus simple et le plus primitaire est de vérifier de temps en temps la valeur du signal d'entrée, cette méthode est connue sous le nom de sondage. Si votre application lit l'erreur de synchronisation, il est susceptible de perdre le signal d'entrée. Le sondage est en boucle, De cette façon, il faut occuper les ressources du processeur. Une autre façon est d'utiliser l'entrée GPIO de réponse d'interruption (détection de bord), ici fait référence au bord du signal de transformation haute à basse (front descendant) ou de transformation faible à élevée (montée).
Mode d'interrogation
WhileGPIO. Entrée (canal) = = GPIO. BAS:
# Wait10mstogiveCPUchancetodootherthings. Sommeil (0.01)
Détection de bord
Le bord fait référence aux changements d'état du signal, de bas en haut (montant) ou de haut en bas (bord descendant). Normalement, nous nous soucions plus d'un état d'entrée latéral que de la valeur du signal d'entrée. Cet état de bord est appelé événements. Introduisez d'abord deux fonctions:
Fonction Wait_for_edge (). Wait_for_edge () est utilisé pour arrêter le programme pour continuer, jusqu'à ce qu'un bord soit détecté. C'est-à-dire que sur le bouton d'attente, une instance peut être réécrite comme: canal = GPIO. Wait_for_edge (canal, gpio_croissant, délai d'attente = 5000).
IfchannelisNone:
Imprimé (')
Le reste:
Imprimer (', canal)
La fonction Add_event_detect () est la fonction de surveiller une broche, si l'état d'entrée de la broche a changé, la fonction call event_detection () revient vraie, le code suivant: GPIO. Add_event_detect # addrisingedgedetectiononachannel (canal, GPIO. En HAUSSE)
Do_something ()
//Le code suivant dans les cycles d'exécution d'un fil.
IfGPIO. Event_détecté (canal):
Imprimé ('boutonné)
Le code au-dessus de la nécessité de créer un nouveau fil pour boucler la valeur de test event_detection (), est plus gênant.
Mais peut utiliser une autre façon de détecter facilement l'état, cette approche est directement introduit dans une fonction de rappel:
Defmy_callback (canal):
Imprimé ('thisisaedgeeventcallbackfunction! ')
Imprimer («% s % channel)
Imprimé (')
GPIO. Add_event_detect (canal, GPIO. Montant, le rappel = my_callback)
Si vous souhaitez configurer plusieurs fonctions de rappel, cela peut être:
Defmy_callback_one (canal):
Imprimé ('callbackone)
Defmy_callback_two (canal):
Imprimé ('callbacktwo)
GPIO. Add_event_detect (canal, GPIO. En HAUSSE)
GPIO. (Canal,)
GPIO. (Canal,)
Remarque: le rappel se déclenche, ne met pas en œuvre la fonction de rappel en même temps, mais selon l'ordre fixé.
Exemple complet: lumières LED allumées
Ce qui précède montre beaucoup d'utilisation de la bibliothèque, donc vous devriez maintenant avoir une expérience simple. Cette expérience est très simple, allumez une lampe LED.
Avant d'écrire du code, la première chose que vous devez connecter aux broches de lampe led par lignes dupont pour les connecter aux broches sur tarte à la framboise, par exemple vous pouvez vous connecter aux 11 broches.
Pour créer un nouveau principal. Les fichiers Py, écrivent le code suivant:
ImportRPi. GPIOasGPIO / /présenter la bibliothèque de fonctions
Importtime
RPi. GPIO. Setmode (GPIO. Carte) / /définir les règles du code pin
RPi. GPIO. Configuration (11, RPi. GPIO. OUT) / /régler la broche 11 en mode sortie
WhileTrue
GPIO. La sortie (canal 1) / /régler l'état de la broche à haut niveau, la lumière LED à ce moment
Temps. Sommeil (1) / /procédures dormance 1 seconde, allumer la LED 1 seconde
GPIO. La sortie (canal, 0) / /l'état de broche est réglé au niveau bas, la LED est sortie
Temps. Sommeil (1) / /procédures dormance 1 seconde, faire sortir la LED 1 seconde
GPIO. Le nettoyage () / /programme, n'oubliez pas de supprimer toutes les ressources
Enregistrez et quittez le fichier. Exécutez python3main. Py, peut voir l'effet. Ctrl + C pour fermer le programme.
De plus, vous pouvez aussi essayer les autres fonctions, renforcer l'impression.
L'utilisation de PWM
Cette bibliothèque python prend également en charge la sortie du mode PWM, nous pouvons utiliser PWM pour créer un effet de lumière respiratoire. Voir le code:
Importtime
Imtrpi GPIOasGPIO / /bibliothèque d'importation
GPIO. Setmode (GPIO. Planche) / /régler la numérotation
GPIO. Configuration (12, GPIO. OUT) / /régler le numéro de broche 12 en mode de sortie
P = GPIO. PWM (12, 50) / /initialisera le numéro de broche 12 PWM exemple, fréquence 50 hz
P. Tarte (0) / /modulation de largeur d'impulsion, les paramètres pour: ("cc = = 100.0 0.0)
Essayez:
While1:
Fordcinrange (0101, 5) :
P.C hangeDutyCycle (dc) / /modifier les paramètres de rapport de service pour: ("dc = = 100.0 0.0)
Temps. Sommeil (0.1)
Fordcinrange (100, - 1-5) :
P.C hangeDutyCycle (dc)
Temps. Sommeil (0.1)
ExceptKeyboardInterrupt:
Passer
P. Haut () / /arrêt de l'onde PWM de sortie
GPIO. Le nettoyage () / /clair
ConclusionDans ce document, expliquez principalement le concept de GPIO, et comment utiliser l'opération python GPIO. Mais pour comprendre pleinement la programmation de raspberry pie gpio, il faut aussi leur fonctionnement pratique ainsi que le résumé de l'analyse.
Les procédures de test sont les suivantes
# - *-Codage: utf-8 - * - # peut à travers la déclaration dans le programme pour écrire en chinoisL'importation RPi. GPIO as GPIO # introduction de RPi. Fonction de bibliothèque GPIO appelée GPIOLe temps d'importation # introduction fonction de temps de synchronisation# Carte, numérotation, basée sur le numéro de broche de la priseGPIO. Setmode (GPIO. BOARD) # réglez la méthode de programmation GPIO sur le modèle BOARD# Mode de sortieGPIO. Configuration (11, GPIO. OUT) # réglez la broche GPIO 11 pour la broche de sortie
Bien que vrai: # la condition est vraie, effectuer les procédures suivantes ont été cycleGPIO. La sortie (11, GPIO. Haut) #11 broches haute tension, lumières LED alluméesTemps. Sommeil (#1) délai de 1 secondeGPIO. La sortie (11, GPIO. Faible) #11 broches basse tension, lumières LED éteintesTemps. Sommeil (1)
Puissance de dissipation : dsffdsgdf
Numéro de Modèle : hnhngh
Application : PCB BOARD
Condition : Nouveau
Tension d'alimentation : sdfgsd
Nom de marque : FENGZHOUYONGHENG
Origine : CN (Origine)
Type : electronics
Température de fonctionnement : xczxvxc
Personnalisé : Oui
Paquet : ffffd