Bonjour,
Je reviens sur le sujet du coup j'ai le code qui fonctionne avec le bouton bicolore que voici :
#include <SCServo.h>
SCServo SERVO;
#define PINBOUTON 8
#define pinledBicoloreA 9
#define pinledBicoloreB 10
#define POS0 0
#define POS1 1000
#define SPEED 1000
#define IDSERVO 1
#define WAITINGTIME 2000
bool positionNumber = 0;
uint16_t servoPositions[2] = {POS0, POS1};
void setup() {
pinMode (PINBOUTON, INPUT_PULLUP); // Initialisation du pin de lecture du bouton
pinMode (pinledBicoloreA, OUTPUT); // Initialisation du pin d'une des 2 LED
pinMode (pinledBicoloreB, OUTPUT); // Initialisation du pin de l'autre LED
ledBicolore(positionNumber);
Serial.begin(1000000);
SERVO.pSerial = &Serial;
delay(500);
SERVO.EnableTorque(IDSERVO, true);
SERVO.WritePos(IDSERVO, servoPositions[positionNumber], SPEED); // Initialisation de la position du servo
}
void loop() {
if(!digitalRead(PINBOUTON)) {
positionNumber = !positionNumber;
ledBicolore(positionNumber);
SERVO.WritePos(IDSERVO, servoPositions[positionNumber], SPEED);
delay(WAITINGTIME);
}
}
void ledBicolore(int position)
{
if (position == 0) // Allumer rouge
{
digitalWrite(pinledBicoloreA, LOW);
digitalWrite(pinledBicoloreB, HIGH);
}
else // Allumer en vert
{
digitalWrite(pinledBicoloreA, HIGH);
digitalWrite(pinledBicoloreB, LOW);
}
}
Aujourd'hui j'ai besoin de changer le servo par un servo plus costaud Feetech
J'ai donc téléchargé la librairie et j'ai commencé à modifier le code (ci dessous) pour intégrer ce nouveau servo.
J'ai donc un code erreur que voici : exit status 1 'SCSERVO_H' was not declared in this scope
Je pense que le nom n'est pas reconnu par la librairie .. Vous en pensez quoi ?
#include <SCServo.h>
SMS_STS sms_sts;
#define PINBOUTON 8
#define pinledBicoloreA 9
#define pinledBicoloreB 10
#define POS0 0
#define POS1 1000
#define SPEED 1000
#define IDSERVO 1
#define WAITINGTIME 2000
bool positionNumber = 0;
uint16_t servoPositions[2] = {POS0, POS1};
void setup() {
pinMode (PINBOUTON, INPUT_PULLUP); // Initialisation du pin de lecture du bouton
pinMode (pinledBicoloreA, OUTPUT); // Initialisation du pin d'une des 2 LED
pinMode (pinledBicoloreB, OUTPUT); // Initialisation du pin de l'autre LED
ledBicolore(positionNumber);
Serial.begin(1000000);
SCSERVO_H.pSerial = &Serial;
delay(500);
SERVO.EnableTorque(IDSERVO, true);
SERVO.WritePos(IDSERVO, servoPositions[positionNumber], SPEED); // Initialisation de la position du servo
}
void loop() {
if(!digitalRead(PINBOUTON)) {
positionNumber = !positionNumber;
ledBicolore(positionNumber);
SCSERVO_H.WritePos(IDSERVO, servoPositions[positionNumber], SPEED);
delay(WAITINGTIME);
}
}
void ledBicolore(int position)
{
if (position == 0) // Allumer rouge
{
digitalWrite(pinledBicoloreA, LOW);
digitalWrite(pinledBicoloreB, HIGH);
}
else // Allumer en vert
{
digitalWrite(pinledBicoloreA, HIGH);
digitalWrite(pinledBicoloreB, LOW);
}
}
Merci