Python, mon programme ne marche pas HELP!
uneasperge Messages postés 2 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Mon prof m'a demandé de réaliser un programme Python qui permettrait à un robot (mBot) de suivre une ligne noire. Cependant, ce programme doit être activé depuis un autre appareil. D'après Thonny, la 19ème ligne (ligne soulignée) a une erreur mais je n'arrive pas à la trouver : (
Pouvez-vous m'aider ?
Merci d'avance : )
import board
import busio
import time
import pwmio
from digitalio import DigitalInOut, Direction
octet = ""
moteur_gauche=DigitalInOut(board.D1)
moteur_gauche.direction=Direction.OUTPUT
moteur_droite=DigitalInOut(board.D2)
moteur_droite.direction=Direction.OUTPUT
capteur_gauche=DigitalInOut(board.D3)
capteur_gauche.direction=Direction.INPUT
capteur_droite=DigitalInOut(board.D4)
capteur_droite.direction=Direction.INPUT
ser=busio.UART(board TX, board RX, baudrate=9600, timeout=0.300)
def suivre_ligne():
if capteur_gauche.value == 1 and capteur_droite.value == 1:
moteur_gauche.value = 1
moteur_droite.value = 1
elif capteur_gauche.value == 1:
moteur_gauche.value = 1
moteur_droite.value = 0
elif capteur_droite.value == 1:
moteur_gauche.value = 0
moteur_droite.value = 1
while True:
octet = ser.read(32)
print("Octet = ", octet)
time.sleep(1)
if octet == b'1\r\n':
suivre_ligne()
elif octet == b'0\r\n':
moteur_gauche.value = 0
moteur_droite.value = 0
- Python, mon programme ne marche pas HELP!
- Citizen code python avis - Accueil - Outils
- Programme demarrage windows - Guide
- Cette action ne peut pas être réalisée car le fichier est ouvert dans un autre programme - Guide
- Comment fermer un programme qui ne répond pas - Guide
- Message programmé iphone - Guide
3 réponses
Bonjour,
Il semble que les modules Adafruit tels que busio nécessitent quelques instructions additionnelles pour assurer leur compatibilité avec le périphérique connecté
voir :
vérifier également si votre version de Thonny est à jour. Il vous faut au minimum python 3.6 pour fonctionner avec busio
https://forums.raspberrypi.com/viewtopic.php?t=301860
voir aussi :
https://docs.circuitpython.org/en/latest/shared-bindings/busio/index.html
Par ailleurs, de ce que je comprends de votre message, le programme est exécuté sur un ordinateur (peut-être un raspberry pi) et transmis (en wifi?) sur le mbot. Je chercherais donc à vérifier (dans un script de test) que le signal arrive bien et que leds ou servos-moteurs sont activés sur une instruction. Si je ne me trompe pas, busio communique sur un port i2c.
Ceci dit, je n'ai pas suivi le portage de python sur mbot (et je n'ai que les versions qui fonctionnaient avec scratch et arduino/mbot).
J'espère donc que ces pistes (sauf erreur de ma part sur toute la ligne) et d'autres à venir vous permettrons de trouver les corrections à appliquer.
Ces erait bien de poster ici vos avancées.
Bonjour,
ser=busio.UART(board TX, board RX, baudrate=9600, timeout=0.300)
Thonny doit signaler qu'il ne faut pas d'espace dans un nom de variable
donc essaie:
ser=busio.UART(boardTX, boardRX, baudrate=9600, timeout=0.300)
Des exemples ici:
https://www.programcreek.com/python/example/123500/busio.UART
remarque:
Pour deposer du code merci de suivre les directives suivantes ici:
https://codes-sources.commentcamarche.net/faq/11288-poster-un-extrait-de-code
Bon courage