Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Raspberry Pi Discussion :

Robot suiveur de ligne sur Python


Sujet :

Raspberry Pi

  1. #1
    Candidat au Club
    Robot suiveur de ligne sur Python
    Bonjour,
    J'ai pour projet de faire un robot suiveur de ligne sur raspberry ;
    La partie mécanique est réalisée✅
    Mais je n'arrive pas à faire la programmation sur python, lorsque le robot capte la ligne noir, par exemple sur le côté gauche, la roue gauche tour bien mais la roue droite ne cesse de tourner et je ne trouve pas le moyen d'arrêter celle ci lors d'un virage...
    Merci d'avance pour vos réponses

  2. #2
    Expert éminent sénior
    Bonjour et bienvenue,

    sans nous donner le code et sans nous indiquer le matériel que tu utilises, impossible de t'aider.
    Pour le code n'oublie pas de l'encadrer des balises [code][/code] (bouton #).

  3. #3
    Candidat au Club
    Voici mon programme :

    Code Python :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    from gpiozero import Robot, LineSensor
    from Time import sleep
     
    robot= Robot (left=(8,7), right=(10,9))
    left_sensor = LineSensor(27)
    right_sensor = LineSensor(17)
     
    def motor_speed():
           while True:
                  left_detect = int(left_sensor.value)
                  right_detect = int(right_sensor.value)
                  peint (left_detect, right_detect)
     
                  While left_detect ==0:
                          robot.left()
     
                  while right_detect ==0:
                         robot.right()
     
                  while right_detect and left_detect ==1:



    Celui ci est sur "Mu" depuis le menu raspberry
    Le problème est donc: pas d'arrêt de moteur lorsque le détecteur de suivi de ligne détecte la ligne ainsi les roue tournent à se moment, chacune dans un sens différents...

    Je ne sais pas comment peut on déplacer la discussion dans un autre endroit...

  4. #4
    Expert éminent sénior
    Ligne 14 de ton code :
    c'est en Python c'est while et non While. D'ailleurs ton interpréteur doit te le signaler.

    Ensuite, pourquoi ne pas utiliser les fonctions when_line et when_no_line si tu as un détecteur de lignes ?
    https://gpiozero.readthedocs.io/en/s...ensor-trct5000
    ou les fonctions when_dark et when_dark si tu as un LDR ?
    https://gpiozero.readthedocs.io/en/s...ightsensor-ldr

  5. #5
    Rédacteur

    Bonjour,

    Faire un robot et le programmer en Python, ce n'est sans doute pas facile du tout! Vraiment!
    Il faudrait commencer par développer une librairie et bien la tester.

    Moi-même je joue avec le Lego EV3 et il y a une librairie pour Python: https://www.ev3dev.org/
    J'ai écrit un article que je devrais retravaillé ... un jour: LEGO Mindstorms EV3: ev3dev et Python

    Bon travail!

  6. #6
    Candidat au Club
    Bonjour,
    J'ai regardé vos lien et testé avec ces informations, mais je n'y arrive toujours pas, sur les liens il n'y a qu'un seul capteur de suivi de ligne et moi j'en est deux sur mon robot...
    Merci de votre aide