Código de la Estación meteorológica

Me falta por implementar el código del Bluetooth maestro y modificar una linea cuando le instale el sensor DHT22 en vez del DHT11. Pero a parte de eso ya esta terminado.

El código me permite recibir todos los datos de los sensores mediante bluetooth, también escribirlos en la SD. Además mediante comandos se puede configurar la hora, fecha y otras opciones como volcar todos los datos almacenados en la SD al puerto Serie. Todo de forma inalámbrica y sin necesidad de tocar la estación para nada.

El código esta disponible en Google Code desde este enlace.

Saber cuánta memoria SRAM queda libre en Arduino

Llevo toda la tarde refactorizando el código de la estación de información para ahorrar toda la memoria SRAM posible pues el Arduino se reiniciaba continuamente por no disponer de ella.

Al principio pensaba que era por usar una estructura global para guardar los datos de los sensores todos juntos y así aumentar la legibilidad del código, pero no, algo de memoria debía de estar gastando pero no era la razón del problema…

Después probé a usar los tipos de datos exactos para el dato a guardar en ellos, es decir, si quería tener una variable para iterar en un bucle no podía usar una de tipo INT, que son  4 bytes, era mejor una de tipo BYTE, que es un 1 byte… así con todas, pero nada, el Arduino seguía reiniciándose.

(más…)

Leer más

10 horas de muestras de la Estación Meteorológica

Me faltan cosas por programar, pero ya guarda todo en la SD:

Librería de Arduino Pro Mini para Eagle

Sparkfun tiene una librería con muchos de sus componentes, entre ellos los Arduino, sin embargo les faltan muchos de los pines que posee y para usarlos luego hay que ir añadiendo pines extra, una chapucería vamos.

Al pensar que crear una librería de componentes para Eagle seria complicado no me lo mire mucho, sin embargo vi este tutorial y la verdad que es bastante sencillo. Por ello cree la siguiente librería que incluye como componentes dos Arduinos Pro Mini, la primera versión con 8 pines analógicos y la segunda con 6.

 

Librería RTC para reloj Dallas DS1307 y DS3231

Después de probar bastantes de las librerías disponibles para este reloj y de que no me convenciera ninguna por su forma de funcionar, decidí programar mi propia librería basándome en el código que use en mi primer RTC.

Ahora al estar todo en una librería es mucho mas cómodo de usar que antes y tiene los métodos necesarios para poner el reloj en hora u obtener sus datos.

(más…)

Leer más

Estación meteorológica por Bluetooth con Arduino

Junto a la estación de información iba a ser necesario alguna caja que le aportara datos, porque si bien el ordenador lo puede hacer mediante noticias rss y otro tipo de datos proporcionados desde internet, también es cierto que puede resultar interesante saber la climatología de primera mano.

Para ello he ideado una caja, o estación meteorológica, que aportara todos los datos de sus diferentes sensores, en este caso la temperatura, humedad, luz y hora en tiempo real.

(más…)

Leer más