Sigo experimentando con el microcontrolador 16f628A y me sigue dando alegrías, esta vez con un ejemplo empleando un sensor LDR (Light Dependent Resistor) o fotoresistencia.
Este sensor de luz o fotoresistencia la vamos a conectar en el puerto B0 del 16F628A y su trabajo sera medir la intensidad de luz para encender y apagar un LED.
![]() |
| PIC 16F628A pinout |
De esta manera cuando la intensidad de la luz sea más tenue o apagada, el LED se encerá y cuando detecte la suficiente intensidad de luz, apagará el LED.
|
|
| LDR |
Conectar LDR con 16F628A
Conectaremos la patilla S1 del sensor LDR en el portb.0 del microcontrolador y V+ son 5 voltios.
EL pin GND junto con la resistencia de 10K es la masa o -.
El LED lo conectamos junto con una resistencia de 1K en el puerto portb.1 del microcontrolador.
Programa PBP para leer fotoresistencia LDR
Y este es el programa en PBP 2.46 escrito en Microcode:
ldr var portb.0 ; El portb.0 pasa a llamarse ldr
led var portb.1 ; El portb.1 pasa a llamarse led
Inicio: ; Inicia el programa
If ldr = 0 then ; Si ldr es 0 entonces..
HIGH led ; Enciende led
ELSE ; si no (si es un 1)
Low led ; Apaga led
ENDIF ; Fin de la declaración IF...THEN
GOTO inico ; Vuelve a inicio
END ; Fin del programa
Es un programa sencillo pero muy practico si necesitas, por ejemplo, una iluminación que dependa de momento del día o simplemente si estas aprendiendo o curioseando con la familia de microcontroladores 16F.
El siguiente paso es leer la intensidad real que recibe la fotoresistencia con la instrucción PBP llamada POT. Almacenando esta intensidad entre los valores de 0 y 255.
Los siguientes enlaces sobre microcontroladores te pueden interesar:
- Comparar dos sensores LDR con PIC 16F628A.
- Entrenador para PIC 16F876A Con Bootloader
- Mi programador TE-20 con LEDs
Espero que les guste, Saludos!!!


1 comentario :
y si quiero medir le intensidad de la luz?, con el pic, porque asi solo funciona como un suish, me interesa mucho saberlo
Publicar un comentario