Lire la valeur d’un capteur

Intro

Dans cette leçon tu vas apprendre à utiliser des fonctions de base de python pour récupérer la valeur d’un capteur et l’afficher dans le terminal.

Étape 1

Nous allons commencer notre code en intégrant quelques bibliothèques. Ce sont des ensembles de codes déjà écrits nous permettant de rajouter des fonctions facilement.

La première s’appelle “board” et est spécifique à CircuitPython. C’est grâce à elle que nous allons pouvoir expliquer à notre programme comment sont connectés les éléments au microcontrôleur (le cerveau de Eliobot)

Pour l’intégrer dans notre programme on utilise la ligne suivante :

import board

Cela nous permet d’appeler les entrée / sorties de la cartes en utilisant le numéro de la broche.

board.IO10

Étape 2

Pour déclarer les capteurs on va utiliser la librairie analogio et digitalio

import analogio
import digitalio

Ensuite on défini chaque capteur.

lineCmd = digitalio.DigitalInOut(board.IO33)
lineCmd.direction = digitalio.Direction.OUTPUT

lineInput = [analogio.AnalogIn(pin) for pin in
               (board.IO10, board.IO11, board.IO12, board.IO13, board.IO14)]

Les capteurs de ligne sont placer en ligne de 0 à 4, 0 étant tout à gauche et 4 tout à droite.

Pour nous faciliter la tâche on va utiliser la librairie elio.

from elio import LineSensor

Ensuite on défini le capteur de ligne.

lineSensor = LineSensor(lineInput, lineCmd, None)

On vas utiliser la fonction get_line() pour récupérer la valeur de la ligne.

lineSensor.get_line(3)

On utilise le troisième capteur car c’est celui du milieu.

Étape 3

On va récupére le programme de l’activité précédente je le met ci-dessous:

while True:
    print("Bonjour, je suis Eliobot")
    time.sleep(1)

A la place de nôtre message on va placer la fonction qui récupère la valeur du capteur de ligne.

while True:
    print(lineSensor.get_line(3))
    time.sleep(1)

Étape 4

Voici le programme final que l’on va pouvoir exécuter ▶️ :

from elio import LineSensor
import board
import time
import analogio
import digitalio

lineCmd = digitalio.DigitalInOut(board.IO33)
lineCmd.direction = digitalio.Direction.OUTPUT

lineInput = [analogio.AnalogIn(pin) for pin in
            (board.IO10, board.IO11, board.IO12, board.IO13, board.IO14)]

lineSensor = LineSensor(lineInput, lineCmd, None)

while True:
    print(lineSensor.get_line(3))
    time.sleep(1)

Il ne nous reste plus qu’a regarde dans le terminal de notre IDE.

Pour arrêter le programme tu peux utiliser le raccourci ctrl+c ou appuyer sur le bouton stop rouge en haut à gauche.

Bravo !

Et voila, ton programme est fini ! Il ne te reste plus qu’à le Téléverser pour admirer le résultat

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Retour en haut