Il manquerait pas un ; a la fin de la ligne orange ?
-----
Il manquerait pas un ; a la fin de la ligne orange ?
meme avec le ; j'ai toujours l'erreur donc j'ai mis les //
autre erreur (sachant que j'ai supprimé tous ce qui se rapporté à Xpos)
cannot find anything named" i"
import processing.serial.*;
Serial myPort;
int j = 0;
int counter = 0;
float[] roll;
roll = new float[width];
void setup () {
size(1000, 500);
println(Serial.list());
myPort = new Serial(this, Serial.list()[0], 9600);
myPort.bufferUntil('\n');
background(0);
}
void draw () {
stroke(255,255,0);
for (int i = roll.length-1; i > 0; i--) {
roll[i] = roll[i-1];
}
//for(int i = 1; i < roll.length; i++) {
line(i, roll[i], i-1, roll[i-1]);
}
void serialEvent (Serial myPort) {
// get the ASCII string:
String inString1 = myPort.readStringUntil('\n');
if (inString1 != null) {
//trim off any whitespace:
inString1 = trim(inString1);
// convert to an int and map to the screen height:
float inByte = float(inString1);
inByte = map(inByte, 0, 1023, 0, height/2);
switch(counter){
case 0:
roll = inByte;
counter++;
break;
}
}
}
après quand je mets i=0;
j'ai comme erreur connot convert from float to float[] sur roll = inByte;
En programmation, on ne peut pas (dans la plupart des cas), affecter un variable d'un type a une variable d'un autre type.
C'est possible dans certains cas, et avec certaines conséquence :
Mettre un float (decimal) dans un int (entier) fait que tu perds la partie décimal.
float a = 12.6;
int b = 0;
b = a;
b vaudra 12.
Par contre, il est impossible de mettre un type tableau dans un autre type.
Peut être que le processing autorise cela, mais ça m'étonnerais !
Dernier conseil : Je te conseil FORTEMENT d'utiliser un traducteur anglais -> français (google trad, reverso ...).
Traduit les messages d'erreur, il t'informeront de ce que tu dois faire pour rectifier le code.
OK , merci
je vais essayé de continuer
Salut , voilà j'ai un code me permettant de réaliser les courbes mais je ne comprends pas la partie extraction des données de l’interface arduino .
Voici la partie du code Processing qui me gène .
Pourquoi elle me gène ? Car si je n'utilise pas la librairie Wiichuck , je ne n'obtient aucunes courbes// this gets called at the top of each draw cycle to first and foremost
// get the data into place
void updateAllValues(){
// store previous value
roll[1] = roll[0];
pitch[1] = pitch[0];
accelX[1] = accelX[0];
accelY[1] = accelY[0];
accelZ[1] = accelZ[0];
// get new values in to the array
rollValues[smoothCount] = -(int)sensorValues[0];
pitchValues[smoothCount] = (int)sensorValues[1];
accelXValues[smoothCount] = (int)sensorValues[2];
accelYValues[smoothCount] = (int)sensorValues[3];
accelZValues[smoothCount] = (int)sensorValues[4];
// add up the array
for (int i = 0; i < 3 ; i++){
roll[0] += rollValues[i];
pitch[0] += pitchValues[i];
accelX[0] += accelXValues[i];
accelY[0] += accelYValues[i];
accelZ[0] += accelZValues[i];
}
//average it out
roll[0] /= 3;
pitch[0] /= 3;
accelX[0] /= 3;
accelY[0] /= 3;
accelZ[0] /= 3;
smoothCount ++;
if (smoothCount == 3){
smoothCount = 0;
}
Je m'explique
si je n'ais pas ça dans arduino je n'obtiens rien ??
Serial.print(chuck.readRoll()) ;
Serial.print(";");
Serial.print(chuck.readPitch() );
Serial.print(";");
Serial.print((int)chuck.readAc celX());
Serial.print(";");
Serial.print((int)chuck.readAc celY());
Serial.print(";");
Serial.print((int)chuck.readAc celZ());
Serial.print(";");
Serial.print((int)chuck.readJo yX());
Serial.print(";");
Serial.print((int)chuck.readJo yY());
Serial.print(";");
Serial.print((int)chuck.cPress ed());
Serial.print(";");
Serial.print((int)chuck.zPress ed());
Serial.println();
je voudrais calculer roll avec une moyenne et observer la coube de roll moyenne
mais dans ce cas je ne peut pas faire Serial.print(roll);
Je ne comprends pas pourquoi, ma partie du code processing est spécifique au lignes Serial énoncées.
et je ne comprends pas pourquoi
merci
Déjà expliqué... Si tu ne mets pas de Serial.print, la arduino n'envoie rien, donc Processing ne récupère rien...
Ton code Processing est conçu pour récupérer 3 valeurs par relevés. Il trace 3 courbes, pas plus, pas moins. Si tu en envoie plus, ça va plus marcher.
Je ne comprends pas ton histoire de moyenne, mais il semble préférable de calculer cette moyenne coté Arduino, puis envoyer les valeurs correctes à Processing.
Bonjours et merci pour ta réponse .
Je ne vois pas ou c'est que t'en déduis que je n'ais pas mis les Serial.print() dans le code arduino car je t'ai mit la partie du code arduino et il n'y a que des Serial.print()Si tu ne mets pas de Serial.print, la arduino n'envoie rien, donc Processing ne récupère rien...
Peux tu m'expliquer comment tu le déduis ??Il trace 3 courbes, pas plus, pas moins.
J'ai testé mon code et je sais déja que je peux obtenir 5 courbes : 3 accé , roll et pitch !
confère
pour information les chiffres correspondent au lignes de Serial.print dans arduinorollValues[smoothCount] = -(int)sensorValues[0];
pitchValues[smoothCount] = (int)sensorValues[1];
accelXValues[smoothCount] = (int)sensorValues[2];
accelYValues[smoothCount] = (int)sensorValues[3];
accelZValues[smoothCount] = (int)sensorValues[4];
en claire, le 1ere ligne de seriel.print comme tu as put le voir dans mon code précédent est Serial.print(chuck.readRoll()) ;
donc rollValues[smoothCount] correspondra à roll
oui , ça j'ai compris mais je n'arrive pas à l'afficher sur processingcalculer cette moyenne coté Arduino, puis envoyer les valeurs correctes à Processing.
Je ne comprends pourquoi ??
en claire , si j'ai ca dans mon code arduino
int16_t accelX = ((data[2] << 2) + ((data[5] >> 2) & 0x03) - ZEROX);
et que je remplace dans mes lignes serial.print() énoncées précedement
Serial.print((int)chuck.readAc celX());
Serial.print(";");
par
Serial.print(accelX);
Serial.print(";");
meme si accelX prends des valeurs dans le moniteur série
je ne visualise pas la courbe avec mon code processing
J'ai l'impression que mon code processing est spécifique à la librairie wiichuck ?? et je ne comprends pas pourquoi car si dans les Serial.print()
j'ai autre chose que chuck.readAc celX()) , chuck.readAccelY()) .... comme accelX , roll alors processing n'affiche pas de courbes , bien que ces roll ,accelX.....
ont des valeurs qui varient au cours du temps dans le moniteur série ??
je suis encore là
C'est une affirmation, ni plus ni moins.Si tu ne mets pas de Serial.print, la arduino n'envoie rien, donc Processing ne récupère rien...
En analysant le code... Surtout dans le serial event et dans la partie tracé. Tout est prévu pour gérer trois courbes uniquement.Peux tu m'expliquer comment tu le déduis ??
Oui, bien sûr, en modifiant les deux codes tu peux faire tout ce que tu veux...J'ai testé mon code et je sais déja que je peux obtenir 5 courbes : 3 accé , roll et pitch !
Histoire qu'on y passe pas encore 20 pages, je te conseille (déjà dit mais bon...) d'écrire clairement ce que tu veux obtenir au final pour ce projet, et ne pas rajouter des trucs au fur et à mesure en fonction... Genre tu arrêtes un nombre de courbes à tracer, et tu t'en tiens à ça. Car sinon, dans 6 mois on y est encore... et tu fatigues tout le monde. Et c'est pas en changeant de pseudo que ça va arranger les choses.
ça, ça sent le problème de conversion string -> float-> integer. Étudie du coté Processing comment est faite la conversion, il y a sûrement un problème de ce coté là. En clair, les données reçues sont des caractères (string) il faut alors à un moment les convertir en valeur numérique (entier ou à virgule). Si jamais tu tentes de convertir une chaine de caractères qui n'est pas un nombre, souvent tu te retrouves avec des zéros en sortie. ça peut par exemple venir d'un séparateur mal géré (virgule ou point). Pour en être sûr, tu peux ajouter des "print" dans le code Processing afin de faire un peu de débuggage et voir où ça coince.meme si accelX prends des valeurs dans le moniteur série
je ne visualise pas la courbe avec mon code processing
Hé oui, tu es sur un forum, pas sur un chat... Et c'est bien pour ça que t'ai encore demandé dans le post précédent d'écrire clairement ce que tu veux que tes codes fassent : tracer X courbes avec X données.Il est évident que l'on ne se comprends pas . Et cela est surement due à la complexité de se faire comprendre par message et non directement
Vu que l'on ne sait pas ce que tu veux au final, on avance pas ! Si ton projet à besoin de 5 courbes, ok, tu modifies le code Processing qui en contient actuellement 3, tu décides de ce que tu veux comme type de tracé (cf stockage de valeurs si besoin). Une fois que ce code est prêt, tu n'y touches plus !. Dans le même temps tu adaptes le code arduino. Une fois tout cela prêt, tu lances les 2 en même temps, et tu débugges.
Tu me donne du code "qui marche". C'est à dire ? Qui marche avec quelles données, dans quelles conditions ? Je considère que le code "marche" quand il répond au cahier des charges, cahier des charges qui n'est pas formulé.
Met y un peu du tien ! C'est pas mon projet, c'est pas à moi de te tirer les vers du nez !
Ps : Il est inutile de m'envoyer des MPs, ça facilite pas du tout les échanges !
On en est encore et toujours aux mêmes problèmes, je sens que je vais encore une fois laisser tomber...!
But: obtenir des courbes dans processing avec mon code processing sans utiliser la librairie wiichuck dans mon code arduino.Tu me donne du code "qui marche". C'est à dire ? Qui marche avec quelles données, dans quelles conditions ? Je considère que le code "marche" quand il répond au cahier des charges, cahier des charges qui n'est pas formulé.
Voila mon code marche seulement si j'utilise la librairie Wiichuck dans mon code ardui
donc j'utilise juste les données brutes comme suis
CODE 1
Or moi je voudrais coder dans arduino mes accé , roll et pitch par calcule sans la librairie wiichuck et obtenir les courbes correspondantes avec le code arduino que tu as pu voir .#include "Wire.h"
#include "WiiChuck.h"
WiiChuck chuck = WiiChuck();
void setup() {
//nunchuck_init();
// nunchuck_setpowerpins();
Serial.begin(115200);
chuck.begin();
chuck.update();
}
void loop() {
chuck.update();
Serial.print(chuck.readRoll()) ;
Serial.print(";");
Serial.print(chuck.readPitch() );
Serial.print(";");
Serial.print((int)chuck.readAc celX());
Serial.print(";");
Serial.print((int)chuck.readAc celY());
Serial.print(";");
Serial.print((int)chuck.readAc celZ());
Serial.print(";");
Mais j'ai codé comme tu peux le voir dans la suite (pour info , dans le moniteur série ,les valeurs varient)mais je n'obtiens pas les courbes avec le même code dans processing .
D’où ma question , je ne comprends pas pourquoi je n'obtiens rien . y a t-il plus coincidence entre le code processing que tu as pu voir et le code qui suis??
CODE 2
#include <Wire.h>;
#define WII_NUNCHUK_I2C_ADDRESS 0x52
uint8_t counter;
uint8_t data[6];
int accelX,accelY,accelZ,roll,pitc h;
void setup() {
Serial.begin(115200);
Wire.begin();
Wire.beginTransmission(WII_NUN CHUK_I2C_ADDRESS);
Wire.write(0xF0);
Wire.write(0x55);
Wire.endTransmission();
Wire.beginTransmission(WII_NUN CHUK_I2C_ADDRESS);
Wire.write(0xFB);
Wire.write(0x00);
Wire.endTransmission();
}
void loop() {
Wire.requestFrom(WII_NUNCHUK_I 2C_ADDRESS, 6);
counter = 0;
while(Wire.available()) {
data[counter++] = Wire.read();
}
Wire.beginTransmission(WII_NUN CHUK_I2C_ADDRESS);
Wire.write(0x00);
Wire.endTransmission();
if(counter >= 5){
int16_t accelX = ((data[2] << 2) + ((data[5] >> 2) & 0x03));
int16_t accelY = ((data[3] << 2) + ((data[5] >> 4) & 0x03));
int16_t accelZ = ((data[4] << 2) + ((data[5] >> 6) & 0x03));
int joyX = ((data[0]));
int joyY = ((data[1]));
int16_t pitch = (atan2(-accelY, accelZ)*180.0)/M_PI;
int16_t roll = (atan2(accelX, sqrt(accelY*accelY + accelZ*accelZ))*180.0)/M_PI;
Serial.print(roll);
Serial.print("\n");
Serial.print(pitch);
Serial.print("\n");
Serial.print(accelX);
Serial.print("\n");
Serial.print(accelY);
Serial.print("\n");
Serial.print(accelZ);
Serial.print("\n");
Serial.print(joyX);
Serial.print("\n");
Serial.print(joyY);
Serial.print("\n");
delay(1);
}
}
}
Pour résumer ,pourquoi le code 1 (arduino avec librairie Wiichuck) marche (donc j'obtiens des courbes sur processing) avec le code processing ( que tu as pu voir ) alors que le code 2 je n'obtiens rien ??
C'est pas un cahier des charges ça ! Je veux savoir ce que le programme doit tracer, et avec quels paramètres !!! Une courbe avec telle info, une autre avec telle info...But: obtenir des courbes dans processing avec mon code processing sans utiliser la librairie wiichuck dans mon code arduino.
Pour tes erreurs sous Processing, je t'ai déjà donné des pistes, il faut chercher un peu !
que le programme doit tracer
iL DOIT TRACER roll , pitch , accelX, accelY,accelZ
Pour tes erreurs sous Processing,
Je n'ai pas parlé d'erreur ,mon code processing marche mais seulement avec le code 1.
En regardant de plus près , le souci doit venir du CODE 2 car le moniteur série montre des déconnage important
Je crois que je dois corriger le CODE 2 .Pourtant il coincidé avec la librairie Wiichuck qui suit
#ifndef WiiChuck_h
#define WiiChuck_h
#include "Arduino.h"
#include <Wire.h>
#include <math.h>
// these may need to be adjusted for each nunchuck for calibration
#define ZEROX 510
#define ZEROY 490
#define ZEROZ 460
#define RADIUS 210 // probably pretty universal
#define DEFAULT_ZERO_JOY_X 124
#define DEFAULT_ZERO_JOY_Y 132
class WiiChuck {
private:
uint8_t cnt;
uint8_t status[6]; // array to store wiichuck output
uint8_t averageCounter;
//int accelArray[3][AVERAGE_N]; // X,Y,Z
int i;
int total;
uint8_t zeroJoyX; // these are about where mine are
uint8_t zeroJoyY; // use calibrateJoy when the stick is at zero to correct
int lastJoyX;
int lastJoyY;
int angles[3];
bool lastZ, lastC;
public:
uint8_t joyX;
uint8_t joyY;
bool buttonZ;
bool buttonC;
void begin()
{
Wire.begin();
cnt = 0;
averageCounter = 0;
// instead of the common 0x40 -> 0x00 initialization, we
// use 0xF0 -> 0x55 followed by 0xFB -> 0x00.
// this lets us use 3rd party nunchucks (like cheap $4 ebay ones)
// while still letting us use official oness.
// only side effect is that we no longer need to decode bytes in _nunchuk_decode_byte
// see http://www.arduino.cc/cgi-bin/yabb2/...num=1264805255
//
Wire.beginTransmission(0x52); // device address
Wire.write(0xF0);
Wire.write(0x55);
Wire.endTransmission();
delay(1);
Wire.beginTransmission(0x52);
Wire.write(0xFB);
Wire.write(0x01);
Wire.write((uint8_t)0x00);
Wire.endTransmission();
update();
for (i = 0; i<3;i++) {
angles[i] = 0;
}
zeroJoyX = DEFAULT_ZERO_JOY_X;
zeroJoyY = DEFAULT_ZERO_JOY_Y;
}
void calibrateJoy() {
zeroJoyX = joyX;
zeroJoyY = joyY;
}
void update() {
Wire.requestFrom (0x52, 6); // request data from nunchuck
while (Wire.available ()) {
// receive byte as an integer
status[cnt] = _nunchuk_decode_byte (Wire.read()); //
cnt++;
}
if (cnt > 5) {
lastZ = buttonZ;
lastC = buttonC;
lastJoyX = readJoyX();
lastJoyY = readJoyY();
//averageCounter ++;
//if (averageCounter >= AVERAGE_N)
// averageCounter = 0;
cnt = 0;
joyX = (status[0]);
joyY = (status[1]);
for (i = 0; i < 3; i++)
//accelArray[i][averageCounter] = ((int)status[i+2] << 2) + ((status[5] & (B00000011 << ((i+1)*2) ) >> ((i+1)*2)));
angles[i] = (status[i+2] << 2) + ((status[5] & (B00000011 << ((i+1)*2) ) >> ((i+1)*2)));
//accelYArray[averageCounter] = ((int)status[3] << 2) + ((status[5] & B00110000) >> 4);
//accelZArray[averageCounter] = ((int)status[4] << 2) + ((status[5] & B11000000) >> 6);
buttonZ = !( status[5] & B00000001);
buttonC = !((status[5] & B00000010) >> 1);
_send_zero(); // send the request for next bytes
}
}
// UNCOMMENT FOR DEBUGGING
//byte * getStatus() {
// return status;
//}
float readAccelX() {
// total = 0; // accelArray[xyz][averageCounter] * FAST_WEIGHT;
return (float)angles[0] - ZEROX;
}
float readAccelY() {
// total = 0; // accelArray[xyz][averageCounter] * FAST_WEIGHT;
return (float)angles[1] - ZEROY;
}
float readAccelZ() {
// total = 0; // accelArray[xyz][averageCounter] * FAST_WEIGHT;
return (float)angles[2] - ZEROZ;
}
bool zPressed() {
return (buttonZ && ! lastZ);
}
bool cPressed() {
return (buttonC && ! lastC);
}
// for using the joystick like a directional button
bool rightJoy(int thresh=60) {
return (readJoyX() > thresh and lastJoyX <= thresh);
}
// for using the joystick like a directional button
bool leftJoy(int thresh=60) {
return (readJoyX() < -thresh and lastJoyX >= -thresh);
}
int readJoyX() {
return (int) joyX - zeroJoyX;
}
int readJoyY() {
return (int)joyY - zeroJoyY;
}
// R, the radius, generally hovers around 210 (at least it does with mine)
// int R() {
// return sqrt(readAccelX() * readAccelX() +readAccelY() * readAccelY() + readAccelZ() * readAccelZ());
// }
// returns roll degrees
int readRoll() {
return (int)(atan2(readAccelX(),readA ccelZ())/ M_PI * 180.0);
}
// returns pitch in degrees
int readPitch() {
return (int) (acos(readAccelY()/RADIUS)/ M_PI * 180.0); // optionally swap 'RADIUS' for 'R()'
}
private:
uint8_t _nunchuk_decode_byte (uint8_t x)
{
//decode is only necessary with certain initializations
//x = (x ^ 0x17) + 0x17;
return x;
}
void _send_zero()
{
Wire.beginTransmission (0x52); // transmit to device 0x52
Wire.write ((uint8_t)0x00); // sends one byte
Wire.endTransmission (); // stop transmitting
}
};
#endif
C'est quoi "code 1" et "code 2" à la fin ? Tu dois avoir UN code arduino et UN code Processing, point barre.
J'obtiens déja les courbes que je souhaitais ( avec le code 1 et le code processing que tu as vu ) . Je tiens à le préciser car j'ai l'impression que tu crois que je n'obtiens pas encore les courbes sur processing .C'est quoi "code 1" et "code 2" à la fin ? Tu dois avoir UN code arduino et UN code Processing, point barre.
Là , je parle d'autre chose . J'ai dis que j'obtenais les courbes avec le code 1 ( c'est un code arduino qui utilise la librairie Wiichuck) voir post 100#
Or moi je veux obtenir les courbes d'après le code 2 , voir post 100# mais il s'avère je n'obtiens pas les courbes sur le même code processing car mon code 2 qui n'utilise pas la librairie Wiichuck est mauvais ( il donne n'importe quoi dans le moniteur série )
pourtant il était similaire à la librairie wiichuck donc mon code 2 est mauvais et
dans mon code 1
int16_t accelX = ((data[2] << 2) + ((data[5] >> 2) & 0x03));
int16_t accelY = ((data[3] << 2) + ((data[5] >> 4) & 0x03));
int16_t accelZ = ((data[4] << 2) + ((data[5] >> 6) & 0x03));
int joyX = ((data[0]));
int joyY = ((data[1]));
ces lignes sont similaire à la librairie wiichuck que je donne au post précèdent donc je ne vois pas ou cela cloche
merci
Si si, t'inquiètes je les ai vues tes courbes...!
Si ton code arduino est bon, alors tu met à jour Processing pour t'afficher 5 courbes, sinon tu continues à travailler sur le code arduino jusqu'à ce que les valeurs données par le moniteur série te semblent cohérentes.
Mais un truc que je comprends pas, c'est pourquoi tu veux te passer de cette fameuse librairie, qui semble marcher correctement Tu cherches les emm***des non ?
Tes histoires de décalage de bits sont étranges... Encore une fois, si tu as un code qui marche, cherche pas plus loin.
Tu ne comprends pas quoi dans "Il est inutile de m'envoyer des MPs" ?
Poste ici. Ton message est allé cash à la corbeille, pas faute de t'avoir prévenu...
Voilà , si je teste un code de motion + qui marche ( d'après le moniteur série ). Je n'obtiens aucunes courbes avec mon code processing donc je ne vois pas ou cela cloche car le code proceessing que tu as vu ne semble pas spécifique à la librairie wiichuck .
Que puis-je faire ?
but : observer les courbes de roll pitch , yaw sur processing avec le code processing que tu as vu d'après le code qui suis .
Merci d'avance#include <Wire.h>
byte data[6];
int val;
int yaw, pitch, roll;
int yaw0, pitch0, roll0;
int deltapitch = 0;
int deltayaw = 0;
void wmpOn()
{
Wire.beginTransmission(0x53);
Wire.write(0xfe);
Wire.write(0x04);
Wire.endTransmission();
}
void wmpSendZero()
{
Wire.beginTransmission(0x52);
Wire.write(0x00);
Wire.endTransmission();
}
void calibrateZeroes()
{
for (int i=0;i<10;i++)
{
wmpSendZero();
Wire.requestFrom(0x52,6);
for (int i=0;i<6;i++)
{
data[i]=Wire.read();
}
yaw0+=(((data[3]>>2)<<8)+data[0])/10;
roll0+=(((data[4]>>2)<<8)+data[1])/10;
pitch0+=(((data[5]>>2)<<8)+data[2])/10;
}
}
void receiveData()
{
wmpSendZero();
Wire.requestFrom(0x52,6);
for (int i=0;i<6;i++)
{
data[i]=Wire.read();
}
yaw=(((data[3]>>2)<<8)+data[0]-yaw0)-2;
roll=(((data[4]>>2)<<8)+data[1]-roll0);
pitch=(((data[5]>>2)<<8)+data[2]-pitch0)-8;
}
void setup()
{
Serial.begin(115200);
Serial.println("WM+ tester");
Wire.begin();
wmpOn();
calibrateZeroes(); /
delay(1000);
}
void loop()
{
receiveData();
Serial.print("\n");
Serial.print(roll);
Serial.print("\n");
Serial.print(pitch);
Serial.print("\n");
Serial.print(yaw);
delay(100);
}
PS: je ne pense pas que la modification du code processing apporte quelque chose car il semblerais que quelques soient les donnés dans les Serial.print () le code devrait tracer les courbes .
Cette fois ci le code marche donc rien n'obtenir n'est pas normal .
De plus , pense -tu qu'il est possible de mélanger ce code avec un code de nunchuck ??
Attends attends c'est quoi cette histoire de motion ?
Le rapport avec tout le reste ?
Si je t'ai demandé un cahier des charges, c'est pour s'y tenir, pas pour rajouter des trucs supplémentaires...
une motion plus de wii
c'est ça http://img.diytrade.com/cdimg/114804...otion_Plus.jpg
elle contient un gyroscope permettant de calculer roll , pitch , yaw .(lorsque je pouge ce truc , j'entraine le mouvement de servo)
Et je veux par la suite utiliser la nunchuck et la motion plus pour faire bouger des servos d'un bras .
Sachant qu'il ya beaucoup de servo il me faut plusieurs pitch, roll, et un yaw donc voilà .
(car il n'est pas préférable de controler plusieurs servo avec le même roll.....
Peut tu répondre s'il te plait à mes questions du post précédent car je suis encore là .
Pourrais tu pour la dernière fois arrêter un cahier des charges et ne pas rajouter des trucs supplémentaires tout les 2 messages ?
Je vais laisser tomber si tu ne sais pas ce que tu veux faire ! On mélange Processing, des moyennes, une motion plus, des bouts de code qui marchent, d'autres qui ne marchent pas... Comment tu veux qu'on t'aide ?
Bonsoir
Yoruk bonne année et bon courage!
JR
l'électronique c'est pas du vaudou!
Bonjour à tous, mais en particulier Khalil_ et pseudok
Merci de contacter la modération, pour éclaircir un problème de comptes et d’adresses IP.
Les derniers messages ont été supprimés et la discussion fermée.