Archive for the ‘Arduino’ Category

Arduino tiene una memoria no volátil de tan sólo 512 bytes (ver referencia), que puede ser insuficiente en algunos casos.

Pero podemos usar una EEPROM externa, en mi caso he usado una EEPROM serie 24LC256 que tiene una capacidad de 256 Kbit (32K x 8 bytes) y un precio de 2.88 euros. Os dejo el enlace a la24LC256 hoja de especificaciones.

La comunicación entre Arduino y la EEPROM se realiza mediante el bus I2C , que se trata de un bus de comunicaciones serie formado por dos lineas: una para los datos y otra para el reloj.

La librería Wire  permite manejar un bus I2C desde nuestro Arduino, y en este artículo del wiki encontramos 4 funciones que usando la librería anterior implementan la lectura/escritura en la EEPROM.

El parámetro deviceaddress al que hacen referencia estas funciones en el caso de esta memoria se trata del 0x50.

No debemos olvidarnos de inicializar la conexión antes de usar estas funciones:

Wire.begin();

pinoutEn cuanto a las conexiones de los pines: el pin 5 de la EEPROM (SDA) lo conectamos a la entrada analógica 4 de nuestro Arduino, el pin 6 (SCL) a la entrada analógica 5 (observar en la foto que los cables de color naranja se cruzan), el pin 8 a 5V y todos los demás a tierra.

Los pines analógicos 4 y 5 de Arduino son los que usa la librería Wire.

Usando una memoria EEPROM desde Arduino

En cuanto al sketch, os pongo el ejemplo con el que lo probé: se trata de escribir una cadena de caracteres cuando enciende nuestro Arduino y de leerla y enviarla al ordenador repetidamente.

El ejemplo lo podéis ver en pastebin para evitar problemas con el tabulado del blog.

Al tratarse de una memoria no volátil, podemos comentar la escritura (línea 59) para comprobar que permanecen los datos guardados con anterioridad.

Ya está en casa el Arduino Diecimila que pedí hace unos días, solo me ha costado 31 euros con los gastos de envío, y es más pequeño de lo que creía.

Arduino es una plataforma de hardware libre formada por diferentes tipos de placas con E/S analógicas y digitales basadas en un microcontrolador ATmega; y un entorno de desarrollo en el que hacer aplicaciones para este hardware.

Arduino

He estado probado algunos ejemplos y es todo muy fácil y existe mucha ayuda en la red, aunque tengo que ir a la tienda de electrónica a comprar sensores  y alguna cosa más.

El IDE de Arduino es simple, pero funciona bien, permite programarlo, escuchar el puerto serie y trae varios ejemplos para aprender a usarlo.

Arduino

Para instalar el IDE en Arch Linux (está en AUR) solo he tenido que hacer:

$ yaourt arduino

se instalaron todas las dependencias y funciona correctamente.
Para instalarlo en otras distribuciones o sistemas operativos tampoco deberías de encontrar problemas.

Y por último, dejo un enlace a unas transparencias en PDF que dan una introducción muy clara sobre Arduino:

http://todbot.com/blog/bionicarduino/

Iré publicando mis avances…