diff --git a/labyrinthe/3-arduino_pyfirmata/3 - Interfacer avec Arduino par pyFirmata.odp b/labyrinthe/3-arduino_pyfirmata/3 - Interfacer avec Arduino par pyFirmata.odp index 92a95fc..8140c67 100644 Binary files a/labyrinthe/3-arduino_pyfirmata/3 - Interfacer avec Arduino par pyFirmata.odp and b/labyrinthe/3-arduino_pyfirmata/3 - Interfacer avec Arduino par pyFirmata.odp differ diff --git a/labyrinthe/3-arduino_pyfirmata/3 - Interfacer avec Arduino par pyFirmata.pdf b/labyrinthe/3-arduino_pyfirmata/3 - Interfacer avec Arduino par pyFirmata.pdf index 35b8c3a..1e0e4aa 100644 Binary files a/labyrinthe/3-arduino_pyfirmata/3 - Interfacer avec Arduino par pyFirmata.pdf and b/labyrinthe/3-arduino_pyfirmata/3 - Interfacer avec Arduino par pyFirmata.pdf differ diff --git a/labyrinthe/3-arduino_pyfirmata/3-labyrinthe.blend b/labyrinthe/3-arduino_pyfirmata/3-labyrinthe.blend index e3269fe..7b88065 100644 Binary files a/labyrinthe/3-arduino_pyfirmata/3-labyrinthe.blend and b/labyrinthe/3-arduino_pyfirmata/3-labyrinthe.blend differ diff --git a/labyrinthe/3-arduino_pyfirmata/3-labyrinthe.py b/labyrinthe/3-arduino_pyfirmata/3-labyrinthe.py index 549b40c..8968796 100644 --- a/labyrinthe/3-arduino_pyfirmata/3-labyrinthe.py +++ b/labyrinthe/3-arduino_pyfirmata/3-labyrinthe.py @@ -34,16 +34,20 @@ ACTIVATE = bge.logic.KX_INPUT_ACTIVE carte = pyfirmata.Arduino('/dev/ttyACM0') # GNU/Linux print("Communication Carte Arduino établie") -# Iterateur pour les entrees +# Itérateur pour les entrees it = pyfirmata.util.Iterator(carte) it.start() -# Definition des 4 boutons +# Définition des 4 boutons bt_haut = carte.get_pin('d:2:i') bt_bas = carte.get_pin('d:3:i') bt_gauche = carte.get_pin('d:4:i') bt_droit = carte.get_pin('d:5:i') +# Définition du joystick +jstk_x = carte.get_pin('a:0:i') +jstk_y = carte.get_pin('a:1:i') + # led = carte.get_pin('d:13:o') ############################################################################### @@ -60,7 +64,7 @@ def manette(cont): # Bouton bas - Broche 3 if bt_haut.read() == False and bt_bas.read() == True: - obj.applyRotation((+resolution,0,-obj.worldOrientation.to_euler().z), False) + obj.applyRotation((resolution,0,-obj.worldOrientation.to_euler().z), False) # Bouton gauche - Broche 4 if bt_gauche.read() == True and bt_droit.read() == False: @@ -70,6 +74,18 @@ def manette(cont): if bt_gauche.read() == False and bt_droit.read() == True: obj.applyRotation((0, resolution,-obj.worldOrientation.to_euler().z), False) + # Joystick : axe X + # de 0,25 à 0,75 avec une zone morte entre 0,48 et 0,52 + # print (jstk_x.read(), jstk_y.read()) + if jstk_x.read() <0.48 or jstk_x.read() >0.52: + resolution_prop= (jstk_x.read()-0.5)*(resolution/0.25) + obj.applyRotation((resolution_prop, 0, -obj.worldOrientation.to_euler().z), False) + + # Joystick : axe Y + if jstk_y.read() <0.48 or jstk_y.read() >0.52: + resolution_prop= (jstk_y.read()-0.5)*(resolution/0.25) + obj.applyRotation((0, resolution_prop, -obj.worldOrientation.to_euler().z), False) + ############################################################################### # Gestion du clavier ############################################################################### diff --git a/labyrinthe/3-arduino_pyfirmata/test/manette-test.py b/labyrinthe/3-arduino_pyfirmata/test/manette-test.py index 74c5d76..1fee6bb 100644 --- a/labyrinthe/3-arduino_pyfirmata/test/manette-test.py +++ b/labyrinthe/3-arduino_pyfirmata/test/manette-test.py @@ -24,7 +24,7 @@ import sys carte = pyfirmata.Arduino('/dev/ttyACM0') # GNU/Linux print("Communication Carte Arduino établie") -# Iterateur pour les entrees +# Itérateur pour les entrees it = pyfirmata.util.Iterator(carte) it.start() @@ -36,15 +36,19 @@ def sigint_handler(signal, frame): sys.exit(0) ############################################################################### -# Definition entrées - sorties +# Définition entrées - sorties ############################################################################### -# Definition des 4 boutons +# Définition des 4 boutons bt_a = carte.get_pin('d:2:i') bt_r = carte.get_pin('d:3:i') bt_g = carte.get_pin('d:4:i') bt_d = carte.get_pin('d:5:i') +# Définition du joystick +jstk_x = carte.get_pin('a:0:i') +jstk_y = carte.get_pin('a:1:i') + # led = carte.get_pin('d:13:o') ############################################################################### @@ -66,6 +70,13 @@ while True: if bt_g.read() == False and bt_d.read() == True : print("Bouton droit") + ## + # Joystick + ## + + print("Joystick X : ", jstk_x.read()) + print("Joystick Y : ", jstk_y.read()) + ## # Cadencement ##