Détecter un obstacle

Intro

Dans cette leçon, tu vas apprendre à utiliser les capteurs d’Eliobot pour détecter des obstacles.

É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.IO4

Étape 2

Pour déclarer les capteurs on va utiliser la bibliothèque « analogio »

import analogio

Ensuite on défini chaque capteur.

obstacleInput = [analogio.AnalogIn(pin) for pin in
                 (board.IO4, board.IO5, board.IO6, board.IO7)]

Pour nous faciliter la tâche on va utiliser la bibliothèque « elio ».

from elio import ObstacleSensor

Ensuite, nous définissons obstacleSensor

obstacleSensor = ObstacleSensor(obstacleInput)

Étape 3

La fonction « get_obstacle() » renvoie une information : False si aucun obstacle n’est détecté, True si un obstacle est présent. Nous pouvons donc l’utiliser dans des conditions.

if obstacleSensor.get_obstacle(1):
    # faire quelque chose
else:
    # faire quelque chose d'autre

Ici on utilise la condition if -> si et la condition else -> sinon

Si un obstacle est présent devant faire, sinon faire

if obstacleSensor.get_obstacle(1):
    print("Un obstacle est devant")
else:
    print("Aucun obstacle")

On va utiliser la fonction print() pour écrire dans le terminal si un obstacle est devant ou non.
« print() » permet d’écrire ou d’afficher la valeur d’une variable dans le terminal.

Étape 4

Pour finir, nous plaçons le code dans une boucle afin d’assurer une vérification constante de la présence d’un obstacle.

while True:
    if obstacleSensor.get_obstacle(1):
         print("Un obstacle est devant")
    else:
         print("Aucun obstacle")

On note que le code en dessous de “while True : ” est indenté (décalé vers la droite), montrant ainsi qu’il va être répété dans la boucle pareil dans le if et le else.

Étape 5

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

import board
from elio import ObstacleSensor
import analogio

obstacleInput = [analogio.AnalogIn(pin) for pin in
                 (board.IO4, board.IO5, board.IO6, board.IO7)]

obstacleSensor = ObstacleSensor(obstacleInput)

while True:
    if obstacleSensor.get_obstacle(1):
         print("Un obstacle est devant")
    else:
         print("Aucun obstacle")

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