Monografías Plus »

Proyecto de arduino: area domotica



PROYECTO ARDUINO

NOMBRE: ELTSOFT

Introducción

El proyecto de la empresa ELTSOFT se encarga del instalado de diversas funciones para arduino en el area de DOMOTICA de esta forma utilizando arduino podemos utilizar mediante su programación el encendido de leds además de su control a voluntad por tecla, de esta forma nuestra visión llego a los sensores en diversos aspectos como ser el sensor de movimiento, temperatura, fotoeléctrico y micrófono sensible de esta forma le damos varios refuerzos a la domotica y de esta forma nuestra empresa ofrece el servicio de una tecnología inovadora.

Fundamento teórico

¿QUÉ ES ARDUINO?

Arduino es una plataforma de prototipos electrónica de código abierto (open-source) basada en hardware y software flexibles y fáciles de usar. Está pensado para artistas, diseñadores, como hobby y para cualquiera interesado en crear objetos o entornos interactivos.Arduino puede sentir el entorno mediante la recepción de entradas desde una variedad de sensores y puede afectar a su alrededor mediante el control de luces, motores y otros artefactos. El microcontrolador de la placa se programa usando el Arduino Programming Language (basado en Wiring) y el Arduino Development Environment (basado en Processing). Los proyectos de Arduino pueden ser autónomos o se pueden comunicar con software en ejecución en un ordenador (por ejemplo con Flash, Processing, MaxMSP, etc.).Las placas se pueden ensamblar a mano o encargarlas preensambladas; el software se puede descargar gratuitamente. Los diseños de referencia del hardware (archivos CAD) están disponibles bajo licencia open-source, por lo que eres libre de adaptarlas a tus necesidades.Arduino recibió una mención honoríca en la sección Digital Communities del Ars Electronica Prix en 2006.

 ¿Por qué Arduino?

Hay muchos otros microcontroladores y plataformas microcontroladoras disponibles para computación física. Parallax Basic Stamp, Netmedia"s BX-24, Phidgets, MIT"s Handyboard, y muchas otras ofertas de funcionalidad similar. Todas estas herramientas toman los desordenados detalles de la programación de microcontrolador y la encierran en un paquete fácil de usar. Arduino también simplifica el proceso de trabajo con microcontroladores, pero ofrece algunas ventajas para profesores, estudiantes y aaficionados interesados sobre otros sistemas:

ARDUINO MEGA 2560 R3

Comprar en MCI

Arduino Mega es una tarjeta de desarrollo open-source construida con un microcontrolador modelo Atmega2560 que posee pines de entradas y salidas (E/S), analógicas y digitales. Esta tarjeta es programada en un entorno de desarrollo que implementa el lenguaje Processing/Wiring. Arduino puede utilizarse en el desarrollo de objetos interactivos autónomos o puede comunicarse a un PC a través del puerto serial (conversión con USB) utilizando lenguajes como Flash, Processing, MaxMSP, etc. Las posibilidades de realizar desarrollos basados en Arduino tienen como límite la imaginación.

El Arduino Mega tiene 54 pines de entradas/salidas digitales (14 de las cuales pueden ser utilizadas como salidas PWM), 16 entradas análogas, 4 UARTs (puertos serial por hardware), cristal oscilador de 16MHz, conexión USB, jack de alimentación, conector ICSP y botón de reset.  Arduino Mega incorpora todo lo necesario para que el microcontrolador trabaje; simplemente conéctalo a tu PC por medio de un cable USB o con una fuente de alimentación externa (9 hasta 12VDC). El Arduino Mega es compatible con la mayoría de los shields diseñados para Arduino Duemilanove, diecimila o UNO.

Esta nueva versión de Arduino Mega 2560 adicionalmente a todas las características de su sucesor utiliza un microcontrolador ATMega8U2 en vez del circuito integrado FTDI. Esto permite mayores velocidades de transmisión por su puerto USB y no requiere drivers para Linux o MAC (archivo inf es necesario para Windows) además ahora cuenta con la capacidad de ser reconocido por el PC como un teclado, mouse, joystick, etc.

Para más información sobre este producto visita www.arduino.cl, allí encontraras tutoriales y ejemplos que te serán de utilidad si estás iniciándote con Arduino.

Características:

Velocidad del reloj de 16Mhz.

PROTOBOARD

Monografias.com

FIG 1.

USO DEL PROTOBOARD

Un computador basado en el microprocesador Intel 8088, instalado en una protoboard.

Una placa de pruebas (en inglés: protoboard o breadboard) es un tablero con orificios que se encuentran conectados eléctricamente entre sí de manera interna, habitualmente siguiendo patrones de líneas, en el cual se pueden insertar componentes electrónicos y cables para el armado y prototipado de circuitos electrónicos y sistemas similares. Está hecho de dos materiales, un aislante, generalmente un plástico, y un conductor que conecta los diversos orificios entre sí. Uno de sus usos principales es la creación y comprobación de prototipos de circuitos electrónicos antes de llegar a la impresión mecánica del circuito en sistemas de producción comercial.

Debido a las características de capacitancia (de 2 a 30 pF por punto de contacto) y resistencia que suelen tener los protoboard están confinados a trabajar a relativamente baja frecuencia (inferior a 10 ó 20 MHz, dependiendo del tipo y calidad de los componentes electrónicos utilizados).

Los demás componentes electrónicos pueden ser montados sobre perforaciones adyacentes que no compartan la tira o línea conductora e interconectados a otros dispositivos usando cables, usualmente unifilares. Uniendo dos o más protoboard es posible ensamblar complejos prototipos electrónicos que cuenten con decenas o cientos de componentes.

El nombre inglés «protoboard» es una contracción de los vocablos ingleses prototype board y es el término que se ha difundido en los países de habla hispana, aunque se suele emplear también la traducción al castellano placa de pruebas. Sin embargo, particularmente en Estados Unidos e Inglaterra, se conoce como breadboard. Anteriormente un breadboard era una tabla utilizada como base para cortar el pan, pero en los principios de la electrónica los pioneros usaban dichas tablas para montar sus prototipos, compuestos por tubos de vacío, clavijas, etc., los cuales eran asegurados por medio de tornillos e interconectados usando cables.

Led

Los ledes se usan como indicadores en muchos dispositivos y en iluminación. Los primeros ledes emitían luz roja de baja intensidad, pero los dispositivos actuales emiten luz de alto brillo en el espectro infrarrojo, visible y ultravioleta.

Debido a su capacidad de operación a altas frecuencias, son también útiles en tecnologías avanzadas de comunicaciones y control. Los ledes infrarrojos también se usan en unidades de control remoto de muchos productos comerciales incluyendo equipos de audio y video.

Formas de determinar polaridad[editar]

Formas de determinar la polaridad de un led de inserción[editar]

Existen tres formas principales de conocer la polaridad de un led:

Ventajas y desventajas Ventajas

Los ledes presentan muchas ventajas sobre las fuentes de luz incandescente y fluorescente, tales como el bajo consumo de energía, un mayor tiempo de vida, tamaño reducido, resistencia a las vibraciones, reducida emisión de calor, no contienen mercurio (el cual al exponerse en el medio ambiente es altamente nocivo y posibilita el envenenamiento por mercurio), en comparación con la tecnología fluorescente, no crean campos magnéticos altos como la tecnología de inducción magnética, con los cuales se crea mayor radiación residual hacia el ser humano; reducen ruidos en las líneas eléctricas, son especiales para utilizarse con sistemas fotovoltaicos (paneles solares) en comparación con cualquier otra tecnología actual; no les afecta el encendido intermitente (es decir pueden funcionar como luces estroboscópicas) y esto no reduce su vida promedio, son especiales para sistemas antiexplosión ya que cuentan con un material resistente, y en la mayoría de los colores (a excepción de los ledes azules), cuentan con un alto nivel de fiabilidad y duración.

Tiempo de encendido

Los ledes tienen la ventaja de poseer un tiempo de encendido muy corto (menor de 1 milisegundo) en comparación con las luminarias de alta potencia como lo son las luminarias de alta intensidad de vapor de sodio, aditivos metálicos, halogenuro o halogenadas y demás sistemas con tecnología incandescente.

Variedad de colores

Monografias.com

FIG 2. LEDS UTILIZADOS

código arduino de progrmacion:

/*

Blink

Turns on an LED on for one second, then off for one second, repeatedly.

This example code is in the public domain.

*/

void setup() {

// initialize the digital pin as an output.

// Pin 13 has an LED connected on most Arduino boards:

pinMode(13, OUTPUT);

}

void loop() {

digitalWrite(13, HIGH); // set the LED on

delay(1000); // wait for a second

digitalWrite(13, LOW); // set the LED off

delay(1000); // wait for a second

}

La excelente variedad de colores en que se producen los ledes ha permitido el desarrollo de nuevas pantallas electrónicas de texto monocromáticas, bicolores, tricolores y RGB (pantallas a todo color) con la habilidad de reproducción de vídeo para fines publicitarios, informativos o para señalización. Una rama de su evolución ha dirigido el desarrollo hacia los ledes orgánicos, los cuales permiten obtener pantallas multicolor de muy alta calidad de imagen en espacios reducidos, tecnología conocida como OLED.

Desventajas

Existen dudas sobre la inocuidad de algunas combinaciones de leds. Los ledes que emiten en las frecuencias entre el azul y el ultravioleta, —que se usan para obtener luz blanca junto con leds de color amarillo— pueden ser dañinos para la vista.4 El precio de las luminarias de ledes es alto en comparación con otros sistemas de iluminación, aunque día a día su precio baja. Los leds requieren fuentes de alimentación más sofisticadas otras técnicas de iluminación, porque necesitan corriente continua de intensidad estable para funcionar: tanto las fluctuaciones de intensidad como los defectos en la rectificación de la alimentación alterna acortan su duración. También necesitan disipadores de calor eficientes y bien dimensionados para su potencia.

Funcionamiento

Cuando un led se encuentra en polarización directa, los electrones pueden recombinarse con los huecos en el dispositivo, liberando energía en forma de fotones. Este efecto es llamado electroluminiscencia y el color de la luz (correspondiente a la energía del fotón) se determina a partir de la banda de energía del semiconductor. Por lo general, el área de un led es muy pequeña (menor a 1 mm2), y se pueden usar componentes ópticos integrados para formar su patrón de radiación.

Cable de conexión

Cable de conexión  en redes de CONEXION o sistemas informáticos o electrónicos para conectar un dispositivo electrónico con otro.

Aunque esta definición se usa con mayor frecuencia en el campo de las redes informáticas, pueden existir cables de conexión también para otros tipos de comunicaciones electrónicas.

El cable de red también es conocido principalmente por los instaladores como chicote o latiguillo. Los instaladores denominan chicotes a los cables de red usados para conectar al usuario final (user cord) o para conectar equipos dentro del panel de conexiones (patch panel).

Los cables de conexión, chicotes o latiguillos, se producen en muchos colores para facilitar su identificación.

En cuanto a longitud, los cables pueden ser desde muy cortos (unos pocos centímetros) para los componentes apilados, o tener hasta un máximo de 100 metros. A medida que aumenta la longitud los cables son más gruesos y suelen tener apantallamiento para evitar la pérdida de señal y las interferencias (STP).

Modulo Sensor de Temperatura Digital

Módulo de temperatura digital, cuenta con un LED que se conecta al PIN 13 del Arduino. El sensor de temperatura digital es activado al detectar una variación en la temperatura, cuando esto sucede el LED se enciende, de lo contrario el LED permanecerá apagado.

Monografias.com

FIG. 3 SENSOR DE TEMPERATURA

Código de programacion:

int Led = 13 ;/ / define LED Interface

int buttonpin = 3; / / define the digital temperature sensor interface

int val ;/ / define numeric variables val

void setup ()

{

pinMode (Led, OUTPUT) ;/ / define LED as output interface

pinMode (buttonpin, INPUT) ;/ / define digital temperature sensor output interface

}

void loop ()

{

val = digitalRead (buttonpin) ;/ / digital interface will be assigned a value of 3 to read val

if (val == HIGH) / / when the digital temperature sensor detects a signal, LED flashes

{

digitalWrite (Led, HIGH);

}

else

{

digitalWrite (Led, LOW);

}

}

Sensor fotoeléctrico

Un sensor fotoeléctrico o fotocélula es un dispositivo electrónico que responde al cambio en la intensidad de la luz. Estos sensores requieren de un componente emisor que genera la luz, y un componente receptor que percibe la luz generada por el emisor.

Todos los diferentes modos de sensado se basan en este principio de funcionamiento. Están diseñados especialmente para la detección, clasificación y posicionado de objetos; la detección de formas, colores y diferencias de superficie, incluso bajo condiciones ambientales extremas.

Los sensores de luz se usan para detectar el nivel de luz y producir una señal de salida representativa respecto a la cantidad de luz detectada. Un sensor de luz incluye un transductor fotoeléctrico para convertir la luz a una señal eléctrica y puede incluir electrónica para condicionamiento de la señal, compensación y formateo de la señal de salida.

El sensor de luz más común es el LDR -Light Dependant Resistor o Resistor dependiente de la luz-.Un LDR es básicamente un resistor que cambia su resistencia cuando cambia la intensidad de la luz.

Existen tres tipos de sensores fotoeléctricos, los sensores por barrera de luz, reflexión sobre espejo o reflexión sobre objetos.

Monografias.com

FIG. 4 FOTOCELULA

01

02

03

04

05

06

07

08

09

10

11

12

13

14

15

16

17

//Sensor de luz

 

int ledPin = 7; //Led no pino 7

int ldrPin = 0; //LDR no pino analígico 8

int ldrValor = 0; //Valor lido do LDR

 

void setup() {

 pinMode(ledPin,OUTPUT); //define a porta 7 como saída

 Serial.begin(9600); //Inicia a comunicação serial

}

 

void loop() {

 ///ler o valor do LDR

 ldrValor = analogRead(ldrPin); //O valor lido será entre 0 e 1023

 

 //se o valor lido for maior que 500, liga o led

 if (ldrValor>= 800) digitalWrite(ledPin,HIGH);

 // senão, apaga o led

 else digitalWrite(ledPin,LOW);

 

 //imprime o valor lido do LDR no monitor serial

 Serial.println(ldrValor);

 delay(100);

}

Modulo Sensor de Micrófono Sensible

Para la detección de sonido el módulo tiene dos salidas:

AO, salida analógica, la señal de tensión de salida en tiempo real del micrófono

DO, cuando la intensidad del sonido alcanza un cierto umbral, la salida de señal de alta y baja

Monografias.com

FIG.5 MICROFONO SENSIBLE

El umbral de sensibilidad se puede ajustar mediante el potenciómetro en el sensor.

Conexión:

Pin +5V del Arduino ->Pin 5+ del módulo.

Pin GND del Arduino ->Pin "-" del módulo.

Pin A0 del Arduino ->Pin A0 del módulo. (Para Salidas Analógicas)

Pin D0 del Arduino ->Pin D0 del módulo. (Para Salidas Digitales)

Código Salidas Digitales:

int Led = 13 ;// define LED Interface

int buttonpin = 3; // define D0 Sensor Interface

int val = 0;// define numeric variables val

void setup ()

{

pinMode (Led, OUTPUT) ;// define LED as output interface

pinMode (buttonpin, INPUT) ;// output interface D0 is defined sensor

}

void loop ()

{

val = digitalRead(buttonpin);// digital interface will be assigned a value of pin 3 to read val

if (val == HIGH) // When the sound detection module detects a signal, LED flashes

{

digitalWrite (Led, HIGH);

}

else

{

digitalWrite (Led, LOW);

}

}

Parte experimental

- 1 ARDUINO MEGA 2560

- 8 LEDS DE COLORES

-CHICOTILLOS DE CONEXIÓN

-1 PRHOTGUARD

-SENSOR DE MOVIMIENTO

-FOTOCELULA

- LM335

3.2. PROGRAMACION PARA EL ENCEDINO DE LUCES POR TECLA

constintpin_led = 7,pin = 6; // desde este comando se controla las luces del patio

intestado_led = LOW;

longmillis_anteriores = 0;

long intervalo = 60000;

voidsetup ()

{

Serial.begin (9600); //Iniciamos la comunicación serial.

pinMode(13,OUTPUT); //Inicializamos los pines que utilizaremos.

pinMode(12,OUTPUT);

pinMode(11,OUTPUT);

pinMode(10,OUTPUT);

pinMode(9,OUTPUT);

pinMode(8,OUTPUT);

pinMode(7,OUTPUT);

pinMode(pin_led,OUTPUT); // pin destinado al patio

pinMode(pin,OUTPUT); // pin destinado al patio

}

void loop ()

{

unsigned long millis_actuales = millis();

if(millis_actuales - millis_anteriores>intervalo) {

millis_anteriores = millis_actuales;

if (estado_led == LOW) {

estado_led = HIGH;

} else {

estado_led = LOW;

}

digitalWrite(pin_led, estado_led);

digitalWrite(pin, estado_led);

}

if(char dato=Serial.read ()) //Se lee la variable enviada por la APP.

{

switch (dato) //Se selecciona el caso dependiendo la variable recibida.

{

case '1':

{

digitalWrite(13,HIGH);

Serial.println("sala 1 encendido");

break;

}

case '2':

{

digitalWrite(13,LOW);

Serial.println("sala 1 apagado");

break;

}

case '3':

{

digitalWrite(12,HIGH);

Serial.println("sala 2 encendido");

break;

}

case '4':

{

digitalWrite(12,LOW);

Serial.println("sala 2 apagado");

break;

}

case '5':

{

digitalWrite(11,HIGH);

Serial.println("dorm.1 encendido");

break;

}

case '6':

{

digitalWrite(11,LOW);

Serial.println("dorm.1 apagado");

break;

}

case '7':

{

digitalWrite(10,HIGH);

Serial.println("dorm.2 encendido");

break;

}

case '8':

{

digitalWrite(10,LOW);

Serial.println("dorm.2 apagado");

break;

}

case '9':

{

digitalWrite(9,HIGH);

Serial.println("cocica encendido");

break;

}

case '0':

{

Monografias.com

digitalWrite(9,LOW);

Serial.println("cocica apagado");

break;

}

case 'A':

{

digitalWrite(8,HIGH);

Serial.println("bañoencendido");

break;

}

case 'S':

{

digitalWrite(8,LOW);

Serial.println("baño apagado");

break;

}

}

}

}

Monografias.com

3.3 PROGRAMACION CON SENSORES

intsensorPin = A1; // entrada para nuestro sensor de sonido

intrelayPin = 5; // pin relé

intsensorValue = 0; // variable para almacenar el valor del sensor

intknockUp;

constintsensor_Pin=A2; //pin conectado al sensir de tempertura

intLDR_Pin = 0; //pin conectado al fotoresistor LDR

intledPin=6; //pin conectado al led

int luminosidad; // variable para registrar la lectura del LDR

int umbral=300 ; // valor umbral de luminosidad

constintpin_led = 7; // desde este comando se controla las luces del patio

int estado_led = LOW;

long millis_anteriores = 0;

long intervalo = 6000;

constintbuttonPin = 2; // desde este comando se controla el sensor de movimiento

const int led_Pin = 3; // the number of the LED pin

intbuttonState = 0;

voidsetup()

{

Serial.begin (9600); //Iniciamos la comunicación serial.

pinMode(13,OUTPUT); //Inicializamos los pines que utilizaremos.

pinMode(12,OUTPUT);

pinMode(11,OUTPUT);

pinMode(10,OUTPUT);

pinMode(9,OUTPUT);

pinMode(8,OUTPUT);

pinMode(pin_led,OUTPUT); // pin destinado al patio

pinMode( ledPin, OUTPUT );// Lo usaremos para ver la lectura real

digitalWrite(ledPin,LOW);// y ajustar si necesario

Serial.begin (9600);

pinMode(relayPin, OUTPUT);

knockUp = 0;

digitalWrite(relayPin, LOW);

Serial.begin (9600);

}

voidloop()

{

if(char dato=Serial.read ()) //Se lee la variable enviada por la APP.

{

switch (dato) //Se selecciona el caso dependiendo la variable recibida.

{

case '1':

{

digitalWrite(13,HIGH);

Serial.println("sala 1 encendido");

break;

}

case '2':

{

digitalWrite(13,LOW);

Serial.println("sala 1 apagado");

break;

}

case '3':

{

digitalWrite(12,HIGH);

Serial.println("sala 2 encendido");

break;

}

case '4':

{

digitalWrite(12,LOW);

Serial.println("sala 2 apagado");

break;

}

case '5':

{

digitalWrite(11,HIGH);

Serial.println("dorm.1 encendido");

break;

}

case '6':

{

digitalWrite(11,LOW);

Serial.println("dorm.1 apagado");

break;

}

case '7':

{

digitalWrite(10,HIGH);

Serial.println("dorm.2 encendido");

break;

}

case '8':

{

digitalWrite(10,LOW);

Serial.println("dorm.2 apagado");

break;

}

case '9':

{

digitalWrite(9,HIGH);

Serial.println("cocica encendido");

break;

}

case '0':

{

digitalWrite(9,LOW);

Serial.println("cocica apagado");

break;

}

case 'A':

{

digitalWrite(8,HIGH);

Serial.println("baño encendido");

break;

}

case 'S':

{

digitalWrite(8,LOW);

Serial.println("baño apagado");

break;

}

}

}

// comado para el control del sensor de temoeratura

{

int value = analogRead(sensorPin);

float millivolts = (value / 1023.0)* 5000;

float celcius = millivolts / 10;

Serial.print(celcius);

Serial.println("c");

delay(1000);

}

// sentencias del sensor de movimiento

{

buttonState = digitalRead(buttonPin);

if (buttonState == HIGH)

{

digitalWrite(led_Pin, HIGH);

Serial.println("PELIGRO HAY MOVIMENTO ");

}

else

{

digitalWrite(led_Pin, LOW);

Serial.println("PELIGRO VERIFICADO ");

}

}

//sentencias del sensor LDR

luminosidad= analogRead(LDR_Pin);

Serial.println(analogRead(luminosidad)); //Escribimos el valor en monitor serie

//monitorizando este valor podemos ajustar el umbral para encender el led

//en funci´n de la luminosidad

if (luminosidad > umbral)// valor experimental

{

digitalWrite(ledPin,LOW);// si la luminosidad es mayor apagamos el led

}

else

{

digitalWrite(ledPin,HIGH);// en caso contrario encendemos el led

}

delay(10); // A mayor valor mas lenta sera la respuesta a los cambios de luminosidad

//sentencias para el temporzado de las luces del patio

{

unsigned long millis_actuales = millis();

if(millis_actuales - millis_anteriores > intervalo) {

millis_anteriores = millis_actuales;

if (estado_led == LOW) {

estado_led = HIGH;

} else {

estado_led = LOW;

}

digitalWrite(pin_led, estado_led);

}

}

// leer el valor del sensor de sonido:

sensorValue = analogRead(sensorPin);

long startTime = millis();

while(millis() - startTime

sensorValue = analogRead(sensorPin);

if (sensorValue > 800)

{

knockUp = knockUp + 1;

digitalWrite(relayPin, LOW);

delay(200);

digitalWrite(relayPin, HIGH);

Serial.println(knockUp, DEC);

}

}

if (knockUp == 2){

digitalWrite(relayPin, LOW);

knockUp = 0;

}

}

3.4 SIMULACION DEL CIRCUITO

Monografias.com

Funcionamiento

Monografias.com

Monografias.com

Monografias.com

Conclusiones

Webgrafía

 

 

 

Autor:

Univ. Cristián Rojas Chambi

Univ. Henry Mariscal Aro

Univ. Diter Flores Calderon

Univ. Jose Miguel Vargas Cerruto

CARRERA; INGENIERIA ELECTRICA

DOCENTE: LIC. IRMA PRADO

UNIVERSIDAD MAYOR DE SAN ANDRES

FACULTAD DE INGENIERíA

ELT - 256

SEMESTRE; I / 2017