int estadoanterior=0;
int estadoanterior2=0;
int estadoanterior3=0;
int estadoanterior4=0;
int estadoanterior1=0;
int sensor1=2;
int sensor2=3;
int sensor3=4;
int sensor4=5;
int stopper1=6;
int stopper2=7;
int stopper3=8;
int zona1=0;
int zona2=0;
int zona3=0;
int zona4=0;
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
//Crear el objeto lcd dirección 0x3F y 16 columnas x 2 filas
LiquidCrystal_I2C lcd(0x20,16,2); //
LiquidCrystal_I2C lcd2(0x27,16,2); //
void setup() {
// Inicializar el LCD
lcd.init();
//Encender la luz de fondo.
lcd.backlight();
// Escribimos el Mensaje en el LCD.
lcd.setCursor(0,0);
lcd.print("CONVEYOR T88be");
lcd.setCursor(0,1);
lcd.print("SECUENCIA");
pinMode(sensor1, INPUT);
pinMode(sensor2, INPUT);
pinMode(sensor3, INPUT);
pinMode(sensor4, INPUT);
pinMode(stopper1, OUTPUT);
pinMode(stopper2, OUTPUT);
pinMode(stopper3, OUTPUT);
digitalWrite(stopper1, HIGH);
digitalWrite(stopper2, HIGH);
digitalWrite(stopper3, HIGH);
}
void monitoreo () {
int lectura= digitalRead(sensor1);
if (lectura!=estadoanterior){
if (lectura== HIGH){
delay(100);
zona1=1;
}}
int lectura1= digitalRead(sensor2);
if (lectura1!=estadoanterior1){
if (lectura1== HIGH){
delay(100);
zona2=1;
}}
int lectura2= digitalRead(sensor3);
if (lectura2!=estadoanterior2){
if (lectura2== HIGH){
delay(100);
zona3=1;
}}
int lectura3= digitalRead(sensor4);
if (lectura3!=estadoanterior3){
if (lectura3== HIGH){
delay(100);
zona4=1;
}}}
void Secuencia (){
if (zona1==1 && zona2==0 && zona3==0 && zona4==0){
delay(1000);
digitalWrite(stopper1, LOW);
delay(1000);
digitalWrite(stopper1, HIGH);
delay(1000);
digitalWrite(stopper2, LOW);
delay(1000);
digitalWrite(stopper2, HIGH);
delay(1000);
digitalWrite(stopper3, LOW);
delay(1000);
digitalWrite(stopper3, HIGH);
zona1=0;
}
if (zona1==1 && zona2==0 && zona3==0 && zona4==1){
delay(1000);
digitalWrite(stopper1, LOW);
delay(1000);
digitalWrite(stopper1, HIGH);
delay(1000);
digitalWrite(stopper2, LOW);
delay(1000);
digitalWrite(stopper2, HIGH);
zona1=0;
}
if (zona1==1 && zona2==0 && zona3==1 && zona4==1){
delay(1000);
digitalWrite(stopper1, LOW);
delay(1000);
digitalWrite(stopper1, HIGH);
delay(1000);
digitalWrite(stopper2, LOW);
delay(1000);
digitalWrite(stopper2, HIGH);
}
if (zona1==1 && zona2==1 && zona3==1 && zona4==1){
delay(1000);
digitalWrite(stopper1, HIGH);
delay(1000);
digitalWrite(stopper2, HIGH);
}}
void loop() {
monitoreo ();
Secuencia ();
}