Hi, Im new in the forum, I made a program for bar code reader, but when I load the program to my arduino micro and I try to start the program, the arduino turns off, anyone could help me?
#include <LiquidCrystal.h>
int lectorON = 10; // deep switch 1
int motorON = 9; // deep switch 2
int datos = 8; // puerto por donde va a leer los datos
int borrar = 7; // deep switch 4
int Motor = 6; // puerto que va a controlar en prendido y apagado del motor
int l=0;
int b=0;
int velMotor=1; // Velocidad del motor controlada por un PWM (1-255)
int i=0;
int f=0;
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); //Puertos que vamos a utilizar para la implementación del display LCD
int val;
int voltaje;
void setup()
{
lcd.begin(16, 2); //Declaramos que nuestra pantalla va a contar con 16 columnas y 2 filas
lcd.print("Codigo:");
}
void loop()
{
while(1) //Ciclo infinito para que el programa no se detenga
{
b= digitalRead(borrar); //Toma el valor de "boorar" y lo guarda en la variable "b" (depende del estado del deep switch)
if(b=1) //Ciclo condicional, donde limpia el display si b=1, o si el pin 4 del deep switch esta en circuito abierto
{
lcd.clear();
lcd.print("Codigo:");
}
lcd.setCursor(0, 2); //Coloca el cursor en la linea 2, columna 1 para empezar a escribir.
i = digitalRead(motorON); //Toma el valor de "motorON" y lo guarda en la variable "i" (depende del estado del deep switch)
while(i=1) //Ciclo iterativo, donde prende el motor si i=1, o si el pin 2 del deep switch esta en circuito abierto
//sigue realizando la misma función hasta que el deepswitch se coloque en circuito abierto.
{
analogWrite(Motor,velMotor); //Velocidad del Motor
while(l=1) //Ciclo iterativo, donde prende el lector si l=1, o si el pin 1 del deep switch esta en circuito abierto
//sigue realizando la misma función hasta que el deepswitch se coloque en circuito abierto.
{
val= digitalRead(datos); //coloca los valores leidos del pin 8 y los guarda en la variable val.
lcd.print(val); //imprime en la pantalla LCD lo que contenga la variable val.
l=digitalRead(lectorON);
delay(500); //un retraso en milisegundos para esperar que el lector avance a la sigueinte barra.
}
i = digitalRead(motorON);
}
}
}