Bonjour,
Je voudrais savoir s'il est possible de créer une boucle for qui prend 2 conditions.
J'ai vu que c'était possible avec les boucles if et l'opérateur &&.
Je commence avec les servomoteurs. J'ai essayé ceci :
#include <Servo.h>
Servo myservo; // create servo object to control a servo
Servo myservo2;
int pos = 90; // variable to store the servo position
int pos2 = 90;
void setup() {
myservo.attach(9); // attaches the servo on pin 9 to the servo object
myservo2.attach(6);
}
void loop() {
for (pos = 90; pos <= 180; pos += 1) { // goes from 0 degrees to 180 degrees in steps of 1 degree
for (pos2 = 90; pos2 <= 180; pos2 += 1) {
myservo.write(pos); // tell servo to go to position in variable 'pos'
delay(50); // waits 15ms for the servo to reach the position
myservo2.write(pos2);
delay(50);
}
}
}
mais dans ce cas j'ai seulement myservo2 qui bouge et pas du tout myservo.
J'ai aussi essayé ca:
Le premier argument de for est exécuté à l'initialisation de la boucle
Le second argument est la condition de maintient dans la boucle et il est testé à chaque début de boucle. On reste dans la boucle si la condition est vrai.
Le troisième argument est exécuté à la fin de chaque boucle
Le premier et le troisième argument peuvent contenir plusieurs éléments séparés par des virgules
for(i = 0, j = 25; i < 10; i++, j--){
Ce code initialise i et j en début de boucle et incrémente/décrémente les variables à chaque itération
Si tu veux avoir plusieurs conditions de sortie il faut faire une opération booléenne qui soit vrai pour rester dans la boucle
void loop() {
for (pos = 90; pos <= 180; pos += 1) { // goes from 0 degrees to 180 degrees in steps of 1 degree
myservo.write(pos); // tell servo to go to position in variable 'pos'
myservo2.write(pos);
delay(50); // waits 15ms for the servo to reach the position
}
}
Il faut que tu précises ce que tu veux si ce n'est pas ça.