Hack-micropython-Robot2Wheel-HC-SR04-Code

De MCHobby - Wiki
Sauter à la navigation Sauter à la recherche


MCHobby investit du temps et de l'argent dans la réalisation de traduction et/ou documentation. C'est un travail long et fastidieux réalisé dans l'esprit Open-Source... donc gratuit et librement accessible.
SI vous aimez nos traductions et documentations ALORS aidez nous à en produire plus en achetant vos produits chez MCHobby.

Eviter les obstacles

Voila, maintenant que nous disposons d'un senseur HC-SR04 sur notre PyBoard-a-Roulette, nous allons pouvoir le faire balader avec un programme relativement simple.

Le programme:

  1. Fait avancer le robot
  2. Détecte les obstacle présent devant le senseur HC-SR04
  3. Si un obstacle est détecté à moins de 20cm:
    1. Arrêter la plateforme
    2. Faire tourner la plateforme

Le code

Voici un extrait du code que nous avons testé en REPL.

Vous pouvez le télécharger ici:

Download-icon.pngr2-uson.py
from pyb import delay
from r2wheel import Robot2Wheel                                             
from ultrasonic import Ultrasonic

# Broche pour déclencher le senseur
TRIGGER_PIN = pyb.Pin.board.Y5 
# Broche pour attendre le retour d'echo
ECHO_PIN = pyb.Pin.board.Y6

r2 = Robot2Wheel( reverse_mot2 = True ) 
u = Ultrasonic( TRIGGER_PIN, ECHO_PIN )

MIN_DISTANCE = 20 # Minimum distance 

r2.forward()
while True:
    if u.distance_in_cm() < MIN_DISTANCE:
        r2.halt()
        delay(100)
        r2.right()
        delay( 2500 )
        r2.halt()
        delay(100)
    # If nothing in front then move
    if (r2.state == Robot2Wheel.HALTED) and (u.distance_in_cm() > MIN_DISTANCE): 
        r2.forward()

Il suffit de placer la main devant le senseur pour que le mobile entame une rotation.


Projet original réalisé par Meurisse D. pour MC Hobby SPRL

Toute référence, mention ou extrait de cette traduction doit être explicitement accompagné du texte suivant : «  Traduction par MCHobby (www.MCHobby.be) - Vente de kit et composants » avec un lien vers la source (donc cette page) et ce quelque soit le média utilisé.

L'utilisation commercial de la traduction (texte) et/ou réalisation, même partielle, pourrait être soumis à redevance. Dans tous les cas de figures, vous devez également obtenir l'accord du(des) détenteur initial des droits. Celui de MC Hobby s'arrêtant au travail de traduction proprement dit.