diff --git a/labyrinthe/6-jumeaux/6-labyrinthe.blend b/labyrinthe/6-jumeaux/6-labyrinthe.blend index 078fc1a..9353b98 100644 Binary files a/labyrinthe/6-jumeaux/6-labyrinthe.blend and b/labyrinthe/6-jumeaux/6-labyrinthe.blend differ diff --git a/labyrinthe/6-jumeaux/6-labyrinthe.py b/labyrinthe/6-jumeaux/6-labyrinthe.py index 4e4ebf7..bc1710d 100644 --- a/labyrinthe/6-jumeaux/6-labyrinthe.py +++ b/labyrinthe/6-jumeaux/6-labyrinthe.py @@ -45,7 +45,6 @@ if serial_comm is None: def capteur(cont): obj = cont.owner # obj est l'objet associé au contrôleur donc 'Plateau' obj_bille = scene.objects['Bille'] - echelle = 0.2 # Facteur d'échelle entre la capteur et la 3D ecart=0.001 # Écart maxi sur la rotation # Touche ESC -> Quitter @@ -63,13 +62,16 @@ def capteur(cont): # depart() # Roll et Pitch : copier la position du plateau réel + # FIXME : sensible aux vibrations -> lissage if serial_msg_in.find(",")>0: txt = serial_msg_in.split(',',2) x_txt = txt[0][2:] y_txt = txt[1][:-5] if x_txt != " NAN" and y_txt != " NAN": # NAN : Not A Number - x=-(float(x_txt)/57.3) * echelle # 57,3 = 360 / (2 * pi) - y=-(float(y_txt)/57.3) * echelle # 57,3 = 360 / (2 * pi) + x=-(float(x_txt)/57.3) # 57,3 = 360 / (2 * pi) + y=(float(y_txt)/57.3) # 57,3 = 360 / (2 * pi) + obj['angle_x']=x*57.3 + obj['angle_y']=y*57.3 while abs(x-obj.worldOrientation.to_euler().x) > ecart : obj.applyRotation((x-obj.worldOrientation.to_euler().x, 0, -obj.worldOrientation.to_euler().z), False) while abs(y-obj.worldOrientation.to_euler().y) > ecart : @@ -111,13 +113,14 @@ def cycle(cont): # serial_msg_out = str(obj['Lx'])+str(obj['Ly'])+"\n" # serial_comm.write(serial_msg_out.encode()) - # # Si l'altitude de bille < -10 et pas de victoire -> chute - # if obj['z'] < -10 and obj['victoire'] == False : + # Si l'altitude de bille < -10 et pas de victoire -> chute + if obj['z'] < -10 and obj['victoire'] == False : # # Afficher image de chute sur la matrice de leds # serial_msg_out = "91\n" # serial_comm.write(serial_msg_out.encode()) - # obj['chute'] = True + obj['chute'] = True + depart() # Départ de la bille def depart():