Communiquer avec un système : entrées / sorties numériques
REMARQUE :
Il sera impossible de faire des essais vu que vous n'avez pas le matériel.
Affectation des entrées / sorties numériques :
Les broches numériques peuvent être configurés individuellement en entrée ou en sortie. Pour cela, il faut créer une variable image de la broche numérique (par exemple, maBroche) et lui spécifier le sens, entrée ou sortie :
import digitalio
maBroche = digitalio.DigitalInOut(board.DXX)
maBroche.direction = digitalio.Direction.sens
Remplacer la valeur XX par le numéro de la broche numérique utilisée.
La propriété sens est à remplacer par une des 2 valeurs :
OUTPUT : définit la broche en sortie ;
INPUT : définit la broche en entrée.
Lecture et écriture sur une entrée / sortie numérique :
Les fonctions d'entrées / sorties numériques permettent de lire l'état logique d'une entrée ou de piloter l'état logique d'une sortie.
maBroche.value = False
maBroche.value = True
Commande l'état logique de la sortie maBroche.
Rappel : False = Faux (= niveau logique 0) & True = Vrai (= niveau logique 1)
maBroche.value
Lecture de l'état logique de l'entrée maBroche et renvoie la valeur False ou True.
Exercice n°1
Lire le programme ci-dessous et répondre aux questions.
import board
import digitalio
import time
BP = digitalio.DigitalInOut(board.D2)
BP.direction = digitalio.Direction.INPUT
LED = digitalio.DigitalInOut(board.D13)
LED.direction = digitalio.Direction.OUTPUT
while True:
if BP.value :
LED.value = True
else :
LED.value = False
Remarque : la fonction import permet d'inclure les fonctions d'une librairie dans un programme. En effet, afin de ne pas ralentir l'exécution du programme, toutes les fonctions ne sont pas installés d'origine dans un programme de base.
Remarque : la ligne de code "while True"peut sembler inutile mais elle permet de bien marquer le début du programme correspondant à l'algorithme.
Les lignes de codes précédentes correspondants à des affectations et des configurations.
Question
Q1 : Préciser les caractéristiques de la variable BP (numéro de la broche et sens).
Indice
Il faut lire attentivement les 2 lignes de codes correspondants aux paramétrages de BP (dans le second bloc de code).
Solution
La variable BP est une entrée (INPUT) raccordée à la broche D2 (board.D2). Le D correspondant à digital soit numérique.
Question
Q2 : Préciser les caractéristiques de la variable LED (numéro de la broche et sens).
Indice
Il faut lire attentivement les 2 lignes de codes correspondants aux paramétrages de LED (dans le second bloc de code).
Solution
La variable LED est une sortie (OUTPUT) raccordée à la broche D13 (board.D13). Le D correspondant à digital soit numérique.
Question
Q3 : Expliquer le fonctionnement de ce programme.
Indice
Il faut juste préciser l'état de la sortie en fonction de l'état de l'entrée.
Indice
Rappel :
Entrée = INPUT => BP (Bouton Poussoir)
Sortie = OUTPUT => LED (Light Emitting Diode) (DEL en français ; Diode ElectroLuminescente)
Solution
L’exécution du programme permet d'alimenter la LED si l'utilisateur appuie sur le bouton poussoir (BP) sinon elle n'est pas alimenté (donc éteinte).
Exercice n°2
Lire le programme ci-dessous et répondre aux questions.
import board
import digitalio
import time
led = digitalio.DigitalInOut(board.D7)
led.direction = digitalio.Direction.OUTPUT
while True:
led.value = True
time.sleep(0.5)
led.value = False
time.sleep(0.5)
Question
Q4 : Préciser les caractéristiques de la variable led (numéro de la broche et sens).
Indice
Il faut lire attentivement les 2 lignes de codes correspondants aux paramétrages de led (dans le second bloc de code).
Solution
La variable led est une sortie (OUTPUT) raccordée à la broche D7 (board.D7). Le D correspondant à digital soit numérique.
Question
Q5 : Expliquer le fonctionnement de ce programme.
Indice
La fonction sleep (de la librairie time), noté time.sleep, est une temporisation (en seconde).
Solution
L’exécution du programme permet de faire clignoter la led à une fréquence de 1 Hz.
Elle est alimentée 0,5s puis éteinte 0,5s soit une période de 1s et donc une fréquence de 1Hz.