Bonjour à tous !!! Me voila fraîchement débarqué sur ce citron tout aussi frais !
Ma première question est d'abord d'ordre pratique : où placer une question sur la liaison Arduino/Processing? Plutôt matériel ou programmation? (J'ai eu le même dilemme sur OC pour une question sur l'API Python de Blender : ignoré d'un côté par les utilisateurs de Blender qui ne programmait pas, et boulé de l'autre par les programeur Python qui s’empaillait le caillou de Blender… et je réitère avec une autre utilisation bâtarde x)) Bref j'ai choisi programmation parce que voici mon problème :
Je souhaite faire vibrer un buzer piezo branché sur Arduino UNO depuis une fenêtre graphique Processing. En gros, lorsque ma souris est en haut de la fenêtre, le signal envoyé est de haute fréquence donc le son est aigu. Inversement, en bas, basse fréquence, son grave. Pas de problème avec les branchements électroniques très simples. Pour le code, j'ai déjà fait varier la luminosité d'une LED depuis Processing grâce au script Firmata intégré à Arduino.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | //Code Processing import processing.serial.*; import cc.arduino.*; Arduino arduino; float lum; void setup(){ arduino=new Arduino(this,Arduino.list()[0],57600); arduino.pinMode(9,Arduino.OUTPUT); } void draw(){ background(204); lum=map(mouseY,100,0,0,255); arduino.analogWrite(9,int(lum)); } |
Je me suis donc dit qu'il suffisait de remplacer dans ce code processing la fonction arduino.analogWrite() par arduino.tone(), mais voila : la fonction arduino.tone() n'existe pas…
J'ai cru comprendre ici http://forum.arduino.cc/index.php?topic=195927.0 que la library Firmata n'était pas complète et qu'il valait mieux écrire son propre protocole de communication entre Arduino et Processing mais je doute que ce soit très simple… J'ai un niveau assez rudimentaire de Processing et d'Arduino donc j'aime bien les librairies toutes cuites (oui je sais : l'ignorance volontaire, ça craint ^^).
Voila, que pensez-vous de ce problème? Est-ce qu'il existe d'autres librairies avec des fonctions équivalentes à tone() capable de produire un signal à une fréquence précise accessible depuis Processing? ou bien est-ce qu'il existe d'autre manière de faire faire quelque chose à l'Arduino depuis Processing?
Bonne journée à tout les lecteurs de ce messages (et même au autre enfaîtes (et puis non !)). Merci !
Ulic3