Aller au contenu


Photo
- - - - -

commande amortisseur vélo


  • Veuillez vous connecter pour répondre
191 réponses à ce sujet

#121 Sandro

Sandro

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 1 262 messages
  • Gender:Male

Posté 30 août 2021 - 06:04

Bonsoir,

le compilateur te dit quel est le problème (en anglais) :

'pinButton' was not declared in this scope

Ce qui veut dire que le compilateur ne connait pas 'pinButton' à cet endroit du code (si tu fais des programmes plus complexes, tu vera très vite les variables locales qui sont "visibles" que dans un bout du code, mais pour l'instant, dit toi juste que ça veut dire que "pinbutton" n'est pas définit dans ton code).

La raison est simple : tu déclare "ARDUINOPIN" avec le define, puis tu utilises "pinButton" : il faut que tu utilises le même nom partout : donc remplace l'un par l'autre partout dans le code


Aidez-nous à vous aider : partagez toutes les informations pertinentes : description précise du problème, contexte, schéma de câblage, liens vers la documentation des composants, votre code (ou encore mieux un code minimal reproduisant le bug), ...

Vous recevrez ainsi plus de réponses, et elles seront plus pertinentes.


#122 Melmet

Melmet

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 1 521 messages
  • Gender:Male
  • Location:Saint-Sozy (46200)

Posté 30 août 2021 - 06:12

C'est ton "pinBouton" l'erreur, il est déclarer nul part. (remplace pinButon par ARDUINOPIN)


Modifié par Melmet, 30 août 2021 - 06:13 .
trop tard :)

Ne demande jamais à un robot de faire ce que tu peux faire toi même. :nono: :laugh1:


#123 Ludo

Ludo

    Membre occasionnel

  • Membres
  • Pip
  • 88 messages

Posté 30 août 2021 - 06:40

C'est ton "pinBouton" l'erreur, il est déclarer nul part. (remplace pinButon par ARDUINOPIN)

Ok alors bien je n'ai plus d'erreur. du coup le bouton ne réagit pas aucun signal en retour .. 



#124 Sandro

Sandro

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 1 262 messages
  • Gender:Male

Posté 30 août 2021 - 08:41

Tu as bien ouvert le moniteur série (Outils->Moniteur Série)?

Et tu n'as rien qui s'affiche?

 

Si c'est bien ça :

- vérifie que dans le moniteur est bien sur "9600 baud" (en bas à droite)

- si tu n'as toujours rien qui s'affiche dans le moniteur série, essaye d'ajouter la ligne suivante juste après la ligne "Serial.begin" :

Serial.println("ok, le setup fonctionne bien");

 


Aidez-nous à vous aider : partagez toutes les informations pertinentes : description précise du problème, contexte, schéma de câblage, liens vers la documentation des composants, votre code (ou encore mieux un code minimal reproduisant le bug), ...

Vous recevrez ainsi plus de réponses, et elles seront plus pertinentes.


#125 Ludo

Ludo

    Membre occasionnel

  • Membres
  • Pip
  • 88 messages

Posté 30 août 2021 - 10:13

Tu as bien ouvert le moniteur série (Outils->Moniteur Série)?

Et tu n'as rien qui s'affiche?

 

Si c'est bien ça :

- vérifie que dans le moniteur est bien sur "9600 baud" (en bas à droite)

- si tu n'as toujours rien qui s'affiche dans le moniteur série, essaye d'ajouter la ligne suivante juste après la ligne "Serial.begin" :

Serial.println("ok, le setup fonctionne bien");

et bien non je n'avais pas fait ça. et effectivement ça fonctionne. j'ai une ligne de ON et quand j'appuis et le nombre de est variable selon comment j'appuie mais une impulsion Classic est de 1 OFF à 2 OF qui passe.

je pense que c'est bon signe du coup ?.. Du coup quelle code faudrait-il mettre dans ma formule ? 

 

Merci beaucoup 



#126 Ludo

Ludo

    Membre occasionnel

  • Membres
  • Pip
  • 88 messages

Posté 31 août 2021 - 11:13

Du coup je fais un test avec un code simple pour faire fonctionner le servo voir ci dessous : 

// Ardwinner Servo-003-Bouton.// code Arduino pour déclencher un servomoteur à partir d’un bouton poussoir pour lui faire un prendre un angle précis (ici 90°), puis revenir à sa position initiale (ici 0°).


// note de montage : brancher le bouton poussoir sur la PIN 5V, la PIN Ground et la PIN 8, brancher le servomoteur sur la PIN 5V, la PIN Ground et la PIN 9.


#include <SCServo.h>                   // permet de faire appel à la bibliothèque Servo


SCServo SERVO;                       // crée une constante appelée « monservo » utilisable par la bibliothèque Servo.
                                      // (vous pouvez la nommez comme vous voulez, exemple : servo_1, mais pensez à le remplacer dans le programme).


int bouton = 8;                       // déclare le bouton poussoir sur la PIN 8.
int etatbouton = 0;                   // variable représentant le bouton, soit ouvert ou fermé, ici au départ à 0 donc fermé.


void setup() {
pinMode (ARDUINOPIN, INPUT_PULLUP);             // on indique que le bouton est une entrée.
SCServo SERVO;                   // commande de la bibliothèque Servo, qui consiste à « attacher » le servomoteur à la PIN 9
}


void loop() {
  etatbouton = digitalRead (bouton);  // On lit l’état du bouton pour savoir s’il est ouvert ou fermé


  if (etatbouton==HIGH) {            // Si la variable “etatbouton” est ouverte, à l’état haut, donc laisse passer le courant.
  SERVO.WritePos(1,0x0000, 3000);// Servo ID:1, rotate to the position:0x000
  SERVO.WritePos(2, 0x0000, 3000);// Servo ID:1, rotate to the position:0x000
  delay(3000);


}}
 
 
et j'ai un nouveau message d'erreur: /Users/ludo/Downloads/Servo_-_003_-Bouton/Servo_-_003_-Bouton.ino: In function 'void setup()':
Servo_-_003_-Bouton:15:10: error: 'ARDUINOPIN' was not declared in this scope
 pinMode (ARDUINOPIN, INPUT_PULLUP);             // on indique que le bouton est une entrée.
          ^~~~~~~~~~
/Users/ludo/Downloads/Servo_-_003_-Bouton/Servo_-_003_-Bouton.ino:15:10: note: suggested alternative: 'ARDUINO'
 pinMode (ARDUINOPIN, INPUT_PULLUP);             // on indique que le bouton est une entrée.
          ^~~~~~~~~~
          ARDUINO
exit status 1
'ARDUINOPIN' was not declared in this scope
 
Il s'agit donc de 'ARDUINOPIN' mais quoi mettre à la place ?? Je comprends pas merci 


#127 Sandro

Sandro

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 1 262 messages
  • Gender:Male

Posté 31 août 2021 - 12:58

Bonjour,
Il faut mettre le nom de la variable dans laquelle tu défini le numéro de pin du bouton. Ici, c'est juste "bouton". (Même si je te suggère d'utiliser un nom plus explicite comme "pinBouton" pour éviter la confusion avec l'état du bouton)

Aidez-nous à vous aider : partagez toutes les informations pertinentes : description précise du problème, contexte, schéma de câblage, liens vers la documentation des composants, votre code (ou encore mieux un code minimal reproduisant le bug), ...

Vous recevrez ainsi plus de réponses, et elles seront plus pertinentes.


#128 Sandro

Sandro

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 1 262 messages
  • Gender:Male

Posté 31 août 2021 - 12:58

Bonjour,
Il faut mettre le nom de la variable dans laquelle tu défini le numéro de pin du bouton. Ici, c'est juste "bouton". (Même si je te suggère d'utiliser un nom plus explicite comme "pinBouton" pour éviter la confusion avec l'état du bouton)

Aidez-nous à vous aider : partagez toutes les informations pertinentes : description précise du problème, contexte, schéma de câblage, liens vers la documentation des composants, votre code (ou encore mieux un code minimal reproduisant le bug), ...

Vous recevrez ainsi plus de réponses, et elles seront plus pertinentes.


#129 Ludo

Ludo

    Membre occasionnel

  • Membres
  • Pip
  • 88 messages

Posté 31 août 2021 - 01:16

Bonjour,
Il faut mettre le nom de la variable dans laquelle tu défini le numéro de pin du bouton. Ici, c'est juste "bouton". (Même si je te suggère d'utiliser un nom plus explicite comme "pinBouton" pour éviter la confusion avec l'état du bouton)

Bonjour, merci pour votre réponse: Du coup j'ai fait le changement voir ci dessous :

#include <SCServo.h>                   // permet de faire appel à la bibliothèque Servo

SCServo SERVO;                       // crée une constante appelée « monservo » utilisable par la bibliothèque Servo.
                                      // (vous pouvez la nommez comme vous voulez, exemple : servo_1, mais pensez à le remplacer dans le programme).


int bouton = 8;                       // déclare le bouton poussoir sur la PIN 8.
int etatbouton = 0;                   // variable représentant le bouton, soit ouvert ou fermé, ici au départ à 0 donc fermé.


void setup() {
pinMode (bouton, INPUT_PULLUP);             // on indique que le bouton est une entrée.
SCServo SERVO;                   // commande de la bibliothèque Servo, qui consiste à « attacher » le servomoteur à la PIN 9
}


void loop() {
  etatbouton = digitalRead (bouton);  // On lit l’état du bouton pour savoir s’il est ouvert ou fermé


  if (etatbouton==HIGH) {            // Si la variable “etatbouton” est ouverte, à l’état haut, donc laisse passer le courant.
  SERVO.WritePos(1,0x0000, 3000);// Servo ID:1, rotate to the position:0x000
  SERVO.WritePos(2, 0x0000, 3000);// Servo ID:1, rotate to the position:0x000
  delay(3000);


}}
Je n'ai donc plus de message d'erreur mais ça ne fonctionne pas. rien ne se passe .. décidément ce n'est vraiment pas simple 


#130 Ludo

Ludo

    Membre occasionnel

  • Membres
  • Pip
  • 88 messages

Posté 31 août 2021 - 01:54

éventuellement je me dit que pour gagner du temps il serait préférable de se mettre sur le gros programme qui était un peu compliqué .. mais au moins ça sera plus rapide car si à chaque programme c'est compliqué.. ça ne fait pas avancer. Autant allé droit au but .. 

 

Merci pour votre aide. 



#131 Sandro

Sandro

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 1 262 messages
  • Gender:Male

Posté 31 août 2021 - 04:09

Plusieurs points :
-Est-ce que tu comprends à quoi correspond chacune des lignes de ton code? Si non, alors dis nous lesquelles tu ne comprends pas, et on te les expliquera
- dans ton code, tu as deux lignes "SERVO.WritePos" qui se suivent, qui s'adressent à deux moteurs différents (ID=1 et ID=2), ce qui ne fait pas beaucoup de sens vu que tu as un seul servi
- fais attention à bien modifier les commentaires si tu modifié le code correspondant : j'ai vu plusieurs fois des commentaires qui sont faux (par exemple, dans le commentaire du second SERVO.WritePos, tu as mis qu'il s'agit du servo 1,alors que tu commande celui avec l'ID 2)
- pense à utiliser la valise code pour ton code, c'est beaucoup plus lisible

Et enfin, pour ton problème en lui-même : quand le bouton est enfoncé, tu dis au servo d'aller à la position 0 (je connais pas ces moteurs en particulier, soit il s'agit d'une position fixe, soit de la position à l'allumage). Par contre, quand le bouton est relâché, tu ne donne aucune nouvelle destination.
Donc initialement le bouton est en position 0,et tu ne lui dit jamais d'aller ailleurs : il n'a donc aucune raison de bouger

Aidez-nous à vous aider : partagez toutes les informations pertinentes : description précise du problème, contexte, schéma de câblage, liens vers la documentation des composants, votre code (ou encore mieux un code minimal reproduisant le bug), ...

Vous recevrez ainsi plus de réponses, et elles seront plus pertinentes.


#132 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 9 969 messages
  • Gender:Male
  • Location:Anglet

Posté 31 août 2021 - 05:43

éventuellement je me dit que pour gagner du temps il serait préférable de se mettre sur le gros programme qui était un peu compliqué .. mais au moins ça sera plus rapide car si à chaque programme c'est compliqué.. ça ne fait pas avancer. Autant allé droit au but .. 

 

Merci pour votre aide. 

 

Ici nous t'aidons gratuitement pour que tu comprennes ce que tu fais. 
On est pas là pour te pondre le programme qui fonctionne ... 

Et pour comprendre ce que tu fais mieux vaut aller étape par étape.  

Si tu maîtrisais parfaitement les deux codes précédant et la base du langage arduino / la logique du codage, normalement tu aurais du réussir sans trop de problème à faire le code qui correspond à ton cas. 
Si tu butes tu as besoin de mieux maîtriser ce que tu fais. 
 


Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être ! 
Si vous souhaitez un robot pilotable par internet n'hésitez pas à visiter www.vigibot.com et à lire le sous forum dédié à vigibot!

 

Les réalisations de Mike118  

 

 

 


#133 Ludo

Ludo

    Membre occasionnel

  • Membres
  • Pip
  • 88 messages

Posté 31 août 2021 - 05:51

 

Ici nous t'aidons gratuitement pour que tu comprennes ce que tu fais. 
On est pas là pour te pondre le programme qui fonctionne ... 

Et pour comprendre ce que tu fais mieux vaut aller étape par étape.  

Si tu maitrisais parfaitement les deux codes précédant et la base du langage arduino / la logique du codage, normalement tu aurais du réussir sans trop de problème à faire le code qui correspond à ton cas. 
Si tu but tu as besoin de mieux maîtriser ce que tu fais. 

 

Je suis tout à fait d'accord je ne maîtrise pas et c'est bien pour cela que je suis sur le forum. 

 

J'ai juste un souci de temps c'est pour cela que je cherche des solutions rapide. tout à un compte et je le comprend bien, pas de souci. 

 

Je vous remercie pour les pistes  :thank_you:



#134 Ludo

Ludo

    Membre occasionnel

  • Membres
  • Pip
  • 88 messages

Posté 31 août 2021 - 06:34

Plusieurs points :
-Est-ce que tu comprends à quoi correspond chacune des lignes de ton code? Si non, alors dis nous lesquelles tu ne comprends pas, et on te les expliquera
- dans ton code, tu as deux lignes "SERVO.WritePos" qui se suivent, qui s'adressent à deux moteurs différents (ID=1 et ID=2), ce qui ne fait pas beaucoup de sens vu que tu as un seul servi
- fais attention à bien modifier les commentaires si tu modifié le code correspondant : j'ai vu plusieurs fois des commentaires qui sont faux (par exemple, dans le commentaire du second SERVO.WritePos, tu as mis qu'il s'agit du servo 1,alors que tu commande celui avec l'ID 2)
- pense à utiliser la valise code pour ton code, c'est beaucoup plus lisible

Et enfin, pour ton problème en lui-même : quand le bouton est enfoncé, tu dis au servo d'aller à la position 0 (je connais pas ces moteurs en particulier, soit il s'agit d'une position fixe, soit de la position à l'allumage). Par contre, quand le bouton est relâché, tu ne donne aucune nouvelle destination.
Donc initialement le bouton est en position 0,et tu ne lui dit jamais d'aller ailleurs : il n'a donc aucune raison de bouger

Je comprend vaguement après il y a l'explication à droite. Il faut que je me penche sur cette fameuse valise code qui faut que je trouve .. :) 

 

Ok je comprend, par contre je ne comprend pas commun et où je commande celui avec l'ID2 ? 

 

Merci 



#135 Sandro

Sandro

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 1 262 messages
  • Gender:Male

Posté 31 août 2021 - 09:30

Pour la balise code, elle est sur la seconde ligne d'icones, et ressemble à "< >"

 

Pour la commande SERVO.WritePos, le format de la fonction est le suivant :

SERVO.WritePos(ID, Position, Durée)

Donc on communique avec le servo avec l'identifiant ID, auquel on dit de se rendre à la position Position en une durée Durée.

 

Donc quand tu écris le code suivant :

  SERVO.WritePos(1,0x0000, 3000);// Servo ID:1, rotate to the position:0x000
  SERVO.WritePos(2, 0x0000, 3000);// Servo ID:1, rotate to the position:0x000
  delay(3000);

ça revient à dire au servo avec l'ID 1 d'aller en position 0 en 3s (ie 3000ms) ; puis de dire au servo avec l'ID 2 d'aller à la position 0 en 3s (ie 3000ms), puis d'attendre 3s (ie 3000ms) (ce qui laisse le temps aux servos de bouger)

 

En l'occurance, vu que tu as un seul servo, ça ne sert à rien de s'adresser à la fois au servo avec l'ID 1 et à celui avec l'ID 2 vu que tu n'en a qu'un seul (il faut donc utiliser l'ID de ton servo).

 

En revanche, il faut que tu fasses bouger ton servo entre 2 positions si tu veux voir quelque chose.
 

Par exemple le code suivant devrait faire faire des allers-retours au servo avec l'ID 1 (3s pour chaque direction) :

#include <SCServo.h>                   // permet de faire appel à la bibliothèque Servo
 
SCServo SERVO;                       // crée une constante appelée « monservo » utilisable par la bibliothèque Servo.
                                      // (vous pouvez la nommez comme vous voulez, exemple : servo_1, mais pensez à le remplacer dans le programme).
void setup() {

}
 
void loop() {
  SERVO.WritePos(1,0, 3000);// Servo ID:1, tourner vers la position 0 en 3s
  delay(3000);
  SERVO.WritePos(1,1000, 3000);// Servo ID:1, tourner vers la position 1000 en 3s
  delay(3000);
}

 

 


Aidez-nous à vous aider : partagez toutes les informations pertinentes : description précise du problème, contexte, schéma de câblage, liens vers la documentation des composants, votre code (ou encore mieux un code minimal reproduisant le bug), ...

Vous recevrez ainsi plus de réponses, et elles seront plus pertinentes.


#136 Ludo

Ludo

    Membre occasionnel

  • Membres
  • Pip
  • 88 messages

Posté 31 août 2021 - 09:40

Pour la balise code, elle est sur la seconde ligne d'icones, et ressemble à "< >"

 

Pour la commande SERVO.WritePos, le format de la fonction est le suivant :

SERVO.WritePos(ID, Position, Durée)

Donc on communique avec le servo avec l'identifiant ID, auquel on dit de se rendre à la position Position en une durée Durée.

 

Donc quand tu écris le code suivant :

  SERVO.WritePos(1,0x0000, 3000);// Servo ID:1, rotate to the position:0x000
  SERVO.WritePos(2, 0x0000, 3000);// Servo ID:1, rotate to the position:0x000
  delay(3000);

ça revient à dire au servo avec l'ID 1 d'aller en position 0 en 3s (ie 3000ms) ; puis de dire au servo avec l'ID 2 d'aller à la position 0 en 3s (ie 3000ms), puis d'attendre 3s (ie 3000ms) (ce qui laisse le temps aux servos de bouger)

 

En l'occurance, vu que tu as un seul servo, ça ne sert à rien de s'adresser à la fois au servo avec l'ID 1 et à celui avec l'ID 2 vu que tu n'en a qu'un seul (il faut donc utiliser l'ID de ton servo).

 

En revanche, il faut que tu fasses bouger ton servo entre 2 positions si tu veux voir quelque chose.
 

Par exemple le code suivant devrait faire faire des allers-retours au servo avec l'ID 1 (3s pour chaque direction) :

#include <SCServo.h>                   // permet de faire appel à la bibliothèque Servo
 
SCServo SERVO;                       // crée une constante appelée « monservo » utilisable par la bibliothèque Servo.
                                      // (vous pouvez la nommez comme vous voulez, exemple : servo_1, mais pensez à le remplacer dans le programme).
void setup() {

}
 
void loop() {
  SERVO.WritePos(1,0, 3000);// Servo ID:1, tourner vers la position 0 en 3s
  delay(3000);
  SERVO.WritePos(1,1000, 3000);// Servo ID:1, tourner vers la position 1000 en 3s
  delay(3000);
}

Ok d'accord je pense comprend Merci de prendre le temps. 

 

Du coup je viens de tester et j'ai de nouveau un message d'erreur : 

 

/Users/ludo/Documents/Arduino/test_amorto_3_31_08/test_amorto_3_31_08.ino: In function 'void loop()':
test_amorto_3_31_08:13:13: error: expected ';' at end of input
   delay(3000)
             ^
test_amorto_3_31_08:13:13: error: expected '}' at end of input
exit status 1
expected ';' at end of input
 
 
Ce rapport pourrait être plus détaillé avec
l'option "Afficher les résultats détaillés de la compilation"
activée dans Fichier -> Préférences.
 
et dans ton exemple il n'y a pas d'info sur le bouton ? 


#137 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 9 969 messages
  • Gender:Male
  • Location:Anglet

Posté 31 août 2021 - 09:58

 

 

 

 In function 'void loop()':
test_amorto_3_31_08:13:13: error: expected ';' at end of input
   delay(3000)
             ^
 

 

Traduction littérale : 

Dans la fonction void loop du code test_amorto_3_31_08 
Erreur : Il est attendu ' ; "  à la fin de la ligne. 
 " delay(3000) "  ... 
 

... 

...

...

Ou dit autrement : Il manque un point virgule "; " à la fin de la ligne ' delay(3000) ' . 
 

delay(3000);   // Ceci est une ligne de code lisible écrite dans une balise code

Pour ce qui est de la balise code : elle est présente dans les différentes boutons pour l'éditions du message l'icone : < > 

delay(3000); // Ceci est une ligne de code beaucoup moins lisible sans balise code ...


Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être ! 
Si vous souhaitez un robot pilotable par internet n'hésitez pas à visiter www.vigibot.com et à lire le sous forum dédié à vigibot!

 

Les réalisations de Mike118  

 

 

 


#138 Sandro

Sandro

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 1 262 messages
  • Gender:Male

Posté 01 septembre 2021 - 09:35

Bonjour,

comme l'a dit Mike, le message dit qu'il manque un point virgule à la fin de la ligne 13 (la dernière ligne avec du texte), celle avec "delay". Vérifie si tu n'as pas enlevée le point virgule par mégarde.

 

Et en effet, ce code n'utilise pas le bouton : c'est juste pour te montrer qu'il faut deux positions différentes pour faire tourner le moteur (et au passage, ça te permettra de vérifier si le moteur répond à l'ID 1, sinon il faudra trouver quel est son ID)


Aidez-nous à vous aider : partagez toutes les informations pertinentes : description précise du problème, contexte, schéma de câblage, liens vers la documentation des composants, votre code (ou encore mieux un code minimal reproduisant le bug), ...

Vous recevrez ainsi plus de réponses, et elles seront plus pertinentes.


#139 Ludo

Ludo

    Membre occasionnel

  • Membres
  • Pip
  • 88 messages

Posté 01 septembre 2021 - 10:51

Bonjour,

comme l'a dit Mike, le message dit qu'il manque un point virgule à la fin de la ligne 13 (la dernière ligne avec du texte), celle avec "delay". Vérifie si tu n'as pas enlevée le point virgule par mégarde.

 

Et en effet, ce code n'utilise pas le bouton : c'est juste pour te montrer qu'il faut deux positions différentes pour faire tourner le moteur (et au passage, ça te permettra de vérifier si le moteur répond à l'ID 1, sinon il faudra trouver quel est son ID)

Oui ok j'ai compris du coup le " ; " est OK et il n'y a plus d'erreur . une fois téléversé il ne se passe rien.. 

 

Il s'agirait donc d'un souci de ID 

 

j'ai donc rajouté a void setup :

{

Serial.begin(1000000);
  SERVO.pSerial = &Serial;
  delay(500);
  SERVO.EnableTorque(1, 1);
 
et la ça fonctionne. Ça fait du bien. 
 
Du coup il faudrait que je puisse intégrer le bouton a cela .. 


#140 Ludo

Ludo

    Membre occasionnel

  • Membres
  • Pip
  • 88 messages

Posté 01 septembre 2021 - 12:02

du coup voila :

 

j'ai modifié le programme :

SCServo SERVO; // crée une constante appelée « monservo » utilisable par la bibliothèque Servo.

int bouton = 8;
int etatbouton = 0;
                                    
void setup() 
{


Serial.begin(1000000);
  SERVO.pSerial = &Serial;
  delay(500);
  SERVO.EnableTorque(1, 1);
}


void loop() {
  SERVO.WritePos(1,0, 1000);// Servo ID:1, tourner vers la position 0 en 3s
  delay(2000);
  SERVO.WritePos(1,1000, 1000);// Servo ID:1, tourner vers la position 1000 en 3s
  delay(2000);
}
il n'y a pas d'erreur mais ça ne fonctionne pas. il ne reconnait pas le bouton.. Avez vous des idées? 





0 utilisateur(s) li(sen)t ce sujet

0 members, 0 guests, 0 anonymous users