Código Arduino Brazo mecánico Botones y Potenciometro
Enviado por pepino1924 • 30 de Enero de 2019 • Práctica o problema • 282 Palabras (2 Páginas) • 156 Visitas
#include <Servo.h> // Incluimos la biblioteca Servo
Servo servo1;
Servo servo2;
Servo servo_3; // Definimos los servos que vamos a utilizar
Servo servo_4;
int arriba = 2;
int abajo = 3;
int adelante = 5;
int atras = 6;
int estado_arriba = 1;
int estado_abajo = 1;
int estado_adelante = 1;
int estado_atras = 1;
int angulo = 90;
int angulo1 = 90;
int potenciometro_1 = 0; // Pin usado para conectar el potenciómeto
int valor_potenciometro_1; // Esta variable definirá la posición del servo
int potenciometro_2 = 1;
int valor_potenciometro_2;
void setup() {
pinMode(arriba, INPUT);
pinMode(abajo, INPUT);
pinMode(adelante, INPUT);
pinMode(atras, INPUT);
servo1.attach(4);
servo1.write(0);
servo2.attach(7);
servo2.write(0);
servo_3.attach(9); // Difinimos el pines de señal para el servo
servo_4.attach(10); // Difinimos el pines de señal para el servo
}
void loop() {
estado_arriba = digitalRead(arriba);
estado_abajo = digitalRead(abajo);
estado_adelante = digitalRead(adelante);
estado_atras = digitalRead(atras);
if(estado_arriba == LOW)
{
angulo += 2;
}
if(estado_abajo == LOW)
{
angulo -= 2;
}
if(estado_adelante == LOW)
{
angulo1 += 2;
}
if(estado_atras == LOW)
{
angulo1 -= 2;
}
servo1.write(angulo);
delay(20);
servo2.write(angulo1);
delay(20);
valor_potenciometro_1 = analogRead(potenciometro_1);
// leemose valor del potenciometro (valor entre 0 y 1023)
valor_potenciometro_1 = map(valor_potenciometro_1, 0, 1023, 0, 180);
// valor proporcional a la escala del servomotor (valor entre 0 y 180)
servo_3.write(valor_potenciometro_1);
valor_potenciometro_2 = analogRead(potenciometro_2);
valor_potenciometro_2 = map(valor_potenciometro_2, 0, 1023, 0, 180);
servo_4.write(valor_potenciometro_2);
delay(10);
}
...