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 (0160), 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 variable b0 if b0>115 then amarillo if b0<60 then verde low 1 low 2 goto main amarillo: high 1 low 2 goto main verde: high 2 low 1 goto main
'leer la señal del canal 0 en la
'sino apagar 1 'y apagar 2
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