Bonjour à tous, j’utilise une Raspberry Pi 5 dans le cadre d’un projet d’école afin de faire un robot. L’une des parties du projet consiste à faire tourner le robot sur lui même pendant quelques secondes de façon aléatoire. Pour cela j’ai 2 petits moteurs 6V, une batterie 6V, un pont en H L298n ainsi que d’une Rasberry Pi 5. Les 2 moteurs sont respectivement reliés au pont en H à OUTPUT 1 et 2 et OUTPUT 3 et 4. La batterie est relié à 12V pour le plus et GND pour le moins. Pour les autres broches, EVA et EVB sont reliés au PIN 2 et 4 de la carte (5V pas de PWM), IN1 avec GPIO26, IN2 avec GPIO27, IN3 avec GPIO6 et IN4 avec GPIO7.
Voici le code utilisé afin de tester les moteurs :
from gpiozero import Motor
from time import sleep
import random
Configuration des moteurs
motor_left = Motor(forward=26, backward=27)
motor_right = Motor(forward=5, backward=7)
try:
while True:
# Durée aléatoire entre 5 et 15 secondes
spin_time = random.uniform(5, 15)
print(f"Le robot tourne sur lui-même pendant {spin_time:.2f} secondes")
# Faire tourner le robot sur lui-même
motor_left.forward()
motor_right.backward()
# Attendre pendant la durée aléatoire
sleep(spin_time)
# Arrêter le robot
motor_left.stop()
motor_right.stop()
# Attendre une durée aléatoire entre les rotations (facultatif)
rest_time = random.uniform(1, 5)
print(f"Pause de {rest_time:.2f} secondes")
sleep(rest_time)
except KeyboardInterrupt:
print(« Interruption par l’utilisateur »)
Lorsque ce code est exécuté, il affiche bien les prints mais les moteurs ne tournent pas et je n’arrive pas à comprendre d’où vient le problème. Si vous avez des idées afin de corriger le problème, je suis preneur ! Merci d’avance !