You are on page 1of 23

Paso 6 Proyecto Final

DISEO DE UN SE CON BLUETOOTH

SISTEMAS EMBEBIDOS BASADOS EN ARDUINO

PRESENTADO POR:

IVAN FELIPE SARMIENTO GARCIA- CODIGO: 1069265110

PRESENTADO A: OSCAR IVAN VALDERRAMA

GRUPO: 208006_4

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD

ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA

25/ ABRIL/2016
CONTENIDO DEL INFORME:

El grupo colaborativo implementa fsicamente el sistema embebido diseado en el paso 4.

El sistema embebido a implementar tendr las siguientes caractersticas:

Basado en un microcontrolador Arduino. La referencia del microcontrolador ser


aquella que se ajuste mejor al diseo propuesto.
La comunicacin bluetooth se har utilizando el mdulo HC06, el cual se estudi en
detalle en la Unidad 2.
La aplicacin web, ser desarrollada utilizando el sitio MIT App Inventor.

El grupo colaborativo realizar un informe, en el cual se evidencie el proceso de


implementacin del sistema embebido.

De igual manera, el grupo colaborativo realizar un video, en el cual se presentar el


sistema embebido implementado. El video debe evidenciar el correcto funcionamiento del
sistema embebido y que efectivamente da solucin a la situacin problmica, descrita en el
paso 4. Este video ser subido a YouTube y su duracin no podr exceder los 5 minutos.
o
Pantallazos con los sketchs en Arduino.

DESARROLLO:
Fotos de la implementacin fsica.
DESARROLLO:
Evidencias del correcto funcionamiento del sistema embebido diseado.
DESARROLLO:
Video de la implementacin fsica :
https://www.youtube.com/watch?v=_714Y7PuLtw&feature=youtu.be

Aplicacin en app inventor


Programacin en app inventor
Programacin el arduino :
Cdigo:

//Universidad Nacional Abierta y a Distancia UNAD


//Curso: Sistemas Embebidos
//Autor: Ivan Felipe Sarmiento Garcia Codigo : 1069265110
//Fecha:25 de Abril 2017
//Paso 6 Proyecto Final
//Presentado : Oscar Ivan Valderrama Arias
#include <LiquidCrystal.h>

LiquidCrystal lcd(12,11 , 5, 4, 3, 2);


//dh11

#include "DHT.h"
#define DHTPIN 7
// Uncomment whatever type you're using!
//#define DHTTYPE DHT11 // DHT 11
#define DHTTYPE DHT11 // DHT 22 (AM2302), AM2321
//#define DHTTYPE DHT11 // DHT 21 (AM2301)

// Connect pin 1 (on the left) of the sensor to +5V


// NOTE: If using a board with 3.3V logic like an Arduino Due connect pin 1
// to 3.3V instead of 5V!
// Connect pin 2 of the sensor to whatever your DHTPIN is
// Connect pin 4 (on the right) of the sensor to GROUND
// Connect a 10K resistor from pin 2 (data) to pin 1 (power) of the sensor

const int DHTPin = 7; // what digital pin we're connected to

DHT dht(DHTPIN, DHTTYPE);

//fin dh11
//foto sensor

// Variable donde se almacena el valor del LDR


// Pin analogico de entrada para el LDR
int pinLDR = A3;

// Variable donde se almacena el valor del LDR


int valorLDR = 3;

//fin foto sensor

const int sensorPin =A0; //lm35


int led10=10;
int led8=8;
int estado=0;

void setup(){
Serial1.begin(9600);
pinMode(led10,OUTPUT);
pinMode(led8,OUTPUT);

//dh11

Serial.println("DHTxx test!");

dht.begin();

//findh11

void loop(){

//dh11

// Wait a few seconds between measurements.


delay(2000);

if(Serial1.available()>0){
estado = Serial1.read();
}
// control de la humedad

if (estado=='1'){

// Reading temperature or humidity takes about 250 milliseconds!


// float h = dht.readHumidity();
// float t = dht.readTemperature();

int h = dht.readHumidity();// Lee la humedad


int t= dht.readTemperature();//Lee la temperatura
//findh11

digitalWrite(led10,LOW);
digitalWrite(led8,LOW);
lcd.begin(16, 2);
lcd.setCursor(0,0);
lcd.write("humedad: ");
lcd.setCursor(11,0);
lcd.print(h);
delay(200);
lcd.setCursor(15,0);
lcd.write("%");

///
// Encender los leds apropiados de acuerdo al valor de ADC
if(h < 15)
{
lcd.begin(16, 2);
lcd.setCursor(0,0);
lcd.write("humedad ");
lcd.setCursor(0,1);
lcd.print("baja");
digitalWrite(led10, HIGH);
digitalWrite(led8, LOW);

//|| (valorLDR > 1))

}
if( (h > 15) && (h < 25) )
{
lcd.begin(16, 2);
lcd.setCursor(0,0);
lcd.write("humedad ");
lcd.setCursor(0,1);
lcd.print("perfecta");
digitalWrite(led10, LOW);
digitalWrite(led8, LOW);

}
if(h> 25 )
{
lcd.begin(16, 2);
lcd.setCursor(0,0);
lcd.write("humedad ");
lcd.setCursor(0,1);
lcd.print("alta");

digitalWrite(led10, LOW);
digitalWrite(led8, HIGH);
}
// Esperar unos milisegundos antes de actualizar
delay(200);

///

// control de la temperatura
if(estado=='2'){

int sensorVal = analogRead(sensorPin);//lm35

Serial.print("Sensor Value: ");//lm35


Serial.print(sensorVal);//lm35

Serial.print("Sensor Value: ");//lm35

//lm35
float voltage = (sensorVal/1024.0) * 5.0;

Serial.print(", Voltios: ");


Serial.print(voltage);

Serial.print(", Voltios: ");

Serial.print("; Temp. Grados: ");


int temperature = (voltage ) * 100;
Serial.println(temperature);

//lm35
digitalWrite(led10,LOW);
digitalWrite(led8,LOW);
lcd.begin(16, 2);
lcd.setCursor(0,0);
lcd.write("temperatura: ");
lcd.setCursor(11,0);
lcd.print(temperature);
delay(200);
lcd.setCursor(15,0);
lcd.write("%");

// Encender los leds apropiados de acuerdo al valor de ADC


if(temperature < 15)
{
lcd.begin(16, 2);
lcd.setCursor(0,0);
lcd.write("temperatura ");
lcd.setCursor(0,1);
lcd.print("baja");
digitalWrite(led10, HIGH);
digitalWrite(led8, LOW);

//|| (valorLDR > 1))

}
if( (temperature > 15) && (temperature < 25) )
{
lcd.begin(16, 2);
lcd.setCursor(0,0);
lcd.write("temperatura ");
lcd.setCursor(0,1);
lcd.print("perfecta");
digitalWrite(led10, LOW);
digitalWrite(led8, LOW);

}
if(temperature > 25 )
{
lcd.begin(16, 2);
lcd.setCursor(0,0);
lcd.write("temperatura ");
lcd.setCursor(0,1);
lcd.print("alta");

digitalWrite(led10, LOW);
digitalWrite(led8, HIGH);
}
// Esperar unos milisegundos antes de actualizar
delay(200);

//lm35fin

// control de la luminosidad
if(estado=='3'){

// Apagar todos los leds siempre que se inicia el ciclo


digitalWrite(led10, LOW);
digitalWrite(led8, LOW);
// Guardamos el valor leido del ADC en una variable
// El valor leido por el ADC (voltaje) aumenta de manera directamente proporcional
// con respecto a la luz percibida por el LDR
valorLDR= analogRead(pinLDR);

// Devolver el valor leido a nuestro monitor serial en el IDE de Arduino


Serial.println(valorLDR);

// Encender los leds apropiados de acuerdo al valor de ADC


if(valorLDR > 256)
{
lcd.begin(16, 2);
lcd.setCursor(0,0);
lcd.write("luminosidad ");
lcd.setCursor(0,1);
lcd.print("nula");
digitalWrite(led10, HIGH);
digitalWrite(led8, LOW);

//|| (valorLDR > 1))

}
if(valorLDR > 512 )
{
lcd.begin(16, 2);
lcd.setCursor(0,0);
lcd.write("luminosidad ");
lcd.setCursor(0,1);
lcd.print("perfecta");
digitalWrite(led10, LOW);
digitalWrite(led8, LOW);

}
if(valorLDR > 768 )
{
lcd.begin(16, 2);
lcd.setCursor(0,0);
lcd.write("luminosidad ");
lcd.setCursor(0,1);
lcd.print("alta");

digitalWrite(led10, LOW);
digitalWrite(led8, HIGH);
}
// Esperar unos milisegundos antes de actualizar
delay(200);

//fin luminosidad
}

// control de encendido del motor


if(estado=='6'){
digitalWrite(led10,LOW);
digitalWrite(led8,HIGH);
}

// control de encendido del motor en direccion contraria


if(estado=='5'){
digitalWrite(led8,LOW);
digitalWrite(led10,HIGH);
}

// control de apagado del motor


if(estado=='4'){
digitalWrite(led8,LOW);
digitalWrite(led10,LOW);
}

}
Compilacin correcta del anterior cdigo :

Link del video en YouTube con la presentacin del proyecto final.

DESARROLLO:
https://www.youtube.com/watch?v=_714Y7PuLtw&feature=youtu.be
REFERENCIAS

Las siguientes referencias (Libros y Videos) le sern tiles para realizar el diseo del
sistema embebido basado en Arduino. Usted debe usar los libros, como libros de consulta,
para aclarar dudas o resolver dudas de compilacin. Es decir, no se requiere la lectura
completa de ellos.
Patterson, R. & Patterson, K. (2014). Arduino for Teens (1st ed.). Boston: Cengage
Learning PTR. Recuperado
dehttp://bibliotecavirtual.unad.edu.co:2051/login.aspx?direct=true&db=e000xww&AN=65
6420&lang=es&site=ehost-live
Prayaga, Lakshmi; Whiteside, Alex; Hawthorne, Jeffrey (2013). Android App Inventor for
the Absolute Beginner. (Chapter 1, pp 1-17). Recuperado
de: http://bibliotecavirtual.unad.edu.co:2051/login.aspx?direct=true&db=e000xww&AN=6
05543&lang=es&site=ehost-live&ebv=EB&ppid=pp_xii
Garca, Jos. [El profe Garca]. (2014, Septiembre 24). Control del Arduino desde su
telfono Android (va Bluetooth). [Archivo de Video]. Recuperado
de https://youtu.be/ftXTtba_CjU
Garca, Jos. [El profe Garca]. (2014, Octubre 22). Como crear su propia App en Android
para controlar Arduino (Bluetooth) Tutorial. [Archivo de Video]. Recuperado
de https://youtu.be/S8q1vbVMV2Q
[REDunX]. (2012, Diciembre 3). Reto 1: Primeros pasos con AppInventor. [Archivo de
Video]. Recuperado
de https://youtu.be/ILTktsIvq2w?list=PLxboy4KoBsFrf6O9fsu6Q1G9bifxnrL5t
En el siguiente video tutorial explica paso a paso cmo crear una aplicacin web usando el
sitio App Inventor del MIT.
Fajardo, Carlos (2016, Diciembre 8). [Archivo de Video]. Primeros pasos con App
Inventor. Recuperado de http://hdl.handle.net/10596/9829
Las siguientes referencias, pueden servir como complemento a las lecturas y videos
referenciados previamente. Especialmente, para el trabajo relacionado con el
microcontrolador arduino.
Boxall, J. (2012). Arduino workshop: A Hands-on Introduction with 65 Projects (1ra ed.).
San Francisco, California: No Starch Press. Recuperado
de http://bibliotecavirtual.unad.edu.co:2051/login.aspx?direct=true&db=e000xww&AN=57
8482&lang=es&site=ehost-live&ebv=EB&ppid=pp_Cover

You might also like