Robot Maqueen eviteur d'obstacles - Niveau débutant
Voici un premier mini projet très simple à mettre en œuvre pour commencer à s'amuser avec le robot Maqueen. Pour commencer, vous devrez avoir lu la ressource sur l'installation de la librairie maqueen et installé le fichier maqueen.py sur votre carte micro:bit.
Méthode : Principe de fonctionnement
Le principe est très simple : On avance tant que le capteur de distance ne détecte pas d'obstacles.
Si un obstacle très proche est détecté, on recule pendant 2 secondes et on tourne pendant 1 seconde
Si un obstacle est détecté à moins de 2 cm, on introduit de l'aléatoire avec trois comportements possibles : on recule et on tourne, on tourne ou on tourne sur place.
pour illustrer le fonctionnement du capteur de ligne, on émet un bip à chaque fois qu'une ligne est franchie (joint de carrelage par exemple).
Voici le programme de démonstration. Vous pouvez le modifier à loisir pour changer le comportement du robot.
from microbit import *
from maqueen import Maqueen
from random import randint
mq=Maqueen()
mq.setVitesse(50)
while True:
mq.avance()
pin12.write_digital(0) # LED rouge de devant droite
pin8.write_digital(0) # LED rouge de devant gauche
d=mq.distance()
if d<5 or d>2000: # obstacle très proche
mq.recule()
pin12.write_digital(1)
pin8.write_digital(1)
sleep(2000)
mq.moteurDroit(0)
sleep(1000)
elif d<20: # obstacle proche
mq.son_r2d2()
r=randint(1,3)
if r==1:
mq.recule()
pin12.write_digital(1)
pin8.write_digital(1)
sleep(2000)
mq.moteurGauche(0)
sleep(1000)
elif r==2:
mq.moteurDroit(50)
mq.moteurGauche(0)
sleep(1000)
elif r==3:
mq.moteurDroit(-50)
mq.moteurGauche(50)
sleep(1000)
if pin14.read_digital() == 0 and pin13.read_digital() == 0 :
# detection de franchissement de ligne
mq.son_bip()