Envoyer un caractère par bluetouth pendant un temps défini

Portrait de macanis

Bonjour, 

Je suis sur un mini projet où je dois controler un robot (Arduino + moteurs CC) par bluetouth, grace à une application android que je développe avec App Inventor.

J'ai pensé à donner le choix entre un "pilotage manuel" ( quand j'appuis sur tel bouton, le robot avance dans telle direction), et aussi un pilotage 'auto" où l'utilisateur n'à qu'a choisir le temps ou la distance ('celle ci etant égale à vitesse*temps) qu'il veut voir le robot parcourir. Et c'est justement là ou j'y arrive pas et où j'aurai besoin de votre aide , s'il vous plait ! 

En bref, l'idée à laquelle j'ai pensé consiste en cela : A l'instant où l'utilisateur appui sur un bouton - apres avoir saisi le temps ou la distance, laquelle est stockée dans une variable qu'on va appeler t0 , un compteur se déclenché : dans la boucle When Clock.Timer, une variable (appelons la t1) s'intialise et on lui ajouter 1 toutes les secondes (t1=t1+1). D'autres part, j'ai une boucle while avec la condition : tant que la variable t1< t0 (temps entré par l'utilisateur), do : envoyer un caractére au bluetouth (pour executer l'action de faire avancer le robot). Problème: L'appli bug (se bloque) dés que j'appui sur le bouton ! Et j'ai essayé depuis diverses variantes/methodes ça donne toujours rien !

Que me suggérez vous ?