Bonjour à tous
Je suis en train de fabriquer une sorte d’interface entre une souris et une radiocommande pour contrôler une voiture radiocommandée. L’idée est de passer par un raspberry pi pour commander 2 relais qui seront relier aux broches du potentiomètre de direction de la radiocommande.
Je précise que j’ai un handicap qui limite beaucoup mes mouvements. J’ai une souris adaptée (comme un joystick) pour l’ordinateur et le téléphone.
J’ai utilisé pygame pour faire un script pour pouvoir récupérer la position relative de la souris et interagir avec les relais via les gpio.
Le script fonctionne correctement mais pas complètement comme je souhaite.
Lorsque je vais à gauche avec la souris le relais de gauche s’allume et le relais de droite s’éteint. Lorsque je vais à droite le relais de droite s’allume et le relais de gauche s’éteint.
Par contre lorsque je lâche la souris les relais restent dans la dernière position connue. Je souhaiterais que ça réagisse comme un joystick.
J’espère que je n’ai rien oublié et l’un d’entre vous pourra m’aider dans mon projet.
Merci d’avance.
Franju
import pygame
import RPi.GPIO as GPIO
pygame.init()
ecran = pygame.display.set_mode((300, 300))
GPIO.setmode(GPIO.BCM)
LEFT = 21
GPIO.setup(LEFT,GPIO.OUT)
GPIO.output(LEFT, GPIO.HIGH)
RIGHT = 20
GPIO.setup(RIGHT,GPIO.OUT)
GPIO.output(RIGHT, GPIO.HIGH)
continuer = True
while continuer:
for event in pygame.event.get():
if event.type == pygame.MOUSEMOTION:
if event.rel[0] < 0 :
print("to the left")
GPIO.output(LEFT,GPIO.LOW)
else:
GPIO.output(LEFT,GPIO.HIGH)
if event.rel[0] > 0 :
print("to the right")
GPIO.output(RIGHT,GPIO.LOW)
else:
GPIO.output(RIGHT,GPIO.HIGH)
if event.type == pygame.MOUSEBUTTONDOWN:
if event.button == 1:
GPIO.output(RIGHT,GPIO.HIGH)
GPIO.output(LEFT,GPIO.HIGH)
GPIO.cleanup()
continuer = False
pygame.quit()