Tutoriel 3 : partie 4 achevée

This commit is contained in:
Philippe Roy 2023-05-03 03:42:35 +02:00
parent 83353e417d
commit a446e809b3
5 changed files with 33 additions and 6 deletions

View File

@ -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
###############################################################################

View File

@ -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
##