//************PRÁCTICA 14***************
//Funcionamiento de un Servomotor y un potenciómetro
//para manejar el ángulo de giro del servo (girar 0 y 180 grados)
//importar libreria para servomotor
#include <Servo.h>
Servo servo1; //objeto de tipo servo, referenciar al servo/motor
int PINSERVO = 5; //Pin conectado el servo
//calcular la posición aproximada de los grados 0 y 180 (prueba y error)
int PULSOMIN = 500; //Pulso de (1000 microseg) 1ms equivale a 0 grados (500 casi exacto a 0 grados)
int PULSOMAX = 2400; //Pulso de (2000 microseg) 2ms equivale a 180 grados (2400 casi exacto a 180 grados)
int VALORPOT;
int ANGULO;
int POT;
void setup() {
//Los valores de la función se requiere que esten en microsegundos
servo1.attach(PINSERVO, PULSOMIN, PULSOMAX); //inicializar el servo (pinconectado,pulsomin,pulsomax)
//Las entradas analógicas no requieren inicialización
Serial.begin(9600);
}
void loop() {
//Leer el valor de entrada analógico del potenciómetro
VALORPOT = analogRead(POT); //leer el valor de entrada A0
ANGULO = map(VALORPOT, 0, 1023, 0, 180); //realiza la conversión de un determinado rango a otro valor proporcional en otro rango
servo1.write(ANGULO);
delay(20);
Serial.println(ANGULO);
//delay(200);
}