Proyectos final de curso

Como final de curso, se propone realizar varios proyectos individualmente o en grupo.

Estación meteorológica

Hacer una estación meteorológica con una sonda de temperatura y la pantalla LCD. Hacer que lea continuamente la temperatura y la muestre por pantalla. Poner un botón que al pulsarlo la primera vez muestre por pantalla la máxima temperatura leída, al volver a pulsarlo muestre la temperatura mínima leída y al volver a pulsarlo muestre la temperatura actual. Para resetear los valores máximo y mínimo, pulsar durante 5 segundos el botón y muestre por pantalla “valores reseteados”.

Avanzado: Con el shield de ethernet conectarse a internet y mediante la API de http://openweathermap.org/ y obtener los datos de humedad y presion y mostrarlos por pantalla. Actualizar estos datos cada hora. También se pueden obtener los datos de la API de AEMET.

Información adicional:

Arranque y parada controlada de motor DC

Mover un motor DC de 9V usando un integrado L293D (Quadruple Half-H driver). Para controlar la velocidad del motor se usará un potenciómetro conectado al pin A0. Además se usarán dos botones, uno conectado al pin digital 4 para controlar el sentido de giro del motor y otro conectado al pin digital 5 que controlará el encendido y apagado del motor. Con cada pulsación encendemos y apagamos el motor o usamos una dirección de giro u otra con el otro botón.

Sobre este montaje, añadir una rampa de arranque y otra de parada cuando se detecte el encendido y apagado. También añadir una rampa de parada y arranque cuando se detecte un cambio de sentido. Añadir un botón de parada de emergencia, que al pulsarlo, se pare el motor inmediatamente.

Información adicional: https://github.com/jecrespo/Aprendiendo-Arduino/blob/master/Ejercicio21-MotorDC_2/Ejercicio21-MotorDC_2.ino

Grabar datos de temperatura en una Base de Datos (datalogger)

Datalogger de los datos de temperatura leídos por Arduino y enviados a una base de datos instalada en una Raspberry Pi. Se usará una RPi que tenga un servidor LAMP instalado y grabar en una tabla de una BBDD MySQL los datos de temperatura que mande Arduino cada 20 segundos.

Este ejercicio consiste en mandar datos a un servidor mediante requests POST HTTP con Arduino. Los datos que mandará Arduino son la temperatura leída por el sensor de temperatura cada 20 segundos y el post mandará el número de arduino y la temperatura: “id=5&temperatura=21.8”. Estos datos son recogidos por un script php (el que es llamado por el HTTP request de Arduino) que se encarga de grabarlos en la base de datos correspondiente.

Dos estrategias para guardar datos de Arduino en un servidor, pull y push:

Pull: Una aplicación en un ordenador o servidor pregunta a Arduino por los datos

Push: Arduino se comunica con el servidor para mandarle los datos

Posteriormente esos datos se podrán analizar, representar gráficamente o mostrar en una web de forma dinámica. Todos los Arduinos grabarán datos en la misma tabla y al mandar las temperaturas identificarán que arduino es, para luego poder diferenciar las temperaturas de cada uno de ellos.

Información adicional:

Para poder usar una Raspberry Pi en este ejercicio, necesitamos instalar un servidor LAMP, tutoriales de como hacerlo:

También podemos instalar Postfix en Raspberry Pi como servidor SMTP para mandar correos desde nuestro Arduino al ocurrir un evento como por ejemplo superar un umbral de temperatura:

Otras opciones:

Al igual que grabamos estos datos en una Raspberry Pi, podría hacerse en un servidor público que tengamos en un hosting compartido.

También podemos usar servicios en la nube como https://plot.ly/ que ya dispone de una API REST https://plot.ly/rest/ y una librería para Arduino https://github.com/plotly/arduino-api  

Mandar mensajes desde Arduino y visualizarlos en tiempo real

Crear un sistema para mandar mensajes en tiempo real a un servidor, podría simular un sistema de alertas de varios dispositivos remotos conectados a un servicio en la nube de visualización de alertas de dispositivos remotos.

Arduino solicita un nombre y un mensaje que escribimos en el puerto serie y lo manda a un servidor. Desde el servidor vemos los mensajes en tiempo real. Por ejemplo serviría para enviar alarmas a un sistema de monitorización cuando Arduino detecta un evento (pulsar un botón, abrir una puerta, etc…).

El servidor que recoge los mensajes está en www.aprendiendoarduino.com o el la IP de la Raspberry Pi instalada en el aula.

Visualizar los mensajes: http://www.aprendiendoarduino.com/servicios/ o IP Raspberry Pi.

mensajes

Más proyectos

Más proyectos con Arduino en: https://aprendiendoarduino.wordpress.com/2015/04/16/tema-5-taller-de-proyectos-con-arduino/

2 comentarios en “Proyectos final de curso

  1. Pingback: Día 10. Proyectos Arduino – Aprendiendo Arduino

  2. Pingback: Día 10. Proyectos – Aprendiendo Arduino

Deja un comentario

Este sitio utiliza Akismet para reducir el spam. Conoce cómo se procesan los datos de tus comentarios.