import Jetson.GPIO as GPIO import time # Definition des pins M1_En = 33 M1_In1 = 35 M1_In2 = 36 M2_En = 32 M2_In1 = 38 M2_In2 = 37 # Creation d'une liste des pins pour chaque moteur pour compacter la suite du code Pins = [[M1_En, M1_In1, M1_In2], [M2_En, M2_In1, M2_In2]] # Setup GPIO.setmode(GPIO.BOARD) GPIO.setwarnings(False) GPIO.setup(M1_En, GPIO.OUT, initial=GPIO.LOW) GPIO.setup(M1_In1, GPIO.OUT, initial=GPIO.LOW) GPIO.setup(M1_In2, GPIO.OUT, initial=GPIO.LOW) GPIO.setup(M2_En, GPIO.OUT, initial=GPIO.LOW) GPIO.setup(M2_In1, GPIO.OUT, initial=GPIO.LOW) GPIO.setup(M2_In2, GPIO.OUT, initial=GPIO.LOW) # paramétrage du PWM sur 1 pin avec la frequence en Hz. M1_Vitesse = GPIO.PWM(M1_En, 60) M2_Vitesse = GPIO.PWM(M2_En, 60) #cycle de travail en pourcentage. M1_Vitesse.start(28) M2_Vitesse.start(30) def sens1(moteurNum) : GPIO.output(Pins[moteurNum - 1][1], GPIO.HIGH) GPIO.output(Pins[moteurNum - 1][2], GPIO.LOW) print("Moteur", moteurNum, "tourne dans le sens 1.") def sens2(moteurNum) : GPIO.output(Pins[moteurNum - 1][1], GPIO.LOW) GPIO.output(Pins[moteurNum - 1][2], GPIO.HIGH) print("Moteur", moteurNum, "tourne dans le sens 2.") def arret(moteurNum) : GPIO.output(Pins[moteurNum - 1][1], GPIO.LOW) GPIO.output(Pins[moteurNum - 1][2], GPIO.LOW) print("Moteur", moteurNum, "arret.") def avance() : sens2(2) sens2(1) def recule() : sens1(2) sens1(1) def quart_de_tour_gauche() : #def moteur sens1(1) sens2(2) def courbe_gauche(): M1_Vitesse.start(28) M2_Vitesse.start(10) avance() time.sleep(0.5) def quart_de_tour_droit() : sens1(2) sens2(1) def courbe_droite(): M1_Vitesse.start(10) M2_Vitesse.start(30) avance() time.sleep(0.5) def arretComplet() : GPIO.output(Pins[0][1], GPIO.LOW) GPIO.output(Pins[0][2], GPIO.LOW) GPIO.output(Pins[1][1], GPIO.LOW) GPIO.output(Pins[1][2], GPIO.LOW) print("Moteurs arretes.") # Exemple de motif de boucle avance() print("j avance") time.sleep(4) arretComplet() print("je m arrete") time.sleep(2) courbe_gauche() print("je tourne a gauche") GPIO.cleanup()