Le forum a migré vers l'adresse suivante:

Forum

Masquer ce message

Simple-Duino Forum Index



[Résolu] Commande de 2 servos par poussoir


 
Post new topic   Reply to topic    Simple-Duino Forum Index -> Arduino & Électronique -> Questions
Previous topic :: Next topic  
Author Message
Technoïde
Débutant

Offline

Joined: 28 Dec 2013
Posts: 6
Masculin
Niveau d'éléctronique: Débutant

PostPosted: Thu 22 May - 18:08 (2014)    Post subject: [Résolu] Commande de 2 servos par poussoir Reply with quote

PublicitéSupprimer les publicités ?
Bonjour,

j'ai un soucis avec mon code.
Ce code est destiné à ce que lorsque j'appuie sur un bouton, un servo bouge d'1 degré.

Voici mon code:

#include <Servo.h>
#define XMOIN 1; // boutton faisant baisser de 1° le servo de l'axe des x
#define XPLUS 2; // boutton faisant monter de 1° le servo de l'axe des x
#define YMOIN 3:
#define YPLUS 4;


int valx;        // initialisation des variables de positios des 2 servos
int valy;

Servo xservo;   // création des 2 servos
Servo yservo;

void setup()
{
  pinMode(XMOIN, INPUT); // mise en entrée des boutons
  pinMode(XPLUS, INPUT); 
  pinMode(YMOIN, INPUT);
  pinMode(YPLUS, INPUT);
  Serial.begin(9600);       // ouverture du ports série
  yservo.attach(6);        // Définition des sorties destinéés aux servos
  xservo.attach(5);
}
void loop ()
{
  if (analogRead(YMOIN) == HIGH) { // si YMOIN est HIGH, le servo "baisse" d'un degré
    valy == valy - 1
  }
  if (analogRead(YPLUS) == HIGH) { // Si XMOIN est HIGH, le servo "monte" d'un degré.
    valy == valy + 1
  }
  if (analogRead(XMOIN) == HIGH) {
    valx == valx - 1
  }
  if (analogRead(XPLUS) == HIGH) {
    valx == valx + 1
  }
 
 
  // diminue les valeur de valx et valy afin de ne pas dépasser 180° et et de ne pas
  //passer en dessous de 0°
  if (valx<0) {
  valx == 0         
  }
    if (valy<0) {
  valy == 0
  }
    if (valx>180) {
  valx == 180
  }
    if (valx>180) {
  valx == 0180
  }
  xservo.write(valx);   // écriture de valx sur yservo
  yservo.write(valy);
  Serial.print(valx);  // écriture de valx sur le port série
  Serial.print(valy);
 
  delay(20);
 
}



Voila. Le problème indiqué par l'IDE est:

servobutton:35: error: expected primary-expression before ')' token
servobutton:35: error: expected `;' before ')' token
servobutton:44: error: expected `;' before '}' token
servobutton:47: error: expected `;' before '}' token
servobutton:50: error: expected `;' before '}' token
servobutton:53: error: expected `;' before '}' token

Et je ne comprends pas help ... Peut être que je n'ai pas abordé le problème par le bon bout...  Donc si quelqu'un à une idée, ça m'aiderait beaucoup.


Merci


Last edited by Technoïde on Sun 25 May - 16:22 (2014); edited 1 time in total
Back to top
Admin
Fondateur

Offline

Joined: 12 Apr 2012
Posts: 860
Masculin
Niveau d'éléctronique: Pro

PostPosted: Thu 22 May - 23:06 (2014)    Post subject: [Résolu] Commande de 2 servos par poussoir Reply with quote

Tu oublies pleins de ";" à la fin de ligne, notamment dans tes if, exemple:
 
Code:
 valy == 0


C'est simplement là la source de ton problème...
Il ne faut jamais oublier ces petits points virgules qui signalent à l'Arduino que la ligne de code est terminée et qu'une nouvelle peut commencer.
____________________________
http://simple-duino.com
Back to top
Technoïde
Débutant

Offline

Joined: 28 Dec 2013
Posts: 6
Masculin
Niveau d'éléctronique: Débutant

PostPosted: Fri 23 May - 07:24 (2014)    Post subject: [Résolu] Commande de 2 servos par poussoir Reply with quote

merci beaucoup pour la réactivité et je vais tester ça ce soir...
mais je ne savais pas que l'on devait mettre des ";" dans les "if" (---> je débute et y en avait pas dans le bouquin read )

Donc je vois ça et je dis si ça marche.

François
Back to top
Admin
Fondateur

Offline

Joined: 12 Apr 2012
Posts: 860
Masculin
Niveau d'éléctronique: Pro

PostPosted: Fri 23 May - 10:34 (2014)    Post subject: [Résolu] Commande de 2 servos par poussoir Reply with quote

La règle est simple, à l'exception de quelques fonction (de déclaration et d'intégration de librairies généralement), toutes les lignes de scripts Arduino doivent se terminer par un ";"
Bizarre que cela ne soit pas écrit dans ton livre
____________________________
http://simple-duino.com
Back to top
Technoïde
Débutant

Offline

Joined: 28 Dec 2013
Posts: 6
Masculin
Niveau d'éléctronique: Débutant

PostPosted: Fri 23 May - 15:52 (2014)    Post subject: [Résolu] Commande de 2 servos par poussoir Reply with quote

j'ai donc rajouté des ";" dans les "if" ( mon code: http://www.sendspace.com/file/rrvwd4 ) mais il y a encore un message d'erreur:




servobutton.ino:51:11: error: invalid digit "8" in octal constant
servobutton.ino: In function 'void setup()':
servobutton:15: error: expected `)' before ';' token
servobutton:15: error: expected primary-expression before ',' token
servobutton:15: error: expected `;' before ')' token
servobutton:16: error: expected `)' before ';' token
servobutton:16: error: expected primary-expression before ',' token
servobutton:16: error: expected `;' before ')' token
servobutton:17: error: expected `)' before ':' token
servobutton:18: error: expected `)' before ';' token
servobutton:18: error: expected primary-expression before ',' token
servobutton:18: error: expected `;' before ')' token
servobutton.ino: In function 'void loop()':
servobutton:25: error: expected `)' before ':' token
servobutton:28: error: expected `)' before ';' token
servobutton:28: error: expected `)' before ';' token
servobutton:28: error: expected primary-expression before ')' token
servobutton:28: error: expected `;' before ')' token
servobutton:31: error: expected `)' before ';' token
servobutton:31: error: expected `)' before ';' token
servobutton:31: error: expected primary-expression before ')' token
servobutton:31: error: expected `;' before ')' token
servobutton:34: error: expected `)' before ';' token
servobutton:34: error: expected `)' before ';' token
servobutton:34: error: expected primary-expression before ')' token
servobutton:34: error: expected `;' before ')' token



c'est a priori un gros problème de ";" sauf la première erreur mais je ne vois absolument pas ou... ???  donc je continue de chercher... 
Back to top
Admin
Fondateur

Offline

Joined: 12 Apr 2012
Posts: 860
Masculin
Niveau d'éléctronique: Pro

PostPosted: Sat 24 May - 11:02 (2014)    Post subject: [Résolu] Commande de 2 servos par poussoir Reply with quote

Quote:

#include <Servo.h>
#define XMOIN 1 // boutton faisant baisser de 1° le servo de l'axe des x
#define XPLUS 2 // boutton faisant monter de 1° le servo de l'axe des x
#define YMOIN 3
#define YPLUS 4


Servo xservo ; // création des 2 servos
Servo yservo ;


int valx, valy ;


void setup()
{
  pinMode(XMOIN, INPUT); // mise en entrée des boutons
  pinMode(XPLUS, INPUT);  
  pinMode(YMOIN, INPUT);
  pinMode(YPLUS, INPUT);
  Serial.begin(9600);       // ouverture du ports série
  yservo.attach(6);        // Définition des sorties destinéés aux servos
  xservo.attach(5);
}
void loop ()
{
  if (analogRead(YMOIN) == 1024) { // si YMOIN est HIGH, le servo "baisse" d'un degré
    valy = valy - 1 ;
  }
  if (analogRead(YPLUS) == 1024) { // Si XMOIN est HIGH, le servo "monte" d'un degré.
    valy = valy + 1 ;
  }
  if (analogRead(XMOIN) == 1024) {
    valx = valx - 1 ;
  }
  if (analogRead(XPLUS) == 1024) {
    valx = valx + 1 ;
  }
  
  
  // diminue les valeur de valx et valy afin de ne pas dépasser 180° et et de ne pas
  //passer en dessous de 0°
  if (valx <= 0) {
  valx = 0 ;   
  }
    if (valy <= 0) {
  valy = 0 ;
  }
    if (valx >= 180) {
  valx = 180 ;
  }
    if (valx >= 180) {
  valx = 180 ;
  }
  xservo.write(valx);   // écriture de valx sur yservo
  yservo.write(valy);
  Serial.print(valx);  // écriture de valx sur le port série
  Serial.print(valy);
  
  delay(20);
  
}



____________________________
http://simple-duino.com
Back to top
Technoïde
Débutant

Offline

Joined: 28 Dec 2013
Posts: 6
Masculin
Niveau d'éléctronique: Débutant

PostPosted: Sun 25 May - 16:22 (2014)    Post subject: [Résolu] Commande de 2 servos par poussoir Reply with quote

Merci beaucoup ça marche mieux comm ça Okay
Back to top
Contenu Sponsorisé






PostPosted: Today at 14:29 (2019)    Post subject: [Résolu] Commande de 2 servos par poussoir

Back to top
Display posts from previous:   
Post new topic   Reply to topic    Simple-Duino Forum Index -> Arduino & Électronique -> Questions All times are GMT + 1 Hour
Page 1 of 1

 
Jump to:  

Index | Xooit.com free forum | Free support forum | Free forums directory | Report a violation | Conditions générales d'utilisation
Powered by phpBB
Propulsé par Simple-Duino