Servomotor
Página 1 de 1 • Compartilhe •
Servomotor
Estou aprendendo a mexer com servos e vi no site do Arduino um código que você informa pelo serial o ângulo pro servo ficar. Ele é para dois servos, mas estou interessada somente em um. Esse é o código:
#include <Servo.h>
Servo servo1; Servo servo2;
void setup() {
pinMode(1,OUTPUT);
servo1.attach(14); //analog pin 0
//servo1.setMaximumPulse(2000);
//servo1.setMinimumPulse(700);
servo2.attach(15); //analog pin 1
Serial.begin(19200);
Serial.println("Ready");
}
void loop() {
static int v = 0;
if ( Serial.available()) {
char ch = Serial.read();
switch(ch) {
case '0'...'9':
v = v * 10 + ch - '0';
break;
case 's':
servo1.write(v);
v = 0;
break;
case 'w':
servo2.write(v);
v = 0;
break;
case 'd':
servo2.detach();
break;
case 'a':
servo2.attach(15);
break;
}
}
}
Alguém poderia me explicar o que eles fazem na parte do switch case? Tirando a parte do segundo servo. Por que eles precisam usar a letra 's' pra dar certo o comando? Eu tentei fazer parecido sem o 's' mas não deu certo.
#include <Servo.h>
Servo servo1; Servo servo2;
void setup() {
pinMode(1,OUTPUT);
servo1.attach(14); //analog pin 0
//servo1.setMaximumPulse(2000);
//servo1.setMinimumPulse(700);
servo2.attach(15); //analog pin 1
Serial.begin(19200);
Serial.println("Ready");
}
void loop() {
static int v = 0;
if ( Serial.available()) {
char ch = Serial.read();
switch(ch) {
case '0'...'9':
v = v * 10 + ch - '0';
break;
case 's':
servo1.write(v);
v = 0;
break;
case 'w':
servo2.write(v);
v = 0;
break;
case 'd':
servo2.detach();
break;
case 'a':
servo2.attach(15);
break;
}
}
}
Alguém poderia me explicar o que eles fazem na parte do switch case? Tirando a parte do segundo servo. Por que eles precisam usar a letra 's' pra dar certo o comando? Eu tentei fazer parecido sem o 's' mas não deu certo.
gabriellafn- Mensagens : 1
Pontos : 3
Data de inscrição : 07/07/2014
Página 1 de 1
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum