Documentos de Académico
Documentos de Profesional
Documentos de Cultura
0
Custodium soluciones y sistemas SL
Ernesto Snchez
Custodium soluciones y sistemas S.L.
info@custodiumtracker.net
www.custodiumtracker.com
www.custodium.net
Algunas partes de ste documento, en concreto "Instalacin del IDE de Arduino", "Introduccin al IDE de Arduino" han
sido realizadas a partir de las guas existentes de la web de Arduino (http://www.arduino.cc).
Revisin:
Fecha
Comentarios
9 de diciembre de 2013
17 de marzo de 2014
22 de abril de 2014
ndice
Prefacio.................................................................................................................................................5
Introduccin..........................................................................................................................................6
Que es Custodium Tracker...............................................................................................................6
Por qu Custodium Tracker.............................................................................................................6
Hardware..............................................................................................................................................7
Como funciona Custodium Tracker.................................................................................................7
Conexin para programacin...........................................................................................................8
Conexin a travs de un mdulo FTDI.......................................................................................8
Conexin a travs de un Arduino UNO......................................................................................9
Software..............................................................................................................................................10
Instalacin del IDE de Arduino.....................................................................................................10
Windows....................................................................................................................................10
Linux.........................................................................................................................................11
MacOsX....................................................................................................................................11
Introduccin al IDE.......................................................................................................................12
Comenzando con Custodium Tracker................................................................................................15
Ejemplos de aplicacin.......................................................................................................................16
Blinking led....................................................................................................................................16
Sensor de luz..................................................................................................................................16
Comunicacin por el puerto serie..................................................................................................17
SIM908..........................................................................................................................................17
RTC................................................................................................................................................17
Prefacio
Esta gua de desarrollo intenta ser una forma de acercarse al diseo y desarrollo de proyectos
basados en Custodium Tracker para aquellas personas que que disponen de unos conocimientos
bsicos de Arduino, o si bien nunca han trabajado con l poseen un buen nivel en programacin y
electrnica y desean acercarse al interesante mundo del geoposicionamiento y el internet de las
cosas. Por esta razn y para hacerlo fcil, se ha excluido mucha informacin existente en Internet y
otros manuales para centrarse en los aspectos ms bsicos de las caractersticas de Custodium
Tracker.
Es interesante para el desarrollador recordar que Custodium Tracker nace con la idea de ser
compatible con la informacin y ejemplos ya existentes de Arduino.
Esperamos que les sea de utilidad.
Introduccin
Que es Custodium Tracker
Custodium Tracker es el primer tracker gps en miniatura, libre y modular que proporciona toda la
documentacin, ejemplos y soporte necesarios para que el usuario final o desarrollador pueda
adaptarlo a sus necesidades especficas, haciendo que se comunique con otros dispositivos,
sensores etc.
Nuestra idea es que el usuario y el desarrollador tenga total libertar para elegir el proveedor de datos
gprs, aplicacin web, mapas etc. Sintete libre de crear tu propio firmware, aplicacin web o
accesorios.
A su vez, y en lugar de crear una plataforma nueva desde cero hemos querido mantener la
compatibilidad de Custodium Tracker con el IDE y ejemplos de Arduino ya existentes en la red, con
lo que cualquier desarrollador que ya tenga conocimientos de sta plataforma puede usarlos
directamente, adems de ser respaldado y ayudado por la comunidad ya existente de Arduino.
Hardware
Como funciona Custodium Tracker
Custodium Tracker es un dispositivo que cuenta con los siguientes mdulos claramente
diferenciados:
- Microcontrolador Atmega328P a 8mhz
- Reloj en tiempo real (RTC)
- Alojamiento para tarjeta SIM
- Interruptor de encendido/apagado
- Puerto mini USB para carga de batera
- Pads para entrada de carga
- Conector tipo JST para batera LiPo de 3,7v
- Mdulo de comunicaciones GSM/GPRS/GPS SIM908
- Conectores para antena GSM y GPS
- Conector ISP
- Puerto serie
Los componentes estn conectados al microcontrolador siguiente forma:
- ISP: D13 SCK, D12 MISO, D11, MOSI, D10 SS
- JP2: Rx - D0 y Tx - D1
- SIM908: D4 - Rx , D5 - Tx, D8 - ON/OFF , D9 - RST
- RTC: ICSP (MISO, MOSI,SCK y SS), D2 SWQ , D3 SS
Descripcin general
Pinout
IMPORTANTE:
A nivel de hardware hay que tener en cuenta las siguientes consideraciones, no seguirlas puede
conllevar la destruccin del hardware:
- El puerto USB y los pads de carga solamente sirven para cargar la batera, en ningn caso
alimentan el resto del circuito, necesitan 5V estabilizados.
- El interruptor de encendido/apagado debe ser manipulado con cuidado, en ningn caso realizando
palanca sobre el mismo con un elemento externo.
- Las bateras han de ser de tipo LiPo y de 3,7V nominales.
- No se debe tener conectada la batera y una fuente de alimentacin externa al mismo tiempo.
IMPORTANTE:
- Se puede alimentar Custodium Tracker para su programacin mediante el pin de Vcc del
bus ISP, en este caso la batera debe estar desconectada o el interruptor en posicin de
OFF, en caso contrario Custodium Tracker puede resultar seriamente daado.
- En caso de alimentarse a travs del pin Vcc del bus ISP algunas comunicaciones del
SIM908 pueden no funcionar correctamente, ya que el puerto USB no tiene potencia
suficiente.
AVISO SOBRE EL USO DE OTROS MDULOS FTDI:
- En algunos mdulos FTDI los pines Rx y Tx estn etiquetados al revs, en caso de obtener algn
error hay que probar a invertir dichos pines.
Se habr de cablear como muestra el siguiente esquema:
IMPORTANTE:
- Se puede alimentar Custodium Tracker para su programacin mediante el pin de 5V del
Arduino, en este caso la batera debe estar desconectada o el interruptor en posicin de
OFF, en caso contrario Custodium Tracker puede resultar seriamente daado.
- En caso de alimentarse a travs del pin de 5V del Arduino algunas comunicaciones del
SIM908 pueden no funcionar correctamente, ya que el puerto USB no tiene potencia
suficiente y Arduino dispone de un fusible autorearmable que se dispara cuando se
consumen mas de 500mA.
- El primer paso es retirar el microcontrolador de Arduino, sta operacin se ha de realizar
mediante un destornillador y mucho cuidado para no daar las patillas del microcontrolador.
- Una vez retirado el microntrolador se habr de cablear como muestra el siguiente esquema:
Software
Instalacin del IDE de Arduino
En esta seccin se va a tratar la instalacin y configuracin del IDE de Arduino en Windows,
GNU/Linux y MacOsX
Windows
* Descarga la ltima versin del IDE de Arduino de http://arduino.cc/en/main/Software
Cuando la descarga finalice, descomprime el fichero. Asegrate de mantener la estructura de
directorios. Haz doble click en la carpeta arduino-00XX para abrirla. Deberas ver una serie de
ficheros y carpetas ah dentro.
* Conecta la placa
Conecta la placa Custodium a tu ordenador usando el cable mini USB.
* Instala los drivers
Cuando conectas la placa, Windows debera inicializar la instalacin de los drivers (siempre y
cuando no hayas utilizado ese ordenador con una placa Arduino anteriormente).
En Windows Vista y Windows 7, los drivers deberan descargarse e instalarse automticamente.
En Windows XP, se abrir el dilogo de instalacin de Nuevo Hardware:
Cuando te pregunten: Puede Windows conectarse a Windows Update para buscar el software?
selecciona No, no esta vez. Haz click en Siguiente.
Selecciona Instalar desde una lista o localizacin especfica (Avanzado) haz click en Siguiente.
Asegrate que Buscar los mejores drivers en estas localizaciones est seleccionado; deselecciona
Buscar en medios removibles; selecciona Incluye esta localizacin en la bsqueda y navega al
directorio drivers/FTDI USB Drivers dentro de la carpeta que has descomprimido previamente. (La
versin ms reciente de los drivers se puede encontrar en la pgina web
http://www.ftdichip.com/Drivers/VCP.htm) Haz click en Siguiente.
El asistente de instalacin buscar los drivers y te anunciar que encontr un "USB Serial
Converter" (se traduce por Conversor USB-Serie). Haz click en Finalizar.
El asistente de instalacin de hardware volver a iniciarse. Repite los mismos pasos que antes y
selecciona la misma carpeta de instalacin de los drivers. Esta vez el sistema encontrar un "USB
Serial Port" (o Puerto USB-Serie).
Puedes comprobar que los drivers se han instalado correctamente abriendo la carpeta del
Administrador del Dispositivos, en el grupo Dispositivos del panel de control del sistema. Busca
"USB Serial Port" (o Puerto USB-Serie)en la seccin de puertos; esa es tu placa Arduino.
*Ejecuta la Aplicacin Arduino
Haz doble click en la aplicacin Arduino.
Linux
* Descarga la ltima versin del IDE de Arduino de http://arduino.cc/en/main/Software
Cuando la descarga finalice, descomprime el fichero. Asegrate de mantener la estructura de
directorios. Haz doble click en la carpeta arduino-00XX para abrirla. Deberas ver una serie de
ficheros y carpetas ah dentro.
* Conecta la placa
Conecta la placa Custodium a tu ordenador usando el cable mini USB.
* Instala los drivers
Todas las versiones modernas de GNU/Linux (con un kernel superior al 2.4) reconocen
inmediatamente los conversores FTDI, para estar seguro de ello abre una consola y teclea el
comando dmesg la salida, justo despues de conectar la placa deberia ser imilar a:
[33695.259417] usb 2-1: Detected FT232RL
[33695.259420] usb 2-1: Number of endpoints 2
[33695.259424] usb 2-1: Endpoint 1 MaxPacketSize 64
[33695.259427] usb 2-1: Endpoint 2 MaxPacketSize 64
[33695.259430] usb 2-1: Setting MaxPacketSize 64
[33695.261615] usb 2-1: FTDI USB Serial Device converter now attached to ttyUSB0
[33695.261633] ftdi_sio: v1.6.0:USB FTDI Serial Converters Driver
Siendo ttyUSB0 en ste caso el puerto serie que se utilizar para programar Custodium desde el
IDE
*Ejecuta la Aplicacin Arduino
Haz doble click en la aplicacin arduino en la carpeta que has descomprimido anteriormente.
MacOsX
* Descarga la ltima versin del IDE de Arduino de http://arduino.cc/en/main/Software
La imagen de disco (.dmg) debera montarse automticamente. Si esto no ocurre, haz doble click
sobre ella. Debera verse algo como en la siguiente figura.
Introduccin al IDE
En sta seccin vamos a hacer una introduccin a la configuracin del IDE de Arduino para que
funcione correctamente con Custodium.
*Selecciona la placa
El primer paso para poder programar correctamente Custodium es seleccionar el tipo de placa en el
IDE de Arduino, a ste nivel es compatible al 100% con la placa LilyPad Arduino w/ATmega328
Hay que seleccionar el tipo de placa en el men Tools > Board > LilyPad Arduino w/ATmega328
* Selecciona el puerto serie
Selecciona el dispositivo serie de la placa Arduino en el men Tools | Serial Port (Herramientas |
Puerto Serial). En caso de Windows Lo ms probable es que sea COM3 o superior, en caso de
Linux y MacOsX se puede comprobar mediante a la orden dmesg como se ha explicado en el
apartado de instalacin del IDE, en cualquiera de los dos casos para asegurarte de cual es, puedes
desconectar la placa y volver a mirar el men; el puerto de la placa habr desaparecido de la lista.
* Botones del IDE
El IDE tiene los siguientes botones:
Verificar, comprueba y compila el sketch actual SIN subirlo a la placa, NO sobrescribe el
contenido actual del Custodium que est conectado.
Ejemplos de aplicacin
En ste apartado se van a exponer varios ejemplos de cdigo o sketches para Custodium Tracker,
para todos ellos se necesita Custodium cableado para su programacin como se explica en el
apartado Hardware Conexin para programacin de ste mismo manual.
Todas las librerias y ejemplos estn disponibles para su descarga en
http://www.custodiumtracker.com/files/
Blinking led
El blinking led es el Hola mundo del hardware, es implemente un led que parpadea a una cierta
frecuencia.
Material necesario:
- 1 Custodium Tracker cableado y configurado para programacin
- 1 led (diodo de emisin de luz)
Pasos:
- Conectar Custodium Tracker cableado y configurado para programacin al ordenador.
- Cargar el programa de ejemplo en IDE de Arduino de haciendo click en Archivo Ejemplos
Basics Blink
- Modificar la lnea del programa que pone int led = 13; para que ponga int led = 13; sta
modificacin es necesaria debido a que Arduino lleva un led por defecto en el pin digital 13,
mientras que nosotros vamos a poner uno en el pin digital 0 (Rx).
- Pulsar el botn Cargar, una vez est la carga finalizada se podr leer Carga finalizada en el IDE
- Desconectar Custodium del adaptador FTDI y apagarlo
- Conectar el led a los pines Gnd y D0 de Custodium Tracker (Aviso: El led es un componente con
polaridad, su patilla mas corta, que corresponde con el borde liso del encapsulado es Gnd o tierra,
mientras que la otra tiene que ir a D0)
- Encender Custodium y verificar que el led parpadea.
Nota: en caso de querer experimentar y observar diferentes frecuencias de parpadeo se pueden
cambiar los valores de las lneas delay(1000); siendo 1000 en el caso del ejemplo los milisegundos
que espera entre encender y apagar el led.
Sensor de luz
Con este ejemplo vamos a ver como leer los datos de un sensor de luz o ldr desde Custodium
Tracker
Material necesario:
- 1 Custodium Tracker cableado y configurado para programacin
- 1 ldr
- 1 resistencia de 2k2
Pasos:
- Blablablablablabla
SIM908
Custodium Tracker es compatible con la librera de GSM Shield de Arduino, disponible en
https://code.google.com/p/gsm-shield-arduino/
Para que dicha librera funcione con Custodium Tracker hay que modificar las siguientes lneas del
archivo GSM.cpp:
Original:
#define _GSM_TXPIN_ 2
#define _GSM_RXPIN_ 3
Modificar por:
#define _GSM_TXPIN_ 4
#define _GSM_RXPIN_ 5
RTC
El RTC de Custodium Tracker es un DS3234, que se comunica con el microcontrolador a travs del
bus ISP, siendo el pin de CS (Chip Select) el 3.
Se pueden descargar libreras para el uso de ste chip de https://github.com/rodan/ds3234
Una de las ventajas que tiene ste RTC es que se pueden configurar alarmas y que el
microcontrolador entre en funcion de sleep para el ahorro de bateria, un ejemplo de ste uso se
puede descargar de:
http://www.custodiumtracker.com/files/rtc_ds3234_alarm_every_5m_interrupt.zip