#include <Servo.h> Esto debe descomentarse en el arduino IDE, aqui llace como comentario unicamente para la simulación
int sensorInfrarrojo = 12; //Sensor en el pin 12
int sensorFinDeCarrera =8;
int relay =7;
int lecturaSensor;
Servo servoMotor1;//Haciendo uso de la libreria servo, basta unicamente con declarar el nombre de los servomotores a utilizar
Servo servoMotor2;
void setup() {
pinMode(sensorInfrarrojo, INPUT);
pinMode(sensorFinDeCarrera, INPUT);
pinMode(relay, OUTPUT);
servoMotor1.attach(5);//Servomotor 1 en el pin 5 //Aqui definimos el pin de 'signal'
servoMotor2.attach(3);//Servomotor 2 en el pin 3
servoMotor1.write(90);//se abre la primera compuerta
delay(1000);
servoMotor2.write(0);//se cierra la segunda compuerta
delay(1000);
}
void loop() {
servoMotor1.write(0);//se cierra la primera compuerta
delay(1000);
servoMotor2.write(90);//se abre la segunda compuerta
delay(1000);
lecturaSensor = digitalRead(sensorInfrarrojo);
if(lecturaSensor == 1)//Si la lectura del sensor es 1(0 en la práctica), entonces inicia el proceso de aplastado
{
digitalWrite(relay, HIGH); //El relevador activa el mecanismo mecánico, esto aplastara la lata en algún momento
int LecturaBoton = digitalRead(sensorFinDeCarrera);//Si se detecta el pulso en el fin de carrera el mecanismo de detiene
if(LecturaBoton == 1){
digitalWrite(relay, LOW);
delay(1000);
servoMotor1.write(90);//se abre la primera compuerta
delay(2000);
servoMotor2.write(0);//se cierra despues después del paso de la lata
delay(1000);
/*En la práctica, la segunda compuerta(que iria primero o se decida después) deja pasar una sola lata al area de preparación
en esta, el sensor infrarrojo al detectarla, abre la segunda compuerta que deja caer la lata y repite el proceso antes mencionado*/
}
}else{}//Esta excepción previene algún error por parte de la lectura del sensor infrarrojo para iniciar el sistema
}