POSICIONAMIENTO APRS ONLINE

Mostrando entradas con la etiqueta arduino.. Mostrar todas las entradas
Mostrando entradas con la etiqueta arduino.. Mostrar todas las entradas

lunes, 27 de febrero de 2012

En marcha con Photoduino...


Photoduino con los sensores y cables


Como aficionado a la fotografía y a la electrónica, hace ya algún tiempo decidí acometer el proyecto Photoduino que descubrí en el foro de canonistas.com.


http://www.photoduino.com/es/

Me pareció muy interesante poder aunar las dos aficciones además de cacharrear un poco. "Kalanda", el autor del proyecto, seleccionó la plataforma de arduino para desarrollarlo y es otro de los aspectos que me gustó puesto que dispongo de varias placas de arduino y me cuesta muy poco arrancar el proyecto.


Aspecto final del Photoduino

Otro de los aspectos interesantes del proyecto es que es abierto, tanto el hard como el soft, amparado bajo la licencia GPL, aspecto tremendamente atractivo.

Otra vista final del photoduino.

Actualmente Photoduino acaba de lanzar la revisión 3 del hardware y la 0.10 del software.Existen para ésta última revisión kits que se pueden comprar por internet, lo que supone una gran comodidad para los que no quieran perder el tiempo con la búsqueda de componentes. La versión 3 tiene un acabado mucho más profesional y se han corregido bugs de versiones anteriores además de implementar algunas mejoras para la gestión de los flashes.

Detalle del interior (Arduino+Shield)


Pero ... ¿Qué es Phtotoduino?

Photoduino es un sistema de control electrónico para cámaras reflex digitales (DSLR) que está basado en la plataforma libre arduino y que te permite automatizar las tomas fotográficas para lograr efectos impresionantes. Un sistema como Photoduino es un soporte fundamental para diferentes tipos de fotografías, y abre muchas puertas a la creatividad en la fotografía. Photoduino, permite la realización de fotografías que sin un sistema de éste tipo serían muy difíciles de lograr, hablo de p.ej. fotografías de alta velocidad. Además, el sistema se puede usar como intervalómetro y variar tanto el tiempo como el número de exposiciones que se quieran realizar. Las típicas fotos cenitales apuntando a la polar, son un ejemplo de aplicación para éste modo de funcionamiento.


Detalle del circuito

Photoduino está diseñado para trabajar con varios tipos de sensores, de luz (LDR), sonido (MIC), de impacto y hasta una barrera infrarroja, que son utilizables a voluntad para el disparo de cámara o flashes.

Photoduino dispone de un display  y dos pulsadores a través de los que se realiza toda la programación del sistema. La navegación por los menús se realiza de forma muy sencilla.



Acometiendo el proyecto.

La mayoría del material lo tenía por casa, y sólo ha sido necesario pedir los thyristores BT149 y el operacional LM386. Los conectores, cables y la caja son "refurbished", es decir, que los he rescatado del cajón desastre que todos los que cacharreamos un poco tenemos en casa. La verdad es que estoy contento con la caja, puesto que le va "al pelo" al montaje y he podido ubicar todos los componentes en el interior: placa arduino con shield, conectores de panel, display y batería de 9V. Normalmente cuando arranco un nuevo proyecto decido montarlo en placa de nodos taladrada ya que me aburre sobremanera andar con el diseño, ácido, taladro etc y éste proyecto no iba a ser menos.


Detalle de la shield

Lamentablemente el montaje pierde vistosidad pero gano en rapidez pues voy colocando los componentes según me apetece y sobre la marcha. Lo que tengo claro, es que va a funcionar igual de bien y como la caja va a estar cerrada y no se va a ver el interior, ese ahorro de tiempo que me llevo. Por otro lado, si después de un tiempo por lo que fuera, se presentara un problema  de funcionamiento, tendría que hacer el seguimiento de forma muy especial ya que no hay un lay-out por el que guiarme. De todas formas no me importa, como voy a ser yo el que le meta mano, pues como que yo me lo guiso y yo me lo como.



Detalle del lado de soldaduras

Hoy he podido comprobar el buen funcionamiento del sistema haciendo uso del sensor de sonido, y todo ha funcionado correctamente.

De momento voy a ver si me familiarizo con los sensores y a ver si en breve puedo colgar alguna foto en la que se refleje la utilidad del "bicho".

Un saludo.

jueves, 24 de febrero de 2011

Tracker APRS con Arduino -- Trackuino --

Hace tiempo que hice acopio de material de arduino y componentes electrónicos asociados, con el objetivo de emprender posibles proyectos en el entorno de la radio.
Ha sido a raíz de haber comentado con el colega EA4AQM sobre el desarrollo de su tracker APRS (publicado en la revista de URE de Enero de 2011) que me he animado a ponerme un poco más en serio con el tema de la programación y el entorno de Arduino para dar uso a las placas que tengo por casa.
Por cierto, para los que no sepan que es arduino, les remito a la siguientes dirección:

http://www.arduino.cc/
http://www.youtube.com/watch?v=qhy5UtIzZfo
http://www.youtube.com/watch?v=-KXBZZO6IgQ&feature=fvw

Como ya sabéis, se trata de un entorno de desarrollo con hardware y software libre, que está basado en un microprocesador AVR. Para mí tiene una serie de ventajas que enumero a continuación:

- Hardware y código libre, con una amplia comunidad de desarrolladores.
- Amplia documentación (manuales y proyectos) disponible en la red.
- Entorno de programación sencillo en lenguaje C, con editor, compilador y grabador incluídos.
- Uso del puerto usb para una grabación inmediata del micro. (el micro incorpora un bootloader para esta funcionalidad).
- Funcionamiento en Windows, Linux y Mac.

He buscado por la red si ya existía codigo desarrollado para un tracker APRS y efectivamente existe. Después de probar alguna solución me he quedado con el desarrollado por un colega español EZ5HAV Javier, con el que no he podido contactar por el momento para contrastar impresiones.

Se trata del proyecto Trackuino, del que podéis ver la información original en el siguiente enlace:
http://code.google.com/p/trackuino/

Pues bien, esta nueva entrada del blog trata de la implementación del proyecto Trackuino adaptado a mi caso concreto con el fin de compartir la experiencia con los colegas que pudieran estar interesados.
Trackuino, es un proyecto principalmente pensado para hacer seguimiento vía APRS de un globo sonda por lo que además de incorporar todo lo necesario para el protocolo APRS, incluye soporte para un sensor. El proyecto lo tiene todo para funcionar como un tracker aprs, decodificando las tramas NMEA proporcionadas por un GPS externo y trasmitiéndolas bajo el protocolo AX25 de APRS. Además incorpora soporte para un sensor externo de temperatura, ésta parte es la que no necesito y hay que adaptar.

Lo primero de todo es tener el entorno de programación arduino instalado en el ordenador y recomiendo siempre bajar la última versión de la página oficial. Actualmente está la ver. 022. A continuación tener a mano todo el hardware necesario, placa arduino, componentes electrónicos, polímetro y si se dispone de un osciloscopio pues mejor. Aunque el polímetro y el osciloscopio no son 100% necesarios ayudan en el caso de que exista algún problema de funcionamiento. Una vez todo a mano, descargar el código de trackuino y descomprimir el fichero.

http://code.google.com/p/trackuino/downloads/detail?name=trackuino-ide-1.1.zip&can=2&q=
La carpeta que resulta debereis guardarla colgando de la carpeta "examples" del entorno arduino, de esta forma la tendréis disponible rápidamente en el menú "examples" del entorno de programación.

Para los ya iniciados, los detalles seguro que sobran, pero para los que decidáis acometer el proyecto sin mucha idea, os recomiendo tirar de la documentación existente en la web de arduino o bién la propia ayuda del programa. La idea es que estéis familiarizados con el entorno, aunque ya os digo que lo atractivo de arduino es lo sencillito que resulta todo.

Arrancais arduino y os vais a cargar el código de trackuino, para ello File/examples/trackuino

En la ventana que se abre ya tenéis el codigo. Podéis ver que teneis varias pestañas, deberéis seleccionar config.h y modificarla con vuestros datos, indicativo etc.

En el código principal yo he comentado varias lineas de código relacionadas con la parte del sensor. Por otro lado, os habréis dado cuenta que el codigo contempla dos modulos de radio, el mx146 y el hx1. Se tratan de modulos trasmisores compactos que se podrían utilizar en un globo sonda, como éste no es nuetro caso ya que vamos a utilizar un transceptor externo, usaremos el hx1 que viene por defecto en el config.h. Se trata del módulo más sencillo y que podemos compatibilizar con el uso de un equipo externo de forma fácil.

Os sugiero comentar en el código todo lo relacionado con el sensor y con el módulo mx146.
Para esta tarea, os dejo que os familiaricéis con el entorno practicando con la compilación del código (boton Play) hasta que no tengáis ningun error. Una vez hecho todo eso, tendríais el codigo listo y configurado con vuestros datos para ser grabado en el micro.
Conectar la placa arduino via USB al PC. En el programa seleccionar vuestra placa en Tools/Board y el puerto serie en Tools/Serial port.

Ya está todo listo para grabar el programa en el micro, sólo tendréis que hacer click en el icono de Upload indicado con una flecha hacia la derecha y veréis que el código se graba en vuestro arduino. No debiérais tener ningun error, en caso contrario a investigar...

Esto no es todo, ahora falta la parte externa de hardware que hará de interface con nuestra radio y el GPS. Yo lo he implementado en una placa de prototipos ya que son pocos componentes. Mas adelante usaré una placa taladrada con nodos de cobre.

Si no lo habéis descubierto aún, os recuerdo que en el proyecto se usan los siguientes pines:

Pin3: Señal de audio AFSK para TX.
Pin4: PTT
Pin0: RX Recepción de datos del gps.

Para el audio TX conviene filtrar la señan proveniente del pin 3 a través del siguiente circuito:



Para el PTT se puede implementar el siguiente circuito:




Os dejo en el aire el tema de la configuración del GPS.... deberéis investigar el código para ver dónde se configura la velocidad del puerto serie para que coincida con la velocidad a la que entrega los datos vuestro gps. En mi caso estoy aprovechando un gps bluetooth al que le he sacado una salida TTL de datos que se conecta directamente al RX (Pin0) de la placa arduino y masa.



Con esto quedaría explicado lo más importante de la implementación del proyecto, espero os haya servido.