Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
U.T.S
PROYECTO
CASA DOMOTICA BASADA EN APP INVENTOR Y ARDUINO
ABSTRACT:
2.1 INVESTIGACION
software
de
programacin
KEYPHRASES:
1 INTRODUCCIN
MATERIALES
Estructura:
Lminas de cielo raso PBC Cartn paja Foamy
-Canaleta
microcontroladores II
U.T.S
Sensores:
Temperatura DS18B20- Gas MQ2 Luz (LDR)Ultrasnico HC-SR04 Presencia PIR
Actuadores:
1 Ventilador -5 leds -4 Servomotores
Indicadores:
Pantalla LCD para arduino
Microcontroladores:
2 Arduino uno
Fig.1. Investigando
2.4.2
COMUNICACION
ARDUINO
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.
2.6.2 SENSORES
AUTOMATIZADA
UTILIZADOS
EN
LA
CASA
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
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
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
}
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.3 PROGRAMACION DEL BLUTOO Y
SENSORES ADTIVADOS POR APPINVENTOR
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
Servomotor futaba
microcontroladores II
U.T.S
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