Go Down

Topic: Maquina de estado finito (Read 253 times) previous topic - next topic

Diegosantilln1

Apr 02, 2018, 05:49 pm Last Edit: Apr 02, 2018, 05:50 pm by Diegosantilln1
Buen día arduineros!!! necesito de su ayuda, carácter urgente!
Les comento que tengo en funcionamiento un arduino mega, con un modulo LDR digital, y un modulo bluetooth (mismas lecturas por monitor serie)+
El problema se presenta que cuando se prende el foco que maneja el modulo LDR a través de un relé;
El LDR comanda' al Modulo bluetooth, es decir que cuando hago el condicionamiento para que el modulo bluetooth apage la luz a pesar de que el modulo ldr este sensando la ausencia de luz, no funciona!
sigue mandando el LDR .

Adjunto el codigo, por favor alguna alma bondadosa que me pueda orientar!!!

Kike_GL

#1
Apr 25, 2018, 12:46 am Last Edit: Apr 25, 2018, 12:59 am by Kike_GL
Trate de analizar tu código pero deberías poner mas comentarios para que los demás entienda y nos facilitarias si lo pones como código y no como adjunto.


1. El LDR debe ir en una entrada analogica (A0~A5) y no en el pin 10 que es digital. Ver ejemplo

2. Veo que tienes 6 reles y definiste 12 estados (a~l). Ya que el rele solo puede estar en prendido o apagado porque no reduces los estados a solo 6 y si esta prendido que lo apague y viseversa.

Code: [Select]

digitalWrite(2,!digitalRead(2));


3. Si en lugar de enviar letras envías el numero del pin (2~6) tu código seria muchas mas eficiente.

Code: [Select]

if (Serial.available() > 0){
   pin = Serial.read() - 48;
   digitalWrite(pin,!digitalRead(pin));  
}
Saludos, Kike_GL

tauro0221

Hi,
Yo creo que el problema es que el LDR no va dar un voltaje alto para leerlo como digital. Va a dar un voltaje  dependiondo de la intensidad de la luz. Tienes que hacerlo leyendolo como un analog input. Haz una prueba y lee el voltaje cuando lo alumbras y determina cuando  el voltaje es suficiente para energizar/degenizar el relay. No creo que el LDR te de voltaje para que lo puedas leer como digital. Creo Kike_GL estaba correcto en leerlo en un analog input.

Go Up