#include <ESP32Servo.h>
//Leds de la placa
const int led1 = 23;
const int led2 = 22;
const int led3 = 21;
const int led4 = 19;
//Los cosos de los botones
const int btn1 = 13;
const int btn2 = 12;
const int btn3 = 14;
const int btn4 = 27;
//Pin del Servomotor
const int servoPin1 = 2;
const int servoPin2 = 5;
Servo myServo1;
Servo myServo2;
//Declaramos el pin del zumbador
int pinZumbador= 4;
//Inicializamos las variables de la salida pwm
int canal=0, frec=2000, resolucion=8;
void setup()
{
Serial.begin(9600);
/* //Inicializamos la salida del pwm
ledcSetup(canal,frec,resolucion);
//Declaramos pin donde se conecta el zumbador
ledcAttachPin(pinZumbador, 0); */
pinMode(btn1,INPUT);
pinMode(btn2, INPUT);
pinMode(btn3,INPUT);
pinMode(btn4, INPUT);
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);
myServo1.attach(servoPin1);
myServo2.attach(servoPin2);
}
void loop()
{
//Estado de los botones
int estado_btn1 = digitalRead(btn1);
int estado_btn2 = digitalRead(btn2);
int estado_btn3 = digitalRead(btn3);
int estado_btn4 = digitalRead(btn4);
if(estado_btn1 == HIGH)
{
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
}
else if (estado_btn2 == HIGH)
{
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, HIGH);
digitalWrite(led4, HIGH);
}
else if (estado_btn3 == HIGH)
{
//Ciclo que incrementara de 0 a 10
for (int i = 0; i< 10; ++i)
{
/* //Enviamos un tono
ledcWriteTone(0, frecuenciaIncrementa);
//La frecuencia incrementara de 30 en 30
frecuenciaIncrementa += 30;
//Esperamos 1 segundo
delay(1000); */
}
}
else if(estado_btn4 == HIGH)
{
// Gira el servomotor de la derecha
myServo1.write(-180);
// Gira el servomotor de la izquierda
myServo2.write(180);
}
else
{
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
// Gira el servomotor 90 grados en sentido horario
myServo1.write(90);
myServo2.write(90);
}
}