Communiquer avec un système : entrées / sorties analogiques
REMARQUE :
Il sera impossible de faire des essais vu que vous n'avez pas le matériel.
Présentation
Les fonctions d'entrées / sorties analogiques permettent de convertir la tension analogique présente sur une entrée (de 0 à 3,3 V ou de 0 à 5 V généralement) en un nombre binaire ou de convertir un nombre binaire en une tension analogique.
import analogio
maVariable = analogio.AnalogIn(board.AXX)
La variable maVariable prend la valeur entière comprise entre 0 et 65535 (si valeur codée sur 16 bits) correspondant à la conversion analogique - numérique de la tension (comprise entre 0 et 3,3 V par exemple) appliquée sur la broche analogique XX.
import analogio
maBroche = analogio.AnalogOut(board.AXX)
maBroche.value = YY
Permet de générer une tension analogique (comprise entre 0 et 3,3 V pour notre exemple) proportionnelle à la valeur YY (comprise entre 0 et 65535, toujours pour notre exemple) appliquée sur la broche analogique XX. La variable maBroche est une variable interne correspondant à la valeur de la tension générée.
Exercice
Lire le programme ci-dessous et répondre aux questions.
Ce programme lit la tension appliquée sur l'entrée analogique et génère une rampe de tension sur la sortie analogique.
Ci-contre, l'oscillogramme du signal relevé sur la sortie analogique
import analogio
maBrocheOut = analogio.AnalogOut(board.A0)
maBrocheIn = analogio.AnalogIn(board.A1)
while True:
maValeur = maBrocheIn.value
print("Valeur analogique : " + str(maValeur))
for i in range(0, 65535, 64):
maBrocheOut.value = i
time.sleep(0.2)
Explications supplémentaires :
Le 64 dans la boucle pour (for) correspond au pas de comptage. C'est à dire que l'on compte de 0 à 65535 par pas de 64 (0, 64, 128, 192, 256, ...., 65535).
Question
Q1 : Préciser les caractéristiques de la variable maBrocheOut (numéro de la broche et type).
Indice
Il faut lire attentivement la ligne de code correspondant aux paramétrages de maBrocheOut (dans le second bloc de code).
Solution
La variable maBrocheOut est une sortie analogique (AnalogOut) raccordée à la broche A0 (board.A0). Le A correspondant à analogique.
Question
Q2 : Préciser les caractéristiques de la variable maBrocheIn (numéro de la broche et type).
Indice
Il faut lire attentivement la ligne de code correspondant aux paramétrages de maBrocheIn (dans le second bloc de code).
Solution
La variable maBrocheIn est une entrée analogique (AnalogIn) raccordée à la broche A1 (board.A1). Le A correspondant à analogique.
Question
Q3 : Sachant que la rampe correspond à un "escalier" et non une droite. Déterminer la longueur d'une "marche" (sur l'axe x, en seconde).
Indice
La réponse est directement dans le programme.
Indice
La longueur d'une "marche" correspond à la durée de la temporisation entre 2 boucles.
Solution
La longueur d'une "marche" correspond à 0,2s.
Question
Q4 : Sachant que la rampe correspond à un "escalier" et non une droite. Déterminer la hauteur d'une "marche" (sur l'axe y, en valeur numérique).
Indice
La réponse est directement dans le programme.
Indice
La hauteur d'une "marche" correspond au pas de la boucle Pour (for).
Solution
La hauteur d'une "marche" correspond à 64.
Question
Q5 : Sachant que la valeur maximale est de 1,65 V. Déterminer la hauteur d'une "marche" (sur l'axe y, en volt).
Indice
C'est un peu plus complexe. Il faut commencer par déterminer le nombre de pas (ou nombre de "marches").
Indice
Il y a 65535 / 64 = 1024 pas (ou "marches")
Solution
La hauteur d'une "marche" correspond à 1,65 / 1024 = 0,00161 V = 1,61 mV