Buenas Noches
Una duda quiero hacer un sensor de presencia y un monedero los dos con fotodiodos y fototransistores, quiero que cuando detecte un objeto me mande inserte la moneda y que por medio del monedero cuando llegue a 6 acabe, pero cuando me detecta el objeto no me deja iniciar con el contador del monedero este es mi código no se que es lo que esta mal
Les agradecería su ayuda
#include <LiquidCrystal.h>
LiquidCrystal lcd(22, 23, 24, 25, 26, 27);
const int Lectura_coca = 30;
const int Lectura_moneda1 = 40;
const int Lectura_moneda2 = 42;
const int Led_coca = 31;
const int Led_moneda1 = 41;
const int Led_moneda2 = 43;
int conteo_moneda1 = 0;
int conteo_moneda2 = 0;
int moneda1 = 0;
int moneda2 = 0;
int total = 0;
int sensor_coca = 0;
int sensor_moneda1 = 0;
int sensor_moneda2 = 0;
void setup() {
Serial.begin(9600);
lcd.begin(16,2);
lcd.clear();
pinMode(Led_coca, OUTPUT);
pinMode(Led_moneda1, OUTPUT);
pinMode(Led_moneda2, OUTPUT);
sensor_coca = digitalRead(Lectura_coca);
sensor_moneda1 = digitalRead(Lectura_moneda1);
sensor_moneda2 = digitalRead(Lectura_moneda2);
}
void loop() {
if(sensor_coca == HIGH)
{
digitalWrite(Led_coca, HIGH);
lcd.setCursor(0,0);
lcd.print(" Si hay en ");
lcd.setCursor(0,1);
lcd.print(" existencia ");
delay(500);
digitalWrite(Led_coca, LOW);
while(sensor_coca == HIGH)
{
lcd.setCursor(0,0);
lcd.print(" Inserte moneda ");
lcd.setCursor(0,1);
lcd.print(" $ ");
if(sensor_moneda1 == HIGH)
{
digitalWrite(Led_moneda1, HIGH);
conteo_moneda1++;
while(sensor_moneda1 == HIGH){
sensor_moneda1 = digitalRead(Lectura_moneda1);
}
}
else{
digitalWrite(Led_moneda1, LOW);
}
if(sensor_moneda2 == HIGH)
{
digitalWrite(Led_moneda2, HIGH);
conteo_moneda2++;
while(sensor_moneda2 == HIGH){
sensor_moneda2 = digitalRead(Lectura_moneda2);
}
}
else{
digitalWrite(Led_moneda2, LOW);
}
moneda1 = conteo_moneda1*1;
moneda2 = conteo_moneda2*2;
total = moneda1+moneda2;
lcd.setCursor(7,1);
lcd.print(total);
if(total > 5){
lcd.clear();
conteo_moneda1=0;
conteo_moneda2=0;
total=0;
moneda1=0;
moneda2=0;
}
}
}
else{
digitalWrite(Led_coca, LOW);
lcd.setCursor(0,0);
lcd.print(" No hay en ");
lcd.setCursor(0,1);
lcd.print(" existencia ");
delay(1000);
lcd.setCursor(0,0);
lcd.print(" Seleccione otra ");
lcd.setCursor(0,1);
lcd.print(" opcion ");
}
}