Outils pour utilisateurs

Outils du site


isn:2017:projetmariokart:marcheavantarrierre

Faire avancer la voiture pendant 1s

Programme:

 import RPi.GPIO as GPIO 
 import time
 GPIO.setmode(GPIO.BCM) 
 moteur1 = {"PWM":17, "Avancer":27, "Reculer":22}
 GPIO.setup(moteur1["PWM"], GPIO.OUT)
 GPIO.setup(moteur1["Avancer"], GPIO.OUT)
 GPIO.setup(moteur1["Reculer"], GPIO.OUT)
 moteurPWM = GPIO.PWM(moteur1["PWM"], 50)
 moteurPWM.start(0)
 moteurPWM.ChangeDutyCycle(50)
 GPIO.output(moteur1["Avancer"],GPIO.HIGH)
 GPIO.output(moteur1["Reculer"],GPIO.LOW)
 time.sleep(2)
 GPIO.output(moteur1["Avancer"],GPIO.LOW)
 GPIO.output(moteur1["Reculer"],GPIO.LOW)
 moteurPWM.stop()
 GPIO.cleanup()

Ce programme fait avancer la voiture pendant 2 secondes.

Allumer les led pour indiquer notre direction

Programme:

 import RPi.GPIO as GPIO
 import time
 # Utiliser la numerotation electronique du GPIO  
 GPIO.setmode(GPIO.BCM)
 # définir les broches du GPIO a utiliser en sortie dans un tableau associatif
 fleche={"avancer":16, "reculer":19, "droite":13, "gauche":26}
 # Configurer les broches en sortie
 GPIO.setup(fleche["avancer"],GPIO.OUT)
 GPIO.setup(fleche["reculer"],GPIO.OUT)
 GPIO.setup(fleche["droite"],GPIO.OUT)
 GPIO.setup(fleche["gauche"],GPIO.OUT)
 print("Activer la flèche avancer pendant 1 seconde :")
 GPIO.output(fleche["avancer"],GPIO.HIGH)
 time.sleep(1)
 GPIO.output(fleche["avancer"],GPIO.LOW)
 time.sleep(1)
 print("Activer la flèche reculer pendant 1 seconde :")
 GPIO.output(fleche["reculer"],GPIO.HIGH)
 time.sleep(1)
 GPIO.output(fleche["reculer"],GPIO.LOW)
 time.sleep(1)
 print("Activer la flèche droite pendant 1 seconde :")
 GPIO.output(fleche["droite"],GPIO.HIGH)
 time.sleep(1)
 GPIO.output(fleche["droite"],GPIO.LOW)
 time.sleep(1)
 print("Activer la flèche gauche pendant 1 seconde :")
 GPIO.output(fleche["gauche"],GPIO.HIGH)
 time.sleep(1)
 GPIO.output(fleche["gauche"],GPIO.LOW)
 time.sleep(1)
 # libérer les ports du GPIO utilises
 GPIO.cleanup()

Ce programme fait s'allumer les 4 led à la chaîne.

Programme finale marche avant/arrière:

   import RPi.GPIO as GPIO
   import time
   import click
   GPIO.setmode(GPIO.BCM)
   GPIO.setwarnings(False)
   moteur1 = {"PWM":17, "Avancer":27, "Reculer":22}
   fleche={"avancer":16, "reculer":19, "droite":13, "gauche":26}
   GPIO.setup(moteur1["PWM"], GPIO.OUT)
   GPIO.setup(moteur1["Avancer"], GPIO.OUT)
   GPIO.setup(moteur1["Reculer"], GPIO.OUT)
   GPIO.setup(fleche["avancer"],GPIO.OUT)
   GPIO.setup(fleche["reculer"],GPIO.OUT)
   GPIO.setup(fleche["droite"],GPIO.OUT)
   GPIO.setup(fleche["gauche"],GPIO.OUT)
   moteurPWM = GPIO.PWM(moteur1["PWM"], 50)
   continuer=1
   dc=15
   moteurPWM.start(0)
   moteurPWM.ChangeDutyCycle(dc)
   while continuer :
       key = click.getchar()
       if key=='z' :
           GPIO.output(moteur1["Avancer"],GPIO.HIGH)
           GPIO.output(moteur1["Reculer"],GPIO.LOW)
           GPIO.output(fleche["avancer"],GPIO.HIGH)
           GPIO.output(fleche["reculer"],GPIO.LOW)
 
       if key=='s' :
           GPIO.output(moteur1["Avancer"],GPIO.LOW)
           GPIO.output(moteur1["Reculer"],GPIO.HIGH)
           GPIO.output(fleche["avancer"],GPIO.LOW)
           GPIO.output(fleche["reculer"],GPIO.HIGH)
       if key=='e':
           GPIO.output(moteur1["Avancer"],GPIO.LOW)
           GPIO.output(moteur1["Reculer"],GPIO.LOW)
           GPIO.output(fleche["avancer"],GPIO.LOW)
           GPIO.output(fleche["reculer"],GPIO.LOW)
       if key=='r':
           if dc<=95:
              dc=dc+5
              moteurPWM.ChangeDutyCycle(dc) 
       if key=='f':
           if dc>=30:
              dc=dc-5
              moteurPWM.ChangeDutyCycle(dc)
       if key=='a':
           continuer=0
 
   moteurPWM.stop()
   GPIO.cleanup()
isn/2017/projetmariokart/marcheavantarrierre.txt · Dernière modification: 2018/04/27 09:58 (modification externe)