#include <Servo.h> // Librería para controlar el servomotor
// Definir pines
const int boton1Pin = 2; // Primer botón
const int boton2Pin = 3; // Segundo botón
const int ledPin = 13; // Pin del LED
int angulo;
int angulo1;
// Crear un objeto Servo
Servo miServo;
Servo miServo1;
void setup() {
// Configurar los pines
Serial.begin(115200);
pinMode(boton1Pin, INPUT_PULLUP);
pinMode(boton2Pin, INPUT_PULLUP);
pinMode(ledPin, OUTPUT);
// Iniciar el servomotor en el pin 9
miServo.attach(9);
miServo1.attach(10);
// Configuración inicial
digitalWrite(ledPin, LOW); // Apagar el LED inicialmente
}
void loop() {
// Leer el estado de los botones
int boton1State = digitalRead(boton1Pin);
int boton2State = digitalRead(boton2Pin);
Serial.print("Servo 1 :");
Serial.print(angulo);
Serial.print(" - ");
Serial.print("Servo 2 :");
Serial.println(angulo1);
// Control con switch case basado en el estado de los botones
switch (boton1State) {
case LOW: // Si el primer botón está presionado
digitalWrite(ledPin, HIGH); // Encender el LED
break;
default: // Si el primer botón no está presionado
break;
}
switch (boton2State) {
case LOW: // Si el segundo botón está presionado
// Hacer girar el servomotor de 0 a 180 grados
for (int angulo = 45; angulo <= 180; angulo++) {
miServo.write(angulo); // Establecer el ángulo del servomotor
delay(15); // Esperar 15 ms
}
for (int angulo1 = 90; angulo1 <= 180; angulo1++) {
miServo1.write(angulo1); // Establecer el ángulo del servomotor
delay(15); // Esperar 15 ms
break;
}
Serial.print("Servo 1 :");
Serial.print(angulo);
Serial.print(" - ");
Serial.print("Servo 2 :");
Serial.println(angulo1);
}
//default: // Si el segundo botón no está presionado
// No hacer nada
//break;
}