Parlons Arduino > Débuter
commande servo par inter
philippe 31:
J'ai trouvé une solution afin de résoudre le problème. Je viens de faire la manip , le fonctionnement est bien
J'ai supprimé les 2 boucles dans le loop
A la place de
--- Code: ---void loop()
{
int numServo;
for (numServo = 0; numServo < 4; numServo++)
gereServo(numServo);
for (numServo = 0; numServo < 4; numServo++)
{
byte positionInterrupteur = digitalRead(brocheInterrupteurPourServo[i]);
if (positionInterrupteur == LOW) {
evenementServo_DROIT(numServo);
}
else {
evenementServo_DEVIE(numServo);
}
}
delay(3);
}
--- Fin du code ---
J'ai écrit
--- Code: ---void loop()
{
gereServo(3);
byte positionInterrupteur3 = digitalRead(brocheInterrupteurPourServo[3]);
if (positionInterrupteur3 == LOW)
{
evenementServo_DROIT(3);
}
else
{
evenementServo_DEVIE(3);
}
gereServo(2);
byte positionInterrupteur2 = digitalRead(brocheInterrupteurPourServo[2]);
if (positionInterrupteur2 == LOW)
{
evenementServo_DROIT(2);
}
else
{
evenementServo_DEVIE(2);
}
gereServo(1);
byte positionInterrupteur1 = digitalRead(brocheInterrupteurPourServo[1]);
if (positionInterrupteur1 == LOW)
{
evenementServo_DROIT(1);
}
else
{
evenementServo_DEVIE(1);
}
gereServo(0);
byte positionInterrupteur0 = digitalRead(brocheInterrupteurPourServo[0]);
if (positionInterrupteur0 == LOW)
{
evenementServo_DROIT(0);
}
else
{
evenementServo_DEVIE(0);
}
delay(3);
}
--- Fin du code ---
Ce n'est pas le top en écriture de programme , mais je ne sais pas faire mieux
Je veux bien qu'il soit corrigé
Jean-Luc:
Ah mais oui mais non.
Reprend le code avec la boucle. J'ai fait une erreur, j'ai mis i au lieu de numServo
--- Code: ---void loop()
{
int numServo;
for (numServo = 0; numServo < 4; numServo++)
gereServo(numServo);
for (numServo = 0; numServo < 4; numServo++) {
byte positionInterrupteur = digitalRead(brocheInterrupteurPourServo[numServo]);
if (positionInterrupteur == LOW) {
evenementServo_DROIT(numServo);
}
else {
evenementServo_DEVIE(numServo);
}
}
delay(3);
}
--- Fin du code ---
philippe 31:
Je viens de faire la modification . Le programme marche à merveille.
Je vais donc pouvoir commander mes aiguilles par des servos afin d'avoir des mouvements lents.
La commande se fera depuis RRTC via une centrale "Lenz" , des décodeurs d'accessoires "LTD" SA-DEC-4 et des cartes NANO .
Merci à vous pour votre aide , un merci particulier à Jean Luc
Cordialement
Philippe
DDEFF:
C'est une bonne nouvelle !
Enseignement : c'est toujours dur d'intervenir dans le programme d'un autre.
On n'ose pas le modifier en profondeur... :D
Navigation
[*] Page précédente
Utiliser la version classique