Vous êtes sur la page 1sur 17

DOMOTICA CON ARDUINO

Joaqun M. Salvatierra Perz


Rafael Torres Ibez
Rubn Gonzalez Martin
1 A.S.I.R

MATERIALES NECESARIOS

Hardware
1 Ordenador.
1 Arduino UNO R3.
1 Sensor de temperatura LM35.

Software
Programa Arduino.
Programa Processing.
Un servidor web.
Un servidor de base de datos.
Notepad ++.

INDICE
1.

En que va a consistir el proyecto.

2.

Creacin de una pagina web.

3.

Creacin de una Base de Datos.

4.

Creacin del fichero PHP.

5. Preparar Arduino para que lea mediante


Processing.
6. Creacin del cdigo para la temperatura que
leeremos mediante Processing.
7.

Montaje del sensor lm35 junto con arduino.

8. Cdigo que interpretar el programa mediante


processing y nos dar la temperatura.
9.

Conclusin y notas finales.

1.

En que va a consistir el proyecto.

El proyecto que llevaremos a cabo, consiste en almacenar la temperatura y


la hora en una base de datos, la cual accederemos mediante una pagina
html, enlazada a otra pagina php, donde se mostrarn las temperaturas y la
hora a a que se registr cada una.
Esta pagina se actualizar cada 15 segundos, dado que, cada 15 segundos
se recogen nuevos datos.
Para ello tendremos una placa arduino conectada al pc, con un sensor de
temperatura lm35.

2.

Creacin de una pagina web.

En este primer paso debemos crear una pagina web en HTML en la que
habr un botn que al pulsarlo nos listar las temperaturas y horas.
A nosotros nos a quedado una pagina tal que a si.

Y el cdigo seria:

3.

Creacin de una base de datos.

Una vez hecha la pgina web el siguiente paso que haremos ser crearnos
una base de datos para poder almacenar la temperatura.
Para esto crearemos una base de datos llamada temp, que tendr una tabla
llamada temperatura, que tendr 3 columnas:
id
temperatura
hora
Para ello haremos lo siguiente, escribiremos en la barra de direcciones del
navegador:
localhost/phpmyadmin

Nosaparecer esta pagina:

Una vez que estamos aqu, creamos la base de datos.

Crearemos una tabla que se llame temperatura con los 3 campos nombrados
anteriormente:

id: sera int y auto increment


temperatura: decimal y que solo tenga 2 decimales
hora: timestamp y current_time para que coja la hora actual.

4.

Creacin del fichero PHP.

En este paso vamos a crear el fichero PHP que se nos conectara a la base
de daros para que nos muestre en pantalla los valores de las tablas.

5. Preparar Arduino para que lea mediante


Processing.
En este paso le pasaremos un cdigo al arduino para que pueda leer el
cdigo del Processing.
Nos iramos a la pestaa de arriba donde pone Archivos, luego a la
opcion de ejemplos y se nos desplegaran varios, nos meteremos en el que
pone Firmata y se nos volver a abrir otro desplegable con mas
ejemplos de firmata, le daremos al que pone StandardFirmata y nos
debera aparecer esto:

Le daramos a la flecha y se lo cargaramos al Arduino.

6. Creacin del cdigo para la temperatura que


leeremos mediante Processing.

Antes de crear el cdigo, debemos de descargar el programa en su pagina


web:
https://processing.org/
Una vez descargado el programa, deberemos descargar 2 librerias. Una
para que reconozca el arduino y otra para el mysql.
Abrimos el programa y nos vamos a la pestaa superior Sketch se nos
habrira un desplegable, le damos a Import Library y se nos volver a
abrir un despegable donde le daremos a Add library.
Una nueva ventana se nos abrir, con una barra para buscar las libreras,
las libreras que tendremos que buscar y instalar son:
BezierSQlib
Arduino (Firmata)

7.

Montaje del sensor lm35 junto con arduino.

La instalacin del lm35 junto con el arduino es muy simple, solamente


tendremos que tener cuidado de colocar bien los 3 cables (5v, GND y el
numero analgico) o en menos de 20 segundo se pondr ardiendo.
Literalmente, mas de 300 C.
El orden de los cables es el siguiente:

En mi nuestro caso los cables blancos iran de la siguiente forma:


Cable blanco al 5V
Negro al GND
Rojo al A0

8. Cdigo que interpretar el programa mediante


processing y nos dar la temperatura.
import processing.serial.*;
// Permite la transferencia de datos en modo serial
import cc.arduino.*;
// Usa la librera instalada anteriormente para
reconocer el arduino
import de.bezier.data.sql.*;
// Usa la librera instalada anteriormente para
reconocer el cdigo mysql
float temperatura;
int temPin=0;
// Es el Pin analgico de la placa. A0 en nuestro caso
MySQL msql;
Arduino arduino;
String user = "root";
String pass = "******";
String database = "temp";
// Nuestros datos de mysql

void setup(){
arduino = new Arduino(this, Arduino.list()[0]);
// Crea una lista con los puertos COM del equipo.
Por lo que no hay que especificarle cual es, muy til
si vas a usarlo en mas equipos.
arduino.pinMode(temPin, Arduino.INPUT);
msql = new MySQL( this, "localhost", database,
user, pass );
}
void draw(){
temperatura = (5.0 * arduino.analogRead(temPin) *
100.0) / 1024.0;
// Es el cdigo para calcular la temperatura.
println(temperatura + " Grados Celsius");
if ( msql.connect() ){
msql.execute( "INSERT INTO temperatura
(temperatura) VALUES ('"+temperatura+"')");
// Hacemos una insercin de los datos sacados del
sensor, en la base de datos.
}

else{
println( "connection failed");
}
delay(15000);
// Intervalo de tiempo que en el que har una
lectura al arduino. 15 segundos en nuestro caso.
}

9.

Conclusin y notas finales.

En trabajo en si, ha estado entretenido. Pero esta, no es la forma mas til de hacer
esto.
Para hacer este trabajo de manera mas eficiente seria recomendable usar una placa
ethernet, que estn tiradas de precio y hacer las lecturas desde ah, que esta
infinitamente mas documentado que esto.
O si no la opcin mas recomendable seria usar el arduino yun, que incorpora ya su
sistema operativo, tiene ethernet, wifi etc... Y lo tendriamos todo ah dentro, sin
depender de otra maquina o servidor web.
Esta ultima opcin, tampoco es que salga muy cara, si quieres algo mas profesional
ya que por 27 y bajando podramos comprarnos un clon.

Vous aimerez peut-être aussi