PROYECTO
Sensor de luz Conde Hernández Luis Arturo Ferreira Martínez Melisa Guzmán Castrejón Elizabeth López García Luis Alberto
ISC 5 B ”
”
1- MARCO TEORICO ARDUINO Arduino
es una plataforma de hardware libre, basada en una placa con un
microcontrolador y un entorno de desarrollo, diseñada para facilitar el uso de la electrónica en proyectos multidisciplinares. El hardware consiste en una placa con un microcontrolador Atmel AVR y puertos de entrada/salida. Los microcontroladores más usados son el Atmega168, Atmega328, Atmega1280, ATmega8 por su sencillez y bajo coste que permiten el desarrollo de múltiples diseños. Por otro lado el software consiste en un entorno de desarrollo que implementa el lenguaje de programación Processing/Wiring y el cargador de arranque (boot loader ) que corre en la placa. Desde octubre de 2012, Arduino se usa también con microcontroladores CortexM3 de ARM de 32 bits, que coexistirán con las más limitadas, pero también económicas AVR de 8 bits. ARM y AVR no son plataformas compatibles a nivel binario, pero se pueden programar con el mismo IDE de Arduino y hacerse programas que compilen sin cambios en las dos plataformas. Eso sí, las microcontroladores CortexM3 usan 3.3V, a diferencia de la mayoría de las placas con AVR que usan mayormente 5V. Sin embargo ya anteriormente se lanzaron placas Arduino con Atmel AVR a 3.3V como la Arduino Fio y existen clónicos de Arduino Nano y Pro como Meduino en que se puede conmutar el voltaje. Arduino se puede utilizar para desarrollar objetos interactivos autónomos o puede ser conectado a software del ordenador (por ejemplo: Macromedia Flash, Processing, Max/MSP, Pure Data). Las placas se pueden montar a mano o adquirirse. El entorno de desarrollo integrado libre se puede descargar gratuitamente. Arduino es una plataforma de electrónica abierta para la creación de prototipos basada en software y hardware flexibles muy fáciles de usar, debido a que el IDE con el que trabaja es fácil de aprender a utilizar, y el lenguaje de programación con el que trabaja es simple, pues se creó para artistas, diseñadores, aficionados y cualquier interesado en crear entornos u objetos interactivos. Arduino puede tomar información del entorno a través de sus pines de entrada de toda una gama de sensores y puede afectar aquello que le rodea controlando luces, motores y otros actuadores. El microcontrolador en la placa Arduino se programa mediante el lenguaje de programación Arduino (basasdo en Wiring) y el entorno de desarrollo Arduino (basado en Processing). Los proyectos hechos con Arduino pueden ejecutarse sin necesidad de conectar a un ordenador, si bien tienen la posibilidad de hacerlo y comunicar con diferentes tipos de software (p.ej. Flash, Processing, MaxMSP). Las placas pueden ser hechas a mano o compradas montadas de fábrica; el software puede ser descargado de forma gratuita. Los ficheros de diseño de referencia
(CAD) están disponibles bajo una licencia abierta, así pues eres libre de adaptarlos a tus necesidades. Aplicaciones Las aplicaciones que nos ofrece Arduino son múltiples, y dependerá de nuestra imaginación. Mediante sensores podemos crear aplicaciones sencillas enfocadas a la docencia para estudiantes de electrónica, proyectos más elaborados para la industria y la robótica o incluso sistemas dirigidos simplemente al ocio. En lo referente al hágalo usted mismo, se puede fabricar un teléfono móvil asequible utilizando Arduino. Se utiliza también en los entornos artísticos para crear obras más elaboradas, dada su facilidad de programación.
LDR Una fotorresistencia es un componente electrónico cuya resistencia disminuye con el aumento de intensidad de luz incidente. Puede también ser llamado fotorresistor, fotoconductor, célula fotoeléctrica o resistor dependiente de la luz, cuyas siglas, LDR, se originan de su nombre en inglés light-dependent resistor . Su cuerpo está formado por una célula o celda y dos patillas. En la siguiente imagen se muestra su símbolo eléctrico.
El valor de resistencia eléctrica de un LDR es bajo cuando hay luz incidiendo en él (puede descender hasta 50 ohms) y muy alto cuando está a oscuras (varios megaohmios). Características Su funcionamiento se basa en el efecto fotoeléctrico. Un fotorresistor está hecho de un semiconductor de alta resistencia como el sulfuro de cadmio, CdS. Si la luz que incide en el dispositivo es de alta frecuencia, los fotones son absorbidos por las elasticidades del semiconductor dando a los electrones la suficiente energía para saltar la banda de conducción. El electrón libre que resulta, y su hueco asociado, conducen la electricidad, de tal modo que disminuye la resistencia. Los valores típicos varían entre 1 MΩ, o más, en la oscuridad y 100 Ω con luz brillante. Las células de sulfuro del cadmio se basan en la capacidad del cadmio de variar su resistencia según la cantidad de luz que incide en la célula. Cuanto más luz incide, más
baja es la resistencia. Las células son también capaces de reaccionar a una amplia gama de frecuencias, incluyendo infrarrojo (IR), luz visible, y ultravioleta (UV).
Fotocelda o fotorresistencia, cambia su valor resistivo (Ohms) conforme a la intensidad de luz. Mayor luz, menor resistencia y viceversa.. La variación del valor de la resistencia tiene cierto retardo, diferente si se pasa de oscuro a iluminado o de iluminado a oscuro. Esto limita a no usar los LDR en aplicaciones en las que la señal luminosa varía con rapidez. El tiempo de respuesta típico de un LDR está en el orden de una décima de segundo. Esta lentitud da ventaja en algunas aplicaciones, ya que se filtran variaciones rápidas de iluminación que podrían hacer inestable un sensor (ej. tubo fluorescente alimentado por corriente alterna). En otras aplicaciones (saber si es de día o es de noche) la lentitud de la detección no es importante. Se fabrican en diversos tipos y pueden encontrarse en muchos artículos de consumo, como por ejemplo en cámaras, medidores de luz, relojes con radio, alarmas de seguridad o sistemas de encendido y apagado del alumbrado de calles. También se fabrican fotoconductores de Ge:Cu que funcionan dentro de la gama más baja "radiación infrarroja".
Potenciómetro Un potenciómetro es un resistor cuyo valor de resistencia es variable. De esta manera, indirectamente, se puede controlar la intensidad de corriente que fluye por un circuito si se conecta en paralelo, o la diferencia de potencial al conectarlo en serie. Normalmente, los potenciómetros se utilizan en circuitos de poca corriente. Para circuitos de corrientes mayores, se utilizan los reostatos, que pueden disipar más potencia.
2- DESARROLLO Parte 1: En este proyecto, vamos a utilizar un LDR (Light Dependent Resistor o resistencia dependiente de la luz) para simular una hipotética compensación lumínica de 5 niveles, es decir, a través de una resistencia que varia su valor dependiendo de la luz recibida, aprovecharemos dicha variación para hacer un programa que nos encienda o apague una serie de LED dependiendo de si hay más luz o menos luz, esto podríamos extrapolarlo a un sistema de regulación de luz de un jardín con cinco lineas de luz que se vayan encendiendo según va cayendo la noche compensando progresivamente la deficiencia de luz. Además le hemos implementado un potenciómetro para ajustar el nivel crítico mínimo de luz que queremos soportar, a partir del cual se activará nuestro circuito y empezará a aumentar la luz del lugar progresivamente. Veamos un video con el resultado final! Parte 2:
En este proyecto lo que queremos conseguir es que, a partir de una resistencia que varía su valor óhmico en función de que haya más o menos luz, controlar 5 salidas de nuestro Arduino, a las que podríamos conectar líneas de iluminación para un jardín por ejemplo, de manera que según va anocheciendo, nuestra iluminación artificial va aumentando. Además, vamos a colocar un potenciómetro para regular el umbral de luz mínima, a partir del cual, comenzará a funcionar nuestro circuito de luz artificial para que sea adaptable a cualquier entorno. Dividamos el circuito en tres partes:
Salidas LDR Regulador
Para las salidas, ya hemos aprendido en otros tutoriales como conectar unos diodos LED y como calcular su resistencia óptima. En cuanto al LDR, es nuevo para nosotros, en breve tendréis disponible un tutorial sobre este componente, así que de momento nos vamos a quedar en que funciona como una resistencia variable de manera que, cuanta más cantidad de
luz reciba, menor será su resistencia, para que quede claro, si en un potenciómetro variábamos la resistencia deslizando un patín por la pista de material resistivo, aquí lo hará la cantidad de luz que reciba la foto-resistencia. Que si añadimos una resistencia más, podemos utilizar el LDR para hacer el ya conocido divisor de tensión de donde sacaremos la señal para conectar a nuestra entrada analógica de Arduino. Podemos conectarlo de dos maneras diferentes :
Si utilizamos el LDR como resistencia inferior del divisor de tensión, nos dará la tensión máxima cuando tengamos el LDR en plena oscuridad, ya que estará oponiendo el máximo de su resistencia al paso de la corriente derivándose esta por Vout al completo, si lo utilizamos como resistencia superior, el resultado será el inverso, tendremos la tensión máxima cuando esté completamente iluminado, ya que se comportará prácticamente como un cortocircuito, con una resistencia de 50Ω o 100Ω. En este caso lo hemos utilizado como resistencia superior, de manera que cuanta más luz haya, más tensión tendremos a la entrada de nuestra entrada analógica pudiendo ajustar así, de una manera muy intuitiva, la tensión de referencia que ahora explicaré. Como tercera parte del circuito, hemos colocado un potenciómetro configurado como divisor de tensión para hacer las funciones de regulación del rango de iluminación a partir del cual se activará nuestro circuito de iluminación.
Primero hay que pensar un par de cosas, nuestra foto-resistencia configurada como divisor resistivo, nos va a dar 0v cuando este COMPLETAMENTE a oscuras, y +5v cuando esté COMPLETAMENTE iluminada, situaciones que pueden ser difíciles de conseguir dependiendo del entorno en el que trabajemos, y por otra parte, ese rango de 0v a 5v habrá que dividirlo en 1024 “pasos” que va a leer nuestro Arduino, pero quizás solo vayamos a trabajar en 500 o 600 pasos, desperdiciando mucha resolución. Para solucionar esto, además de evitar cambiar el programa de Arduino cada vez que lo cambiemos de entorno, he decido usa una función que nos proporciona Arduino muy internaste
Parte 3: Este programa es algo más largo que los anteriores, pero desgranándolo poco a poco seguro que seremos capaces de entenderlo. Primero veamos el código al completo:
1 2
/* Tutorial # 0004 Arduino Academy - Sensor LDR
3 4
Conectamos una foto-resistencia a la entrada
5
analógica para controlar cinco salidas
6
en función de la luz ambiente.
7 8
Este proyecto es de dominio público.
9
*/
10 11
//Aquí almacenamos los datos recogidos del LDR:
12
int valorLDR = 0;
13 14
//Decimos que pines vamos a utilizar para LED
15
int pinLed1 = 12;
16
int pinLed2 = 11;
17
int pinLed3 = 10;
18
int pinLed4 = 9;
19
int pinLed5 = 8;
20 21
//Y que pin para la LDR
22
int pinLDR = 0;
23 24
void setup()
25
{
26
//Establecemos como salida los pines para LED
27
pinMode(pinLed1, OUTPUT);
28
pinMode(pinLed2, OUTPUT);
29
pinMode(pinLed3, OUTPUT);
30
pinMode(pinLed4, OUTPUT);
31
pinMode(pinLed5, OUTPUT);
32 33
//Le decimos que vamos a usar una referencia externa
34
analogReference(EXTERNAL);
35 36
}
37 38
void loop()
39
{
40
//Guardamos el valor leido en una variable
41
valorLDR = analogRead(pinLDR);
42 43
//Y comenzamos las comparaciones:
44
if(valorLDR >= 1023)
45
{
46
digitalWrite(pinLed1, LOW);
47
digitalWrite(pinLed2, LOW);
48
digitalWrite(pinLed3, LOW);
49
digitalWrite(pinLed4, LOW);
50
digitalWrite(pinLed5, LOW);
51
}
52
else if((valorLDR >= 823) & (valorLDR < 1023))
53
{
54
digitalWrite(pinLed1, HIGH);
55
digitalWrite(pinLed2, LOW);
56
digitalWrite(pinLed3, LOW);
57
digitalWrite(pinLed4, LOW);
58
digitalWrite(pinLed5, LOW);
59
}
60
else if((valorLDR >= 623) & (valorLDR < 823))
61
{
62
digitalWrite(pinLed1, HIGH);
63
digitalWrite(pinLed2, HIGH);
64
digitalWrite(pinLed3, LOW);
65
digitalWrite(pinLed4, LOW);
66
digitalWrite(pinLed5, LOW);
67
}
68
else if((valorLDR >= 423) & (valorLDR < 623))
69
{
70
digitalWrite(pinLed1, HIGH);
71
digitalWrite(pinLed2, HIGH);
72
digitalWrite(pinLed3, HIGH);
73
digitalWrite(pinLed4, LOW);
74
digitalWrite(pinLed5, LOW);
75
}
76
else if((valorLDR >= 223) & (valorLDR < 423))
77
{
78
digitalWrite(pinLed1, HIGH);
79
digitalWrite(pinLed2, HIGH);
80
digitalWrite(pinLed3, HIGH);
81
digitalWrite(pinLed4, HIGH);
82
digitalWrite(pinLed5, LOW);
83
}
84
else
85
{
86
digitalWrite(pinLed1, HIGH);
87
digitalWrite(pinLed2, HIGH);
88
digitalWrite(pinLed3, HIGH);
89
digitalWrite(pinLed4, HIGH);
90
digitalWrite(pinLed5, HIGH);
91 92
}
93
}
PARTE 4:
Construimos un circuito para permitir convertir los 3.5 volts a 120 volts. Mediante el siguiente diagrama nos guiamos para la construcción de este circuito:
MAC12
MOD3011
RESISTENCIA 180 h 5V
GND
Entrada corriente alterna 120 h
3- MATERIAL UTILIZADO
Material necesario para este proyecto:
1 Arduino Uno 1 Protoboard 1 LDR 1 Potenciómetro 10kΩ 5 Diodos LED 5 Resistencias 220Ω 1 Resistencia 1KΩ 1 Juego de Cables Optoacoplador MOD 3011 MAC 12 3 BORNES 1 RESISTENCIA 180 homs a 1watt 1 protoboard
4- CIRCUITOS UTILIZADOS
CONCLUSION En este proyecto nos llamó mucho la atención ya que se nos hiso muy interesante como prendes los LEDS al obcurecer al principio esa era nuestra idea pero después se nos ocurrió aumentarle lo del ventilador nuestro proyecto a hora se treta de cuando obscurece los LEDS encienden y el ventilador también. Tras este proceso aprendimos la función de cada pieza utilizada; tuvimos que tomar mucho en cuenta los voltajes ya que si las resistencias no eran las adecuadas podrían afectar el circuito dañando nuestro proyecto Nosotros no teníamos conocimientos de la placa de Arduino
gracias a este
proyecto conocimos la gran variedad de proyectos que se han lle vado a cabo