Buenos días.
Busco el apoyo para un proyecto que estoy realizando se trata de:
de una banda transportadora con tres sensores infrarrojos los cuales identifican caja por tamaño chicas,medias y grandes e ir contando respectivamente por tamaño y mostrarlas en una lcd
El detalle que tengo es el siguiente:
-si sensor1 se activa el motor se detiene, que cuente la caja y avance aunque se active sensor2 sensor3
-si sensor2 se activa el motor se detiene, que cuente la caja y avance aunque se active sensor1 sensor3
-si sensor3 se activa el motor se detiene, que cuente la caja y avance aunque se active sensor1 sensor2
les agradeceria muchisimo su ayuda buen dia.
#include <LiquidCrystal.h>
LiquidCrystal lcd(8,9,10,11,12,13); //rs,e,d4,d5,d6,d7
int Motor=4; // declaramos las variables de tipo entero
int sensor1=5;
int sensor2=6;
int sensor3=7;
int estado1=0,estado2=0,estado3=0;
int cont1=0, cont2=0, cont3=0;
void setup() {
lcd.begin(16,2);
pinMode (Motor, OUTPUT); // designamos los pines como pines de salida y entrada
pinMode (sensor1, INPUT);
pinMode (sensor2, INPUT);
pinMode (sensor3, INPUT);
lcd.setCursor(0,0); // situamos el cursor el la posición 2 de la linea 0.
lcd.print("BANDA"); // escribimos en LCD
delay (2000);
lcd.clear();
Serial.begin(9600) ;
digitalWrite(Motor,HIGH);
}
void loop() {
estado1=digitalRead (sensor1);
if (estado1==HIGH)
{
digitalWrite(Motor,LOW);
digitalWrite(estado2,LOW);
digitalWrite(estado3,LOW);
cont1++;
while (estado1==HIGH)
{
estado1=digitalRead(sensor1);
}
}
if (estado1==LOW){
digitalWrite(Motor,HIGH);
}
///// fin de contador1
estado2=digitalRead (sensor2);
if (estado2==HIGH)
{
digitalWrite(Motor,LOW);
digitalWrite(estado1,LOW);
digitalWrite(estado3,LOW);
cont2++;
while (estado2==HIGH)
{
estado1=digitalRead(sensor2);
}
}
if (estado2==LOW){
digitalWrite(Motor,HIGH);
//////fin contador2
estado3=digitalRead (sensor3);
if (estado3==HIGH)
{
digitalWrite(Motor,LOW);
digitalWrite(estado1,LOW);
digitalWrite(estado2,LOW);
cont3++;
while (estado3==HIGH)
{
estado1=digitalRead(sensor3);
}
}
if (estado3==LOW){
digitalWrite(Motor,HIGH);
//////fin contador 3
///////// Datos de SEONSORES en LCD//////////////
////////////////////////////////////CAJAS CHICAS
lcd.setCursor(8,0);
lcd.print("C:");
lcd.setCursor (10,0);
lcd.print(cont1);
////////////////////////////////////////CAJAS MEDIANAS
lcd.setCursor(8,1);
lcd.print("M:");
lcd.setCursor(10,1);
lcd.print(cont2);
////////////////////////////////////////CAJAS GRANDES
lcd.setCursor(0,0);
lcd.print("G:");
lcd.setCursor(2,0);
lcd.print(cont3);
//////////////////////////////////////////
}