#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 base;
int angulo1;
int cajas;
// Crear un objeto Servo
Servo miServo;
Servo miServo1;
void setup() {
Serial.begin(115200);
// Configurar los pines
pinMode(boton1Pin, INPUT_PULLUP);
pinMode(boton2Pin, INPUT_PULLUP);
pinMode(ledPin, OUTPUT);
// Iniciar el servomotor en el pin 9
miServo.attach(9);
miServo1.attach(10);
miServo.write(90);
// 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);
cajas=0;
// 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
cajas++;
Serial.print("Piezas Chicas:");
Serial.println(cajas);
break;
case HIGH: // Si el primer botón está presionado
digitalWrite(ledPin, HIGH); // Encender el LED
delay(250);
digitalWrite(ledPin, LOW); // Apagar el LED
delay(250);
break;
default: // Si el primer botón no está presionado
//digitalWrite(ledPin, LOW); // Apagar el LED
break;
}
switch (boton2State) {
case LOW: // Si el segundo botón está presionado
// Hacer girar el servomotor de 0 a 180 grados
for (int base = 90; base <= 180; base+=10) {
miServo.write(base); // Establecer el ángulo del servomotor
Serial.print("Servo Base :");
Serial.println(base);
delay(50); // Esperar 15 ms
}
for (int base = 180; base >= 90; base-=10) {
miServo.write(base); // Establecer el ángulo del servomotor
Serial.print("Servo Base :");
Serial.println(base);
delay(50); // Esperar 15 ms
}
for (int angulo1 = 0; angulo1 <=90; angulo1++){
miServo1.write(angulo1);
delay(15);
}
break;
case HIGH: // Si el segundo botón está presionado
// Hacer girar el servomotor de 0 a 180 grados
//for (int angulo = 0; angulo <= 180; angulo++) {
miServo.write(0); // Establecer el ángulo del servomotor
miServo1.write(0);
// delay(15);
default: // Si el segundo botón no está presionado
// No hacer nada
break;
}
}