Muchas veces uno empeza por trastear con un Arduino y acaba desarrollando un proyecto derivado que le pide un amigo o familiar. Este es el caso de Israel Santana, un administrador de sistemas y amante de las tecnologías abiertas que tras descubrir la plataforma Arduino ha comenzado a trastear con él.
Entonces le surgió la necesidad a un familiar de su mujer de controlar unas secadero de Laurel en Galicia. Quería que le avisara por móvil si había algún evento (apagado de cámara, cambio de estado de red eléctrica o grupo) y poder llamar al secadero y que le devolviese un sms con el estado de la cámara usando un modem Siemens TC35.
Ahí Israel vió la oportunidad de poder probar el Arduino de verdad y así nació ArduTino (la persona para que se le diseño es llamado Tino).
No os perdais todos los detalles que nos cuenta Israel a continuación...
La filosofía de como hacerlo era y es bien clara, usar componentes ya diseñados por otros, que no sean muy caros y que se puedan comprar fácilmente por internet y sustituir fácilmente.
La primera versión se hizo rápidamente y el código realmente no era nada eficiente (lo hice chorra para un familiar lo pudiese entender, y luego lo mejorase), pero cumplía su función. La versión del IDE de Arduino era la 0.22 y se usaron las librerías. En cuanto a la parte de electrónica, se usó una pequeña placa de prototipos para soldar el resto de los componentes.
Pasó el tiempo y el negocio del familiar de mi mujer aumentó y necesitaba controlar dos cámaras de secado en vez de una, y había dos opciones:
- Hacer otro exactamente igual duplicando todos los componentes y siendo independientes uno del otro.
- Rehacer lo que había para que controlase las dos cámaras.
Mantener dos cosas idénticas no me gustaba la idea y la verdad me lié la manta a la cabeza y decidí hacerlo todo desde el principio intentando hacerlo bien.
Para empezar abrí un proyecto en google code (https://code.google.com/p/ardutino/), y decidí escribir el código desde el principio de manera ordenada y usando clases (objetos). Gracias a esto tuve alguna sorpresa desagradable con el IDE de Arduino 1.x con respecto a la versión 0.xx se encontré básicamente con:
- Métodos que han cambiado y te informa que no existe, como debes usarlo. Esto es agradable y lo solucionas en un minuto.
- Métodos que ahora devuelven otro tipo de datos
- Métodos que ahora no hacen nada y devuelven nada ......
- Problema al heredar clases.
Por la parte física, me compré un libro de KiCAD y desarrollé una pequeña PCB para tenerlo todo unido. Podría hacerlo con eagle que hay más cosas, pero no es open source.
Al final el resultado ha sido este.