jueves, 26 de noviembre de 2009

Controlar un LED con un sensor LDR y PIC 16F628A

Muy Buenas a todos y todas!!!

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
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.

Sensor LDR con PIC 16F628A
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:


Espero que les guste, Saludos!!!


1 comentario :

Unknown dijo...

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