Proyectos con arduino

ARDUINO PROYECTOS CONTENIDOS INTRODUCCIÓN ............................................................................

Views 135 Downloads 7 File size 832KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

ARDUINO PROYECTOS

CONTENIDOS INTRODUCCIÓN ........................................................................................................................... V MONITOREO DE TEMPERATURA, TIEMPO Y OBJETOS................................................................... 1 ¿Qué necesitamos? ...................................................................................................................... 2 Desarrollo .................................................................................................................................... 3 Lectura de Tiempo (Fecha y Hora)............................................................................................ 3 Lectura de Temperatura .......................................................................................................... 3 Lectura de Objetos detectados ................................................................................................ 3 Procesamiento de información ................................................................................................ 3 Circuito ........................................................................................................................................4 Programación...............................................................................................................................4 Funcionamiento del proyecto .......................................................................................................6 MENSAJES DE TEXTO GSM..............................................................................................................9 ¿Qué necesitamos? .................................................................................................................... 10 Desarrollo .................................................................................................................................. 10 Módulo GSM/GPRS SIM900 ................................................................................................... 10 Recepción de mensajes de texto SMS .................................................................................... 11 Transmisión de mensajes de texto SMS ................................................................................. 11 Procesamiento....................................................................................................................... 11 Conexiones del módulo al Arduino ......................................................................................... 12 Circuito ...................................................................................................................................... 12 Programación............................................................................................................................. 13 Funcionamiento del proyecto ..................................................................................................... 14 IDENTIFICACIÓN DE NÚMEROS CELULARES................................................................................. 19 ¿Qué necesitamos? .................................................................................................................... 20 Desarrollo .................................................................................................................................. 20 Recepción de datos................................................................................................................ 20 Segmentación de datos ......................................................................................................... 20

I

Conexiones del módulo al Arduino ......................................................................................... 21 Circuito ...................................................................................................................................... 22 Programación............................................................................................................................. 23 Funcionamiento del proyecto ..................................................................................................... 24 ESTACIÓN DE MONITOREO GSM .................................................................................................. 29 ¿Qué necesitamos? .................................................................................................................... 30 Desarrollo .................................................................................................................................. 31 Lectura de Tiempo (Fecha y Hora).......................................................................................... 31 Lectura de Temperatura ........................................................................................................ 32 Lectura de Objetos detectados .............................................................................................. 32 Recepción de datos................................................................................................................ 32 Transmisión de mensajes de texto SMS ................................................................................. 32 Segmentación de datos ......................................................................................................... 33 Procesamiento de información .............................................................................................. 33 Conexiones del módulo al Arduino ......................................................................................... 34 Circuito ...................................................................................................................................... 36 Programación............................................................................................................................. 36 Funcionamiento del proyecto ..................................................................................................... 42 SISTEMA DE SEGURIDAD GSM ...................................................................................................... 49 ¿Qué necesitamos? .................................................................................................................... 50 Desarrollo .................................................................................................................................. 51 Procesamiento de información .............................................................................................. 51 Conexiones del módulo al Arduino ......................................................................................... 53 Circuito ...................................................................................................................................... 54 Programación............................................................................................................................. 55 Funcionamiento del proyecto ..................................................................................................... 61 CERRADURA ELECTRÓNICA RFID.................................................................................................. 71 ¿Qué necesitamos? .................................................................................................................... 72 Desarrollo .................................................................................................................................. 74 Tarjetas RFID (tags) ............................................................................................................... 74

II

Lectura de tags ...................................................................................................................... 75 Esquemáticos............................................................................................................................. 75 Diseño de circuitos en PCB ......................................................................................................... 76 Programación............................................................................................................................. 77 Proceso de contrucción del proyecto .......................................................................................... 81 Funcionamiento del proyecto ..................................................................................................... 88 CONTROL DE PERSIANAS POR BLUETOOTH ................................................................................ 91 ¿Qué necesitamos? .................................................................................................................... 92 Desarrollo .................................................................................................................................. 94 Modulo Bluetooth HC-05 ....................................................................................................... 94 Configuración del módulo HC-05............................................................................................ 94 Lectura de datos ....................................................................................................................96 Esquemáticos............................................................................................................................. 97 Diseño de circuitos en PCB ......................................................................................................... 97 Programación.............................................................................................................................99 Desarrollo de la aplicación Android en AppInventor .................................................................. 100 Proceso de contrucción del proyecto ........................................................................................ 102 Funcionamiento del proyecto ................................................................................................... 108 PANTALLA LED 48X8 ....................................................................................................................111 ¿Qué necesitamos? .................................................................................................................. 112 Desarrollo ................................................................................................................................ 114 Multiplicación ...................................................................................................................... 114 Desplazamiento ................................................................................................................... 115 Presentación de texto en la pantalla ..................................................................................... 115 Pantalla LED ........................................................................................................................ 115 Esquemáticos........................................................................................................................... 116 Diseño de circuitos en PCB ....................................................................................................... 119 Programación........................................................................................................................... 122 Funcionamiento del proyecto ....................................................................................................131

III

IV

INTRODUCCIÓN Este texto tiene 8 increíbles proyectos en Arduino útiles y prácticos para aplicaciones en el mundo real. Estos proyectos son diseñados a base de las necesidades de los clientes y de quienes ven en la electrónica una forma nueva de cambiar al mundo. Es maravilloso disponer una plataforma de fácil acceso a microcontroladores, ya que literalmente pueden transformar el desarrollo de aplicaciones más sutiles y al alcance de todo principiante o diseñador electrónico. Todo es posible realizar en la plataforma Arduino, por su compactibilidad, disponibilidad y por el diseño electrónico que lo hace fácil y divertido.

V

VI

ARDUINO - PROYECTOS

MONITOREO DE TEMPERATURA, TIEMPO Y OBJETOS

1

MONITOREO DE TEMPERATURA, TIEMPO Y OBJETOS

Este proyecto permite detectar objetos con un sensor ultrasónico Maxbotix LV-EZ4, leer de tiempo (fecha y hora) y temperatura con el módulo RTC DS323, presentar información de diferentes fuentes en una pantalla LCD de 16x2 como monitor de usuario. Este proyecto sirve como inicio de futuros proyectos. ¿QUÉ NECESIT AMOS? Para el desarrollo de este proyecto dispondremos de los siguientes materiales:         

2

1x Arduino UNO o MEGA 2560 1x módulo RTC DS323 1x Maxbotix LV-EZ4 1x pantalla LCD 16x2 2x LEDS (rojo y azul) 4x resistencias de 330 Ω 1x potenciómetro de 10 KΩ Cables Protoboard.

Arduino UNO o MEGA

Módulo RTC DS323

Maxbotix LV-EZ4

Pantalla LCD 16x2

LEDS (rojo y azul)

Resistencias de 330 Ω

Potenciómetro

Cables

Protoboard

ARDUINO - PROYECTOS

DESARROLLO

LECTURA DE TIEMPO (F ECHA Y HORA) La lectura del tiempo se obtiene del Módulo RTC DS323. Este es un dispositivo que trabajar con eventos precisos, puntuales y exactos a lo largo del tiempo. Este pequeño dispositivo es muy útil en relojes RTC (Real Time Clock) por su sencillez de uso y por su confiabilidad a largo plazo, y preparado para ofrecerte el tiempo hasta el año 2100 y bisiestos. Para la lectura de hora y fecha se usa el bus I2C, la cual se obtiene las horas, minutos, segundos, día de la semana, día del mes, meses y años que contempla los años bisiestos hasta fin de siglo. Por lo tanto, las conexiones entre Arduino Uno y Mega son las siguientes: PINES DS3231 (I2C)

ARDUINO UNO

ARDUINO MEGA

1

SDA

A4

20

2

SCL

A5

21

3

GND

GND

GND

4

VCC

5V

5V

LECTURA DE TEMPERATU RA La lectura de temperatura se obtiene del mismo Módulo RTC DS3231, en él se encuentra integrado en el interior un dispositivo o sensor de temperatura. Por lo tanto, la lectura de esta variable se la hace por el puerto I2C cuyas unidades son en grados Celsius o centígrados. LECTURA DE OBJETOS D ETECTADOS El sensor Ultrasónico Maxbotix LV-EZ4 permite detectar objetos entre 0 a 6.45 metros. La ventaja de usar este sensor es la disponibilidad de tres interfaces de salida, de las cuales son activadas simultáneamente: salida digital por Ancho de Pulso (PW), salida analógica de voltaje (AN), y salida digital serial asíncrona (RX, TX). Para este proyecto se usara el puerto analógico de voltaje para la lectura de objetos. PROCESAMIENTO DE INFORMACIÓN Para obtener las variables de tiempo y temperatura es necesario leer la información del módulo RTC desde su memoria EEPROM en la dirección correcta, pero la ventaja de usar librerías externas permite facilitar esta tarea, mediante la función

3

MONITOREO DE TEMPERATURA, TIEMPO Y OBJETOS

Clock.getX() donde X es el tipo de variable para hacer la captura de los datos correspondientes (hora, minuto, temperatura, año, etc). Para obtener la variable de distancia de un objeto detectado, se usa la librería externa para realizar la tarea de transformar datos analógico (0-1023) a unidades métricas según la distancia del objeto a través de la función rangeSensorAD.getRange(). Para un objeto detectado se encenderá un LED rojo como indicador de advertencia o indicador fuera de un rango permitido de detección (0.3 a 5 metros), por lo contrario se mantendrá encendido un LED azul como indicador permitido de detección de objetos, es decir dentro del rango permitido de detección. CIRCUITO

PROGRAMACIÓN La programación desarrollada en el IDE de Arduino utiliza las librerías Wire.h y DS3231.h para el uso del módulo DS3231, la librería Maxbotix.h para el uso del sensor Maxbotix LV-EZ4, y LiquidCrystal.h para la pantalla LCD. Las librerías para el modulo DS3231 y sensor Maxbotix LV-EZ4 pueden ser descargados en el siguiente enlace: www.ecuduino.wordpress.com/librerias/

4

ARDUINO - PROYECTOS

/***************************************************************** * Proyecto: * * Monitoreo de temperatura, tiempo y objetos * ****************************************************************** Este programa permite mostrar temperatura, detección de objetos fecha y hora en un monitor serial y pantalla LCD con un modulo RTC RS3231 y MaxSonar. *****************************************************************/ /* * * * * * * * * * * */

LCD RS pin to digital pin 11 LCD Enable pin to digital pin 10 LCD D4 pin to digital pin 9 LCD D5 pin to digital pin 6 LCD D6 pin to digital pin 5 LCD D7 pin to digital pin 4 LCD R/W pin to ground 10K resistor: ends to +5V and ground wiper to LCD VO pin (pin 3)

#include #include #include #include



"Maxbotix.h"

Maxbotix rangeSensorAD(A0, Maxbotix::AN, Maxbotix::LV); LiquidCrystal lcd(11, 10, 9, 6, 5, 4); DS3231 Clock; bool Century=false; bool h12; bool PM; int LED_1 = 2; int LED_2 = 3;

// Led azul // Led rojo

void setup(){ Wire.begin(); // Iniciamos la interfaz I2C Serial.begin(115200); // Iniciamos la interfaz serial pinMode(LED_1,OUTPUT); pinMode(LED_2,OUTPUT); digitalWrite(LED_1,LOW); digitalWrite(LED_2,LOW); lcd.begin(16,2); } void loop(){ int second,minute,hour,date,month,year,temperature; second=Clock.getSecond(); minute=Clock.getMinute(); hour=Clock.getHour(h12, PM); date=Clock.getDate(); month=Clock.getMonth(Century); year=Clock.getYear(); temperature=Clock.getTemperature(); float distance = (rangeSensorAD.getRange())/100;

//metros

5

MONITOREO DE TEMPERATURA, TIEMPO Y OBJETOS

if((distance=5)){ digitalWrite(LED_2,HIGH); digitalWrite(LED_1,LOW); } else{ digitalWrite(LED_1,HIGH); digitalWrite(LED_2,LOW); } //Presentación en pantalla LCD lcd.clear(); lcd.setCursor(0,0); lcd.print(date,DEC); lcd.print('/'); lcd.print(month,DEC); lcd.print('/'); lcd.print(year,DEC); lcd.print(' '); lcd.setCursor(0,1); lcd.print(hour,DEC); lcd.print(':'); lcd.print(minute,DEC); lcd.print(':'); lcd.print(second,DEC); lcd.setCursor(9,0); lcd.print("T="); lcd.print(temperature); lcd.print("'C"); lcd.setCursor(9,1); lcd.print("D="); if (distance>=10){ lcd.print("Error"); } else{ lcd.print(distance); } lcd.print("m"); delay(1000); }

FUNCIONAMIENTO DEL P ROYECT O Una vez culminado con todo los procesos correspondientes al armado y a la programación, debemos asegurarnos que todo funciones correctamente; lectura de datos del módulo y sensor ultrasónico, presentación de datos en pantalla LCD, y encendido de LEDs. La tarjeta implementada es el Arduino MEGA, para esta práctica no hay restricciones para el uso de diferentes tarjetas Arduino.

6

ARDUINO - PROYECTOS

Por ultimo realizamos la detección de objetos a ciertas distancias para asegurarnos de su correcta funcionalidad, p. ej. 15cm y led rojo encendido.

Listo, este proyecto está listo para aplicarlo a una infinidad de aplicaciones útiles.

7