Bonjour,
Pour la première fois, j'essaie de communiquer entre MAX et arduino sans passer par firmata, car j'ai besoin de commander un servo avec la librairie adaptée.
Le code arduino pour la commande fonctionne : si je l'exécute de façon autonome ça tourne.
MAIS
Dès que j'essaie d'envoyer une valeur cible par MAX, ça arrête le programme arduino

La diode rx clignote, donc la carte doit bien recevoir des valeurs, mais ça bloque quelque part.
Voilà les codes :
ARDUINO
#include <Servo.h>
#define INCR 1
// on déclare le servomoteur comme une variable typée
Servo servo1;
int val=0;
int angle=0;
int sens=0;
/**
* Initialisation du programme
*/
void setup()
{
servo1.attach(9); // le servomoteur est sur une patte PWM
Serial.begin(9600);
}
/**
* Boucle infinie qui va gérer la rotation et faire alterner le sens de rotation
*/
void loop()
{
if ( Serial.available() ) {
char lebyte=Serial.read();
val = (int)lebyte;
}
// faire tourner le servomoteur
if (sens == 0)
{
angle += INCR;
}
else {
angle -= INCR;
}
// si on est arrivé à une extremité
if (angle <= val)
{
sens = 1;
}
if (angle >= val) {
sens = 0;
}
servo1.write(angle);
delay(10);
}
...et MAX
----------begin_max5_patcher----------
1055.3ocyXszaiaCD9r8uBBc10fujrYuEroEXAZO0E8RyhBZIFY1JQZPwzMY
Wr+2KeHknjH63GxN6EIyQin9327MCG5uMcRxJ88hlDvOC9KvjIea5jIASdCS
ZGOIoleedEuI3VRsnogWJRlEelUbuMX+KFoU.Pc1uUqrMxuJ7OCgmCaMqtqV
emsRXCSFp05FtMesTU92FQtMBFLi3dI.MKyeKE5uhVNGB9b66DmF6CaDwWHI
4wGIKBHRu5e9IVe7n30AmStxH4UIOAIopCQXusuOcp+xriiQN4UNd4XrxoWf
UdtttVnruRKbszY2bi5F0mVKa.gEInQnJZ.bvJohad.393qDFvsFcM.BrZ.N
ME3VZ.6ZgyWONAazFq+QbE3JSwcRkFjqUJGUIJ718t58YN.7QKnPV23c829k
qAbqkmu9IuZe84dLkaDb+DfgvraTqd.bM++jEfqlC9cQUkr4FUstPdqz4BhB
tZiw6IK34ejqsVvuJsesTX3UEtOWA3StUvGK0OJ.pjNDpuSE3BD7PjEvcHKf
rfdH0ekPoAYg+1PAeB9.i9nQL5mulqJEw3XkrvEj8gvJq+GNaqLxx0VkKoAn
uMXwEvFj6HiD0wB4PXRf5PnEgzqkCybKt.DWT5OX8B3VVc3cHLPQIwxzd0KX
6pdgzGz.IqbgoAKcjMHG7mBSAWwGMVHpMR1Y4wNdAmlMG9lTPaDFGo.Jb+pY
tpLWWoMQ6v4LJChmM3OFTvfFOYg3KtI7UoSMhJ2B0Ui7v1akrc5hPwAECLPW
Y3NRa6rUPpL6o6CJaHv2yhNUx7+ErVXD9pM4U5FwK2IIYjJmPh0SHrrHwk8J
9qGofy9ggTzaDpyEmPaKBs.tObxknH615SMHMFqd05xjhRAB6H6UCit7so9H
gDZxhOZLRFsmPfhNRFAwdGae8COKsoT3nGfquPquekd4NMiVxCoeScX3hcl7
bAxcr5xxJQxQlMfyBGfIVQvec2chLX3Gc1qCrwHU1QS0uj1KBRxNVUO4Bn52
ZaFAgMGvxfvChW1UuoogRhzXKYKoucmFs8lNL8PeG2KMVTvUOnwxGwdIxX8S
YP6L0GcI12bCWIdb1JM7BbWmwoP1RHc1f+B0CwCu3ccNVE6keA7.5kOtABgM
LirrCntSrK5mi5ANJNgwYn+k9HcXxJ3Q3vnu3+FK.Xu8myfM56L4cR31iPAd
56THZrRE2J0pd93ky8bZsrnPn5SY0xhMZWBQS2eLDcdpeOUj+lWxzMB74ACz
6KXQ6AXyNLrdpHhbF3OBi3YLRVZO9KL5TQK6bf1EQzFAcGZ8iNQzhQmCzlhh
pwrmoMyNYz5OT4ah1WrjN2py.lPuECxtrYL6ST8Ej4dEU8EgaOdSLFGFcpnk
tGnk9LV9rSfz8HnxNAH4F78o+OPiEvGD
-----------end_max5_patcher-----------
Je suppose que c'est pas compliqué, mais ça fait deux jours que je m'arrache les cheveux dessus, à essayer tous les scripts d'exemples et à tenter de les adapter...
...help !