
Je suis en train de programmer mon petit robot ESRA en Delphi, mais je crois que j'ai fait une boulette :
Dans un script, j'ai fait :
Longueur := Length(Edit2.Text); L := Edit2.Text; //showmessage(IntToStr(Longueur)); ShellExecute(Self.Handle, nil, 'espeak.exe', PChar('-v fr "'+Edit2.Text+'"'), nil, SW_HIDE); for i:=1 to Longueur do begin position := Ord(L[i])+Random(200)-Random(200); if (position<0) then position := 0; if (position>254) then position := 254; SSC_MOVE(0,position); SSC_MOVE(2,position); SSC_MOVE(4,position); sleep(10); end; end;
Donc en gros, j'ai un champ texte ou j'ecris un phrase.
Quand je clic sur OK, ma fonction liste toutes les lettres et à chaque lettre on dit au servo moteur de se deplacer (suivant le caractère ANSII de la lettre).
J'ai également rajouté un petit Text to Speech pour lire la phrase à voix haute

Vien le momment de tester mon script :
Je lance ça et remarque que me servos moteurs se déplacent de quelques degrés seulement (5 ou 10°)
Je fait plusieurs essais, sans résultat.
je quitte tout, redemarre mon PC...
Je lance un ancien programme qui marchait hier mais là... plus rien...
Donc en fait, je pense que j'en ai grillé 2, mais c'est bizarre quand même :
Peut-on vraiment griller des servomoteurs juste en leur envoyant trop de données ?
Ou est-ce plutôt du coté mécanique qu'il faut regarder ? Genre des soudures mal faite...
Merci
