J'essaie d'obtenir un mouvement continu (180 à 0 et arrière de 0 à 180) d'un servo lorsque j'appuie sur un bouton de la télécommande et que j'arrête SEULEMENT quand j'appuie sur l'autre bouton. Jusqu'à présent, je l'ai fait bouger en continu, mais ça ne s'arrête pas quand j'appuie sur le bouton 'stop'. Je sais que c'est à cause de la boucle while. Cependant, j'ai essayé switch-case, si déclaration, rien n'a fonctionné jusqu'à présent. S'il vous plaît aider, tous les conseils pour le faire fonctionner est apprécié.Servo Arduino et télécommande IR
#include <Servo.h>
#define code1 2534850111 //decimal value of button 1
#define code3 16724175 //decimal value of button 1
#define code 4294967295 //random value
#define code2 16738455 //decimal value of button 0
#define code4 3238126971 //decimal value of button 0
Servo myservo; // servo object
int RECV_PIN = 11; //receiveing pin IR remote
int pos = 0;
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup() {
Serial.begin(9600);
irrecv.enableIRIn(); //start the receiver
myservo.attach(9); //servo connect to pin 9
pinMode(2, OUTPUT); //LED connect to pin 2
}
void loop() {
if(irrecv.decode(&results)){
// if(results.value == code1 || results.value == code3){
while(results.value == code1 || results.value == code3){
digitalWrite(2,HIGH); //turn the led on
for(pos = 0; pos <= 180; pos += 1){ //servo goes form 0 to 180 degrees in steps of 1 degree
myservo.write(pos);
delay(7);
}
for(pos = 180; pos >= 0; pos -= 1){ //servo goes back from 180 to 0 degrees with 1 degree step
myservo.write(pos);
delay(7);
}
}
while(results.value == code2 || results.value == code4){
digitalWrite(2, LOW); // turn the led off
myservo.write(pos);
delay(15);
break;
}
Serial.println(results.value, DEC); //show the decimal value of the pressed button
irrecv.resume(); //receive the next value
}
}
S'il vous plaît modifier votre question et montrez-nous le code que vous avez actuellement. Sans cela (et souvent un schéma de câblage), nous ne pouvons vraiment pas vous aider. – stevieb
Ma boule de cristal ne me dit rien au sujet de votre code ... :( –
Désolé, je viens d'apprendre ce domaine.Je pensais qu'il y avait un meilleur moyen d'attacher les codes autres que les 4 espaces dans chaque ligne.Mais ce n'est pas le problème, j'espère que vous pouvez m'aider maintenant :) – theagleye