You are on page 1of 5

http://solopicaxe.blogspot.

com
Sensor de Luz usando LDR para encender dos LEDs
(FASE 1)

Sensores Analógicos

Los sensores analógicos miden señales continuas tales como luz,


temperatura o posición. El sensor analógico provee de una seña que
consiste en un voltaje variable. Este voltaje puede luego ser
representado con un numero del 0 al 255 (por ejemplo, muy oscuro igual
a 0 y luz muy brillante=255).

Ejemplos típicos de sensores analógicos son:

Fotorresistencias o LDRs (Resistencias variables con la luz)


Termistores
Resistencias Variable (Potenciómetros)

En este mini-proyecto se usara LDRs:

La fotorresistencia es un componente cuya resistencia varia al variar la


intensidad de luz que incide sobre la misma, es decir, su resistencia
cambia según el nivel de luz. Bajo luz brillante su resistencia es baja
(alrededor de 1K) mientras que en la oscuridad su resistencia es muy
alta (alrededor de 1M)

A continuación se muestra la curva típica de resistencia contra


intensidad de luz para la fotorresistencia:
http://solopicaxe.blogspot.com

La fotorresistencia esta conecta a la entrada 0 (en este caso) en


configuración de divisor de voltaje:

Leyendo canales de entradas analógicas

El valor de una entrada analógica puede ser fácilmente copiado dentro


de una variable utilizando el comando readadc. El valor de la variable (0-
160), frecuentemente al utilizar sensores análogos es necesario calcular
el valor de “umbral” necesario para el programa (en este caso será 60 y
115 en el código de programa que se vera mas adelante). El comando
debug permite ver fácilmente el valor en “tiempo real” de un sensor
permitiendo calcular el valor umbral experimentalmente.
http://solopicaxe.blogspot.com
El código de programa para ver esto será el siguiente (tener en cuenta
que estoy usando un PICAXE40X1):

Main:
Readadc 0,b0 ‘LEE SEÑAL DE CANAL 0 EN VARIABLE B0
Debug b0 ‘TRANSMITE VALOR A LA PANTALLA DEL ORDENADOR
Pause 100
Goto main.

Al ejecutar este programa aparecer una ventana de depuración en la


pantalla del ordenar, indicando el valor de la variable b0. A medida que
el sensor es probado con la variable, la ventana va indicando la lectura
actual del sensor, esto lo pueden ver en el video que esta mas abajo.
Ahora vamos a lo importante, el programa enciende un diodo LED si el
valor es mayor que 115 y otro diodo LED si el valor es menor de 60. Si el
valor esta entre 60 y 115, ambos diodos LED permanecerán apagados.
El video de dicho mini-proyecto se ve mas abajo, esta el fase 1 de
“investigación” pronto tendré una aplicación usando LDR, por eso
estamos usando LEDs para entender como es el funcionamiento básico.

main:
readadc 0, b0 'leer la señal del canal 0 en la
variable b0
if b0>115 then amarillo
if b0<60 then verde
low 1 'sino apagar 1
low 2 'y apagar 2
goto main

amarillo:
high 1
low 2
goto main

verde:
high 2
low 1
goto main
http://solopicaxe.blogspot.com

Una vez entendido el funcionamiento del programa quiero recalcar algo,


el comando readadc Lee el contenido de un canal ADC (8 bit) dentro de
una variable y según la siguiente tabla el PICAXE 40X1 tiene por
separado, entradas analógicas, del pin 0 al pin 7:

Y Para
finalizar el
diagrama
del
circuito
que utilice
y el video
con la

explicación del cálculo de “umbral” del LDR y el funcionamiento:


http://solopicaxe.blogspot.com

Basado en los primeros 2 manuales de Editor programming. Las


resistencias de los leds son de 330 ohms y la resistencia R5 es de 10K

Para ver el video entrar al blog. http://solopicaxe.blogspot.com