Utiliser les entrées / sorties de la Pi Pico avec MicroPython
Configuration des broches en entrée ou en sortie avec MicroPython
Entrées / sorties et MicroPython
En MicroPython, les entrées et sorties des broches (également appelé GPIO pour General Purpose Input OutPut) peuvent être facilement gérées grâce à l’objet logiciel Pin
du module machine
.
En anglais, le terme Pin
désigne une broche.
C’est au moment de la création d’un objet logiciel Pin
que s’effectue la configuration d’une broche soit en entrée ou soit en sortie.
Pour information, le brochage de la Pi Pico est le suivant :
Beaucoup de broches et de microcontrôleurs
Il existe d'innombrable microcontrôleurs disposant chacun de beaucoup de broches d'entrée / sortie, impossible de tout retenir !
En Sciences de l'ingénieur, une documentation sur les aspects matériels sera toujours fournie dans les sujets à traiter.
Configuration en entrée
Si on veut configurer une broche en sortie, on crée un objet logiciel Pin
en précisant le numéro de la broche et son mode en sortie Pin.OUT
:
1 2 3 4 |
|
Par défaut, à la création d’un objet logiciel
, le niveau de tension en sortie est défini sur 0V.
Si on le souhaite, on peut même choisir la tension en sortie au moment de la création de l'objet logiciel représentatif de la broche dans le programme.
1 2 3 |
|
Configuration en sortie
Pour définir une broche en entrée, il suffit de modifier l'argument mode
à Pin.IN
lors de sa création.
1 2 3 |
|
Utilisation de la résistance "de tirage"
Il est possible de spécifier le type d’entrée souhaitée.
On peut choisir entre une entrée avec une résistance de pull-up, une résistance de pull-down ou sans résistance de tirage.
Si ces termes ne sont pas familiers, je vous invite à consulter le fonctionnement et l’utilité des résistances de tirage (pullup, pulldown).
On utilise l’argument optionnel pull
qui permet de choisir le type de résistance de tirage.
1 2 3 4 5 |
|
Lire ou imposer une tension en MicroPython
Imposer un niveau sur une sortie logique
MicroPython offre plusieurs fonctions pour contrôler la tension en sortie d'une broche :
.on()
et.off()
.high()
et.low()
.value(valeur)
Dans le cas de la fonction .value(valeur)
valeur est un argument qui vaut 0
ou 1
Les noms de fonctions sont explicites :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
|
Remarque
La fonction Pin.value()
peut être utile si vous stockez la valeur dans une variable :
1 2 3 4 5 |
|
Lecture d'une entrée logique
Pour déterminer l’état logique d’une broche d'entrée, c’est-à-dire s’il est haut (3.3V) ou bas (0V), on peut utiliser la fonction .value()
sans préciser d'argument.
1 2 3 4 5 6 |
|
La variable etat
est associée à 0 ou 1.
En effet, la fonction .value()
renvoie 0 ou 1 selon la valeur de la tension (0V ou 3.3V) présente en entrée de la broche 15.
La fonction print()
permet ici d'afficher la valeur de l'objet etat
dans le terminal de Thonny IDE.
Notion de variable et d'affectation
Une variable correspond à l'association entre un nom et un objet logiciel.
Cette association est réalisée à l'aide de l'opérateur d'affectation =
.
Exemples n°1 :
etat = pin_15.value()
La variable état
est associée à l'objet logiciel renvoyé par la fonction .value()
(entier de valeur 0
ou 1
)
Exemples n°2 :
nombre = 87
La variable nombre
est associée à l'objet logiciel : entier de valeur 87
.
Application : Allumer la LED lorsqu’un bouton-poussoir est pressé
Objectif
On se propose ici d'allumer la LED lorsqu’un bouton-poussoir est pressé.
Pour cela on va utiliser une entrée logique avec une résistance pullup.
Voici le circuit électrique à connecter à la Pi Pico afin de faire fonctionner le programme MicroPython fourni ci-dessous.
1 2 3 4 5 6 7 8 9 10 11 |
|
Exercice 3.1
Réaliser le cablage.
Dessiner le schéma électrique associé.
Exécuter le programme.