Pages: 1
Salut à tous
J'ai dernièrement réalisé un montage que j'ai trouvé sur le net qui consiste a contrôler la position d'un servomoteur grâce au touche "HAUT" et "BAS" du clavier
http://www.mon-club-elec.fr/pmwiki_mon_ … nClavierPC
C'est vraiment super à faire ce programme utilise l'arduino et processing ce qui en fait un bon exercice !
Mais voilà c'est super de pouvoir contrôler UN servomoteur mais PLUSIEURS sa serai encore mieux !
Se permettrai de vraiment faire de beau montage .
Le problème c'est que le code arduino je peux réussir mais le code processing je suis complètement perdu
Je ne vois pas comment faire pour rajouter un deuxième "module" ( le petit rectangle rouge qui monte et qui descends suivant la position du servomoteur), J'arrive a faire en sorte de contrôler le servomoteur avec d'autre touches comme "GAUCHE" et "DROITE", ou d'agrandir la fenêtre RGB enfin des petits trucs simples mais pas de pouvoir contrôler deux servomoteurs en même temps
Si quelqu'un pouvait me venir en aide je mets ci-joint le code processing et même celui arduino qui m'a été fourni sur le site afin de mieux vous y retrouver
LE CODE PROCESSING
LE CODE ARDUINO
MERCI D'AVANCE pour vos réponses
Hors ligne
bonjour.
Pour ton problème de commande de plusieurs servos tu télécharge firmata standar dans ta carte arduino et ensuite
tu charge je programme suivant dans processing que tu modifiera pour ton application.ET n'oublie de modifier les constrain de 0 à 180 pour les servo ici c'est pour controler des leds par des potars.
import processing.serial.*; import cc.arduino.*; Arduino arduino; int val,val1; void setup() { size(512, 400); arduino = new Arduino(this, Arduino.list()[0], 57600); } void draw() { background(0); val=arduino.analogRead(4); arduino.analogWrite(3,constrain(val,0,255)); display(); val1=arduino.analogRead(5); arduino.analogWrite(5,constrain(val1,0,255)); display(); } void display(){ fill(255); rect(100,100,255,15); rect(100,200,255,15); fill(255,0,0); rect(100,100,constrain(val,0,255),15); rect(100,200,constrain(val1,0,255),15); }
Hors ligne
Bonjour,
Pour ton problème, il faut synchroniser l'émission et la réception de données par le port série (handshaking).
Tu as un exemple ici :
http://arduino.cc/en/Tutorial/SerialCallResponseASCII
Il faudra l'inverser car c'est l'ordinateur qui envoie les données.
Le code Processing que tu as trouvé sur le site est assez laid et confus, il ne permet une lecture et une modification aisée.
Bon courage.
@ fabrice54 : Attention les servis ne se contrôle pas en PWM standard donc l'utilisation de formata est à proscrire.
[EDIT] : Prends bien soin d'utiliser une alimentation externe puissante pour tes servos-moteurs. L'alimentation de l'Arduino ou d'un port USB risque de provoquer des comportements erratiques ou d'endommager les ports USB.
Dernière modification par Mushussu (2014-02-24 10:03:29)
Hors ligne
Effectivement, J'avais testé des servos de différentes marques avec Firmata il y a un certain temps, certains;fonctionnaient bien,d'autres déconnaient, mais je ne savais pas pourquoi,pourtant il y a un servoFirmata dans les exemples je l'ai comparé avec le firmata standar cela semble equivalant;mais je ne l'ai jamais testé.
Hors ligne
Pages: 1