Buenas tardes,
No obstante he tratado diversas formas y he leido mucho en diversas fuentes, no puedo lograr detectar un error en el código que he estado modificando. Si alguien pudiera darle una mirada y decirme que hacer, lo agradecería mucho. Soy consciente que se trata de algo básico, pero mi falta de conocimiento no me permite avanzar.
Al intentar compilar, me da el siguiente error:
'Servo1' does not name a type
Este es el código:
#include <Servo.h>
Servo Servo1;
char t; //Caracter recibido por bluetooth
int ang = 90; //Ángulo inicial 90 grados
//char t;
void setup() {
pinMode(13,OUTPUT); //left motors forward
pinMode(12,OUTPUT); //left motors reverse
pinMode(11,OUTPUT); //right motors forward
pinMode(10,OUTPUT); //right motors reverse
pinMode(8,OUTPUT); //camera focus
pinMode(9,OUTPUT); //camera shutter
Servo1.attach(3,600,2400); //Servomotor: PIN3 & AP(min)=600 AP(max)=2400
Serial.begin(9600);
}
void loop() {
if(Serial.available()){
t = Serial.read();
Serial.println(t);
}
if(t == 'F'){ //move forward(all motors rotate in forward direction)
digitalWrite(13,HIGH);
digitalWrite(12,LOW);
digitalWrite(11,HIGH);
digitalWrite(10,LOW);
}
else if(t == 'B'){ //move reverse (all motors rotate in reverse direction)
digitalWrite(13,LOW);
digitalWrite(12,HIGH);
digitalWrite(11,LOW);
digitalWrite(10,HIGH);
}
else if(t == 'R'){ //turn right (left side motors rotate in forward direction, right side motors doesn't rotate)
digitalWrite(13,LOW);
digitalWrite(12,LOW);
digitalWrite(11,HIGH);
digitalWrite(10,LOW);
}
else if(t == 'L'){ //turn left (right side motors rotate in forward direction, left side motors doesn't rotate)
digitalWrite(13,HIGH);
digitalWrite(12,LOW);
digitalWrite(11,LOW);
digitalWrite(10,LOW);
}
else if(t == 'X'){ //STOP (all motors stop)
digitalWrite(13,LOW);
digitalWrite(12,LOW);
digitalWrite(11,LOW);
digitalWrite(10,LOW);
}
//Servo control
else if (t == 'a'){
ang = ang + 5; //Se aumenta el angulo en 5 grados
Serial.print(ang); //Se envia el valor al celular
}
else if (t == 'h'){
ang = ang - 5; //Se disminuye en 5 grados
Serial.print(ang);
}
ang = constrain(ang,0,180); //Se limita los valores del angulo
}
Servo1.write(ang); //Se ingresa el valor de "ang" en el Servo
delay(100); //tiempo de espera 100ms
}
else if(t == 'S'){ //Shutter start)
digitalWrite(8, HIGH); // Focus
delay(1500); // wait 1.5 second
digitalWrite(9, HIGH); // Ready!
delay(1000); // wait 1 second
digitalWrite(8, LOW); //( LOW para Pentax)activate optocouplers for focus/shutter.
digitalWrite(9, LOW); // ( LOW para Pentax)
}
delay(100);
}