Sei sulla pagina 1di 7

microcontroladores II

U.T.S

PROYECTO
CASA DOMOTICA BASADA EN APP INVENTOR Y ARDUINO

Jefferson Estiven Velasco


Juan Ramn R.
debido a necesidades como confort, seguridad,
ahorro de energa comunicacin y accesibilidad
que tratadas desde el rea de la tecnologa
permiten desarrollar soluciones efectivas con
software, el blutto y arduino que presentan una
flexibilidad en su programacin a la hora de
manejar variables en tiempo real.

RESUMEN: El proyecto se realiz con


ARDUINO Y APP INVENTOR, este consta de un
sistema controlado por un dispositivo mvil (celular) a
partir de una aplicacin programada para manejar los
sensores, mdulos o los distintos tipos de instrumentos
que se utilizan en la casa, estos dispositivos
anteriormente mensionados se controlaran a distancia
por medio de la comunicacin blutto a arduino de tal
manera que sean adtivados o desactivaos a distancia

2 CASA DOMOTICA BASADA EN


APPINVENTOR Y ARDUINO

ABSTRACT:

2.1 INVESTIGACION

The project was carried out with ARDUINO AND APP


INVENTOR, this consists of a controlled by a mobile
(cellular) from a programmed to handle the sensors,
modules or different types of instruments used in the
home application system, these devices dimensioned
previously
were
controlled
remotely
through
communication blutto arduino so they are activate or
remote deactivate
PALABRAS CLAVE:
"APPINVENTOR un
orientado a arduino".

software

de

Se desarroll una bsqueda de informacin sobre


los elementos a utilizar para la creacin de la casa
automatizada como lo son material de la
estructura fsica, decoracin, sensores, actuadores
e indicadores.

programacin

KEYPHRASES:

1 INTRODUCCIN
MATERIALES
Estructura:
Lminas de cielo raso PBC Cartn paja Foamy
-Canaleta

Este proyecto presenta las ventajas que


proporcionan los avances tecnolgicos en el hogar
como lo son las casas automatizadas, las cuales
1

microcontroladores II

U.T.S

2.4 INVESTIGACION DE PROGRAMACION


EN APPINVENTOR

Sensores:
Temperatura DS18B20- Gas MQ2 Luz (LDR)Ultrasnico HC-SR04 Presencia PIR

2.4.1 QUE ES APPINVENTOR

Google App Inventor es una plataforma de


Google Labs para crear aplicaciones de
software para el sistema operativo Android. De
forma visual y a partir de un conjunto de
herramientas bsicas, el usuario puede ir
enlazando una serie de bloques para crear la
aplicacin. El sistema es gratuito y se puede
descargar fcilmente de la web. Las
aplicaciones fruto de App Inventor estn
limitadas por su simplicidad, aunque permiten
cubrir un gran nmero de necesidades bsicas
en un dispositivo mvil.

Actuadores:
1 Ventilador -5 leds -4 Servomotores

Indicadores:
Pantalla LCD para arduino
Microcontroladores:
2 Arduino uno

Fig.1. Investigando

2.2 DISEO DE LA CASA

Con Google App Inventor, se espera un


incremento importante en el nmero de
aplicaciones para Android debido a dos
grandes factores: la simplicidad de uso, que
facilitar la aparicin de un gran nmero de
nuevas aplicaciones; y Google Play, el centro
de distribucin de aplicaciones para Android
donde cualquier usuario puede distribuir sus
creaciones libremente.

En la planeacin de las dimensiones a trabajar en


la estructuras de la casa se establecieron las
medidas de las reas como habitaciones, baos,
sala, comedor, cocina y garaje.

2.4.2
COMUNICACION
ARDUINO

APPINVENTOR

La comonicacion entre arduino y la aploicacionn se


establece por miedio de las direcciones e ID del
blutoo de nuestro dispositivo mvil y nuestro
mdulo blutoo de tal forma que estos dos se
emparejan entre si enviando y recibiendo datos,
interpretndolos de tal forma que generamos
nuestros pulsos para activar los dispositivos
conectados al arduino.

Fig 2. Planos de la casa

2.3 CREACION DE MAQUETA


Para el montaje de la maqueta con los planos ya
determinados se inicia de la siguiente manera:
Corte de base y paredes utilizando lminas
de cielo raso de PBC.
Ajuste de paredes sobre la base usando
sper bonder (pegante) con bicarbonato
para mayor consistencia.
Corte y ajuste de puertas con los
servomotores en los espacios indicados.
Elaboracin de la decoracin y muebles de
la casa utilizando cartn paja y Foamy.
Instalacin de sensores.

2.4 PROGRAMACION EN APPINVENTOR

microcontroladores II

U.T.S

.
Esta plataforma red en la cual programamos por
medios de bloques y no de cdigos desde esta
plataforma podemos crear la aplicacin, disear la
interfaz y programarla por medio de bloques que
es un lenguaje muy sencillo.

El hardware consiste en una placa con un


microcontrolador
Atmel
AVR
y
puertos
de
entrada/salida.4 Los microcontroladores ms usados son
el Atmega168, Atmega328, Atmega1280, y Atmega8 por
su sencillez y bajo coste que permiten el desarrollo de
mltiples diseos. Por otro lado el software consiste en
un entorno de desarrollo que implementa el lenguaje de
programacin Processing/Wiring y el cargador de
arranque que es ejecutado en la placa.4 Se programa en
el ordenador para que la placa controle los componentes
electrnicos.

2.5.2 PROYECTO PARA ENCENDER MODULOS


Y PROGRAMACION EN APPINVENTOR

2.6.2 SENSORES
AUTOMATIZADA

UTILIZADOS

EN

LA

CASA

Esto sensores son los encargados de accionar los


diferentes componentes utilizados en la casa enviado
seales anlogas o digitales segn sus especificaciones
y con estas seales podemos realizar dichas acciones.

En esta plataforma programaos en bloques


nuestra aplicacin de una forma muy sensilla
la cual es asignar un numero o letra,esta la
enviamos a nuestro modulo blutto el la recive e
interpreta de tal forma quele da la orden al
arduino que adtive dicha salida asignada o
programada
con
este
carcter
leido
anteriormente para asi adtivarlo.

2.6.3 mdulo de temperatura


Este mdulo maneja seales
analgicas y a partir de estas
seales podemos calcular su
temperatura

2.6 PROGRAMACION DE LOS SENSORES CON


ARDUINO

2.6.4 Modulo LDR


Este sensor se encarga de
manejar el encendido de las
luces dependiendo de la
luminosidad que halla en el
lugar
manejando
seales
anlogas- digtale

Mdulo de programacin el cual se utiliza para manejar


los sensores de la maqueta como son, sensor de
temperatura, sensor de luces y manejo del servomotor
del garaje

2.6.5 MODULO DE
ULTRASONIDO
Este sensor se encarga
de
manejar
el
desplazamiento
del
servomotor a partir de
la distancia a la cual se

2.6.1 QUE ES ARDUINO?


Arduino es una plataforma de hardware libre, basada en
una placa con un microcontrolador y un entorno de
desarrollo, diseada para facilitar el uso de la electrnica
en proyectos multidisciplinares.

microcontroladores II

U.T.S

.
all programado, este sensor maneja una seal digital la
cual revota a un objeto y la recibe el otro sensor para as
determinar la distancia y dar un valor especifico a la
seal

La plataforma Arduino se programa mediante el uso de


un lenguaje propio basado en el lenguaje de
programacin de alto nivel Processing que es similar a
C++.

2.6.6 DISPLAY LCD

2.7.1 PROGRAMACION DE LOS SENSORES EN


SOFWARE ARDUINO

Este
mdulo
se
encarga de mostrar en
una pantalla lcd la
temperatura de la casa
as podemos controlar
la temperatura del lugar
atreves de un sistema
de ventilacin activado
por un ventilador

#include <Servo.h>
Servo miservo;
LIBRERIAS

//DEFINE

LOS

TIPOS

DE

#define echoPin 7
#define trigPin 8 // DEFINE LOS PINES A UTILIZAR
EN EL PROYECTO
#define LEDPin 13
int LED_pin=10;
int LDR_pin=0;
int LDR_val=0;
int maximumRange = 20;
int minimumRange = 0;
long duration, distance;

2.6.7 servomotor

void setup() {
Serial.begin (9600);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT); //DEFINE LAS SALIDAS
Y ENTRADAS DEL ULTRASONIDO
pinMode(LEDPin, OUTPUT);
miservo.attach(6);
}
void loop() {
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin,HIGH);//DEFINELOS ESTADOS
DEL SENSOR
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = duration/58.2;
if (distance >= maximumRange || distance <=
minimumRange){ // COMPARA LAS DISTANCIAS
Serial.println("-1");
digitalWrite(LEDPin, LOW);
}
else {
Serial.println(distance);
digitalWrite(LEDPin, HIGH);
if (LEDPin >= HIGH){
for(int angulo = 0; angulo < 90; angulo += 1) { //
un ciclo para mover el servo entre los 0 y los 180 grados
miservo.write(angulo); // manda al servo la
posicion
delay(15);// espera unos milisegundos para
que el servo llegue a su posicion
}

Estos motores se encargan por medio delos sensores en


manejar las puertas de la casa como son la puerta
principal y la puerta del garaje
2.7 PRIMERA PROGRAMACION EN ARDUINO UNO

for(int angulo = 90; angulo >= 1; angulo -= 1)


{ // un ciclo para mover el servo entre los 180 y los 0
grados
miservo.write(angulo); // manda al servo la
posicion
delay(15); // espera unos milisegundos para
que el servo llegue a su posicion

microcontroladores II

U.T.S

.
}
}
delayMicroseconds(50);
}
LDR_val = analogRead(LDR_pin);
if (LDR_val>=20) // Si hay luz, apago el led
{
digitalWrite(LED_pin, LOW); // Apagamos el LED
}
else if (LDR_val<20) // Si no hay luz, enciendo el led
{
digitalWrite(LED_pin, HIGH); // Encendemos el
LED
}
}

Serial.print(h);
Serial.print(" %\t");
Serial.print("Temperatura: ");
Serial.print(t);
Serial.println(" *C ");
//Mostramos la informacin obtenida (temperatura y
humedad) en el Monitor Serial
//El \t es equivalente al tabulador (separa los datos)
//El Serial.prinln nos cambia de linea en la siguiente
lectura recibida
lcd.begin(16, 2);
//Indicamos el LCD que usamos: 16 caracteres y 2
lineas
lcd.setCursor(0,0);
//Situamos el cursor en la posicion 0 de la primera
linea
lcd.write("Temperatura: ");
lcd.setCursor(12,0);
lcd.print(t);
lcd.setCursor(14,0);
lcd.write((char)223);
//Editamos el simbolo de los grados
lcd.setCursor(15,0);
lcd.write("C");
lcd.setCursor(0,1);
lcd.write("Humedad: ");
lcd.setCursor(9,1);
lcd.print(h);
lcd.setCursor(14,1);
lcd.write("%");

2.7.2 PROGRAMACION DEL LCD Y EL SENSOR DE


TEMPERATURA
#include <LiquidCrystal.h>
//Llamamos a la libreria para controlar el LCD
incluida en el IDE de Arduino
LiquidCrystal lcd(7, 8, 9, 10, 11 , 12);
//Definimos los pines asignados al LCD segn el
esquema de conexin
#include "DHT.h"
//Llamamos a la libreria de los sensores DHT
instalada previamente
#define DHTPIN 2
#define DHTTYPE DHT22
//Definimos el pin de Arduino al que conectamos el
pin de datos del sensor e indicamos el tipo de sensor
(DHT22)

}
2.7.3 PROGRAMACION DEL BLUTOO Y
SENSORES ADTIVADOS POR APPINVENTOR

DHT dht(DHTPIN, DHTTYPE);


void setup(){
Serial.begin(9600);
Serial.println("Prueba DHT22");
//Iniciamos la comunicacion Monitor
editamos un texto descriptivo

Serial

LOS

#include <Servo.h>
Servo servo1;
Servo servo2;

int estado=0;
int retardo=100;
int analogo=0;

dht.begin();
//Iniciamos el sensor
}

2.7.4 PROGRAMACION
CONEXIN AL ARDUINO

void loop(){
delay(2000);
//Establecemos un retraso porque el DHT22 solo
realiza una lectura cada 2 segundos

void setup(){
servo1.attach(4);
servo2.attach(5);
pinMode(13,OUTPUT);
pinMode(12,OUTPUT);
pinMode(9,OUTPUT);
pinMode(5,OUTPUT);
pinMode(4,OUTPUT);
Serial.begin(9600);
delay(1000);
}

float h = dht.readHumidity();
float t = dht.readTemperature();
//Establecemos dos variables, una para la
temperatura en C y otra para la humedad relativa en %
if (isnan(h) || isnan(t)) {
Serial.println("Error al Leer Sensor DHT");
return;
//Con la funcion isnan controlamos que el valor
recibido del sensor sea un nmero, sino dara error
}
Serial.print("Humedad: ");

DE

LOS

PINES

DE

microcontroladores II

U.T.S

.
2.7.5 PROGRAMACION DE LAS ENTRADAS DEL
BLUTOO
void loop(){
if(Serial.available()>0){
estado = Serial.read }
if(estado== 'a'){
digitalWrite(13,HIGH);
}
if(estado== 'h' ){
digitalWrite(13,LOW);
}
if(estado== 'd' ){
digitalWrite(12,HIGH);
}
if(estado== 'k' ){
digitalWrite(12,LOW);
}
if(estado== 'e' ){
digitalWrite(9,HIGH);
}
if(estado== 'e' ){
digitalWrite(9,LOW);
}

Diseo de la maqueta

Prueba de sensores

if(estado== 'b' ){
// Movimiento del SERVO 1
servo1.write(0);
}
if(estado== 'i' ){
servo1.write(90);
}
if(estado== 'c' ){ // Movimiento del SERVO 2
servo2.write(0);
}
if(estado== 'j' ){
servo2.write(90);
}

Servomotor

}
3.0 RELIZANDO MONTAJE Y PRUEVAS DE LOS
SENSORES

se realiza la respectiva programacin y diseo


en labview

Servomotor futaba

microcontroladores II

U.T.S

Prueba de sensor de temperatura

3.1 CONCLUCIONES
se realiz un diseo de una casa automatizada a partir
de sensores y programas como labview para controlar
estos sensores de tal forma que la casa se automatice y
se ejecute los sensores de la casa para realizar una
funcin especfica como lo es manejo automtico de
luces,puertas,ventilacin y manejo de la cmara.
Las investigaciones y utilizacin de los tipos de sensores
a utilizar fueron de gran ayuda para llevar a trmino el
proyecto realizado anteriormente.
La programacin y realizacin del programa para
controlar la interfaz de arduino se bas en conocimientos
previos en c++ e investigaciones en el funcionamiento
de los sensores que usamos en el proyecto

Proyecto terminado y funcionando con sus


respectivas mejoras visuales y accesorios de
una casa familiar

Potrebbero piacerti anche