Arduino: La Libertad Mas Allá del Software

Antes que nada, pido disculpas por no estar presente el día de ayer, ya que estuve rindiendo una materia de la Facu y gracias a Dios y un poco (o mucho realmente) de mi Esfuerzo la pude sacar, eso como nota personal, con respecto al blog en estos dias voy  a aprovechar para terminar los tutos que me propuse hace un tiempo para ustedes, es esta ocasión les traigo algo espectacular conocido como Arduino, espero les guste.

¿Qué es Arduino?

Es una plataforma de hardware de fuente abierta basada en una sencilla placa de entradas y salidas simple y un entorno de desarrollo que implementa el lenguaje de programación Processing/Wiring. Arduino se puede utilizar para desarrollar objetos interactivos autónomos o puede ser conectado a software del ordenador (por ejemplo: Macromedia Flash, Processing, Max/MSP, Pure Data). Las placas se pueden montar a mano o adquirirse; El IDE de fuente abierta se pueden descargar gratuitamente.

Placa Arduino Diecimila

Las plataformas Arduino están basadas en los microcontroladores Atmega168 o en el ATmega8, chips sencillos y de bajo coste que permite el desarrollo de múltiples diseños.

Al ser open-hardware, tanto su diseño como su distribución es libre. Es decir, puede utilizarse libremente para el desarrollo de cualquier tipo de proyecto sin haber adquirido ninguna licencia.

El proyecto Arduino recibió una mención honorífica en la categoría de Comunidades Digital en el Prix Ars Electronica 2006

¿Qué puedo utilizar Arduino?

Arduino puede utilizarse en el desarrollo de objetos interactivos autonomos, conectandolo a la PC podemos crear cualquier cosa desde un simple sensor para determinar algun valor, un mini-bateria o hasta algo tan loco como tu propio game boy.

Licencias

Arduino es capaz de recibir datos del exterior a través de sensores y efectuar una respuesta luminosa, encender motores, etc. Todo ello gracias a que se puede controlar usando un lenguaje de programación propio — el Arduino programming language — y opcionalmente usando también un entorno integrado de programación (IDE) que han desarrollado especialmente para este lenguaje y que recibe el nombre de Arduino Environment: es software libre bajo la licencia GPL y se puede descargar desde su web o desde el SVN para Windows, GNU/Linux y Mac OS X.

Eso en cuanto al software. En cuanto al hardware, la licencia de la documentación para construir Arduino es la Creative Commons Reconocimiento Compartir Igual, lo que segura que si alguien modifica la referencia para hacer de Arduino un mejor producto tecnológico deberá publicar las mejoras.

Tipos de placas

Existen diferentes versiones de Arduino con propósitos distintos:

Placa serie

Es la placa básica, y se utiliza una interface RS232. Ésta puede ser utilizada, además, para la programación de la placa, para comunicarse con otros elementos externos que utilicen el puerto serie, como por ejemplo un PC.

arduino_serie_02

Placa USB

Es igual a la placa serie pero en vez de un puerto serie como tal, tenemos un conector USB (para poder conectar ordenadores sin puerto serie, como los portátiles de ahora) más un conversor a serie. Si conectamos un aparato que siga la interface USB no funcionará pues en realidad es un puerto serie, no USB.

arduino_usb_jumper_power_usb

Placa de prototipos

Esta placa está pensada para poder incorporar hardware adicional al diseño base de Arduino. Incorpora una matriz de agujeros en la que se puede añadir nuestro hardware adicional. No dispone de puerto serie ni USB, por ese motivo es necesario disponer de otra programador que utilice ICSP.

arduino_prototyping

Bluetooth

Es la última versión en la que se está trabajando. Elimina la necesidad de cables para comunicarse con el PC, vuelve a ser otra manera de disfrazar un puerto serie.

XBee

Esta placa arduino posee del estándar XBee para comnucarse con otras arduino XBee.

Esquema de Arduino

arduino_board

Empezando a Programar

Una vez que tenemos armado nuestro circuito sobre la plataforma Arduino, debemos darle Vida a nuestro sistema, y esto lo hacemos programando nuestro arduino con algunos de las IDEs o Entornos de Programación que existen, tanto para Windows, Linux y Mac; y lo podemos hacer con lenguajes como Flash, o inclusive podemos programarlo de forma grafica.

Aplicaciones Practicas

Sin mas vueltas y esto es lo que ustedes quieren ver, es lo que podemos hacer con esta maravilla, les dejo unas imagenes y unos videos

Super Game Boy hecho en casa con Arduino

Una Bateria Arduina

Fuentes:

http://hardwarelibre.es/arduino-una-base-libre-para-crear-aparatos/
http://es.wikipedia.org/wiki/Arduino
http://arduino.linuxmaya.com/
Algunas Imagenes tomadas del sitio de Arduino
http://arduino.cc/es

Open Programmer v0.5: Un Grabador de Pics Libre

Uno de mis amores es la electronica y al principio del año pasado me propuse a aprender algo de la materia, y aunque mis conocimientos sobre la esta eran muy pobres, realice un buen proyecto sobre PIC (cabe aclarar que tambien realice un curso de 2 meses en la Facu) aun asi al principio me costo un poco, pero despues de leer mucho pude salir adelante y arme un circuito con un pic 16F84 y unos steppers. En otra ocasion voy a publicar todo sobre eso, pero esta vez solamente les traigo un gran proyecto que encontre para el armado de un grabador de PICs basado en Hardware y Software Libre, espero que les guste y cuando tengo unos pesos voy a tratar de armarlo.

Este es un programador de código abierto USB para micros PIC, I2C EEPROMs, algunos micros ATMEL, I2C/SPI dispositivos genéricos y (pronto) otros dispositivos

Datos* Completamente gratuito y de código abierto (incluido el firmware)
* Programa pic10-12-16-18, 24xxxx I2C EEPROMs, algunos micros ATMEL, se comunica con los genéricos I2C y SPI dispositivos (véase dispositivos)
* Interfaz USB, clase HID (igual que los teclados, ratones, etc)
* Auto alimentado
* No necesita drivers
* Construido a partir de componentes fáciles de encontrar (por un costo estimado ~ 10 € o 40 Pesos)
* El Hardware genera tiempos de máxima velocidad y fiabilidad (escribe un 18F2550 en 15, 8s con Linux)
* No satura su CPU y no sufre  cuando otros programas se están ejecutando
* Control de programas de fuente abierta para Linux y Windows

foto1

Otro Programador?

En los últimos años, las interfaces de serie y paralelo casi han desaparecido, los entusiastas de la electrónica encuentran aún más difícil de programar microcontroladores; los programadores viejos  no trabajan más, y las soluciones comunes incluyen el uso de adaptadores USB a serie (que no  aceptan accesos directos, sino sólamente a travez de las llamadas de la API), o añadir crips de interface, al igual que FTDIxxxx, que aparecen como  interfaces seriales y requieren drivers propiestarios.

Entonces, ¿por qué no utilizar los controladores PIC y su interfaz USB?
Después de buscar un tiempo no pude encontrar un programador USB que fuese al mismo tiempo funcional, libre y de código abierto, así que decidi diseñar uno.
De código abierto significa que todas las fuentes y los esquemas se dan de forma gratuita con el derecho a modificar y en libertad.

Aqui van a poder encontrar el proyecto para MPLAB y aqui el archivo HEX.

Sigue leyendo “Open Programmer v0.5: Un Grabador de Pics Libre”

iCub – Robotica Libre, ¡Si, para TODOS!

La otra vez me llamo la atencion, el proyecto icub, una Iniciativa para la creacion de un robot que sea con licencia GPL. Realmente me parecio un proyecto espectacular y ademas los principios y objetivos para la creacion de este proyecto es que por sobre todas las cosas sea lo mas libre posible, asi de esta forma cualquiera puede replicarlo.
Y aunque ha tenido criticas porque algunos de los programas cad no son software privativo (cosa que en el futuro puede cambiar)  navegando por el sitio, he podido encontrar de todo a nuestra disposicion bajo licencia GPL, desde el codigo fuente del software, firmware, lista de materiales de hardware, diseños y muchos cosas mas.
Asi que cada dia, la comunidad academica y cientifica se va dando cuenta que el compartir, multiplica el conocimiento y privarnos de este  retarda y obstruye la Educacion.
Les dejo con iCub.
iCub es una plataforma robótica abierta para promover la investigación colaborativa en sistemas cognitivos artificiales. iCub es un robot humanoide, de 94 centímetros de alto de mismo tamaño y forma similar que un niño de 2 años, dotado de 53 grados de libertad. Será capaz de gatear a cuatro patas, levantarse, sus manos permitirán una diestra manipulación de objetos, y su cabeza y ojos están totalmente articulados.

RobotCub es un proyecto integrado por 10 centros de investigación europeos, complementados por 3 centros americanos y 3 japoneses, y financiado por la Unión Europea, vía la Unidad Cognitiva (E5) de la componente de Tecnologías de la Sociedad de la Información del Sexto Programa Marco (FP6). El proyecto se lanzó el 1 de Septiembre de 2004 y tiene una duración prevista de 5 años, con una financiación de 8.5 millones de euros.

dsc_3997

El proyecto RobotCup tiene dos objetivos principales asociados:

  1. Crear un nuevo robot humanoide avanzado, el iCub, para dar soporte a la comunidad de investigadores en cognición impuesta.
  2. Avanzar en nuestro entendimiento de varios factores claves en cognición, mediante la explotación de la plataforma en la investigación de capacidades cognitivas.

Este puede  gatear, levantarse, o  tocar la batería. Ademas dispone de sensores y sistemas por todo el cuerpo para emular sistemas de visión, audición y tacto, sensores de inercia que hacen posible la coordinación de la movilidad y la manipulación de objetos.

Una de las grandes ventajas de iCub es que es un sistema totalmente abierto, el diseño y la documentación de todo el hardware y software se licencia bajo las licencias de la GNU Free Software Foundation, de forma que el sistema pueda ser libremente replicado y personalizado. Los diseños mecánicos y electrónicos se están liberando bajo licencia FDL (GNU Free Document Licence) y todo el software embebido (controladores, interfaces y sistema cognitivo) bajo licencia GPL (GNU General Public Licence).



Referencias

Fuentes:

http://www.robotcub.org/

http://eris.liralab.it/wiki/Manual

http://hardwarelibre.es/

http://weblogs.madrimasd.org/

Hardware Libre: Parte 2 Proyectos

De la unión de plataformas de software y hardware abierto, nacen proyectos que suponen una ventaja para usuarios y desarrolladores al disponer estos de mayor libertad para crear e instalar aplicaciones al mismo tiempo que adaptar algunas funciones del hardware.

ICUB: Proyecto Libre de Robotica

OpenMoko el Primer Celular Libre

OpenMoko es una plataforma abierta para desarrolladores para crear un sistema operativo libre basado en Linux que funcione sobre teléfonos móviles. De esta manera, diversos fabricantes de teléfonos móviles podrían incluirlo en los terminales llamados ‘smartphone’.

El primer teléfono móvil que funciona con OpenMoko es el Neo1973 fabricado por FIC, cuya versión para desarrolladores está actualmente a la venta por 300 dólares. Se espera que un nuevo dispositivo móvil con mayores funcionalidades sea lanzado próximamente bajo el nombre en clave HXD8.
Android

En este sentido, Google ha presentado recientemente una plataforma de software abierta para desarrolladores de dispositivos móviles llamada Android, junto con la creación de una alianza con 34 empresas del sector denominada ‘Open Handset Alliance’, para dotar de un sistema operativo abierto a los fabricantes de teléfonos. Esta iniciativa puede suponer que se pueda ensamblar un teléfono móvil por piezas de diferentes fabricantes y hacerlo funcionar con Android.

http://www.openhandsetalliance.com

Arduino

Otra de las iniciativas nacidas bajo el concepto de harware libre es el proyecto Arduino. Esta plataforma consiste en una placa con diversas entradas y salidas que permite el desarrollo de infinidad de proyectos para el control de objetos interactivos autónomos, al mismo tiempo que sirve de plataforma para estudiantes como iniciación al mundo de la electrónica.

Una de las opciones más utilizadas de la plataforma Arduino es la del diseño y construcción de instrumentos musicales electrónicos en combinación con el software libre de audio Pure Data, que permite crear experiencias sonoras y visuales en tiempo real por parte de artistas digitales.

http://www.arduino.cc/en/Guide/Introduction

Robocub:

iCub forma parte del proyecto RobotCub, realizado por un total de 16 grupos de investigación, con financiación de la Unión Europea, que tiene como objetivos la creación de un robot humanoide que sirva de apoyo a otros investigadores, por un lado; y avanzar en el conocimiento que se tiene sobre factores clave de la cognición profundizando en la investigación y el desarrollo de la plataforma cognitiva de iCub, por otro lado.

El software que necesita este robot, tanto las aplicaciones relacionadas como el software embebido y los controladores, se distribuyen bajo la licencia pública general de GNU. El diseño de los componentes mecánicos y electrónicos y una extensa documentación se distribuyen bajo la licencia de documentación libre de GNU.

http://www.robotcub.org/index.php/robotcub


Computer systems

Sigue leyendo “Hardware Libre: Parte 2 Proyectos”

Hardware Libre: Parte 1

Les dejo este post un poco mas completo sobre Hadware Libre con conceptos, clasificaciones, etc.


Hardware Libre

Temas:

a- Introducción

b- Concepto de Hardware Libre según Antonio Delgado

c- HA (Hardware Abierto) Según www.microbotica.es

d- Historia

e- Definición y Clasificación

1-Hardware estático

1-a Desventajas y Problemas del hardware abierto

1-b Planos en electrónica

1-c Propuesta de definición

2 Hardware reconfigurable

2-a Introduccion

2-b Lenguaje de descripción de hardware

2-c FPGAs

2-d Hardware reconfigurable libre

2-e Un ejemplo de hardware abierto: La tarjeta JPS

f- Conclusion

Sigue leyendo “Hardware Libre: Parte 1”

Hardware Libre: ¿Utópico?

Todos nosotros escuchamos alguna vez hablar sobre el Software Libre, Linux y sistemas libres, pero ¿Escuchaste alguna vez sobre Hardware Libre?, suena medio raro verdad.

hard

Como sabemos el software libre no se refiere específicamente a que el software sea gratuito sino que cumple con ciertas libertades como usar el software, ver el código, mejorar el mismo y distribuirlo sin discrimacion.

El software libre y código abierto ofrece al usuario libertades. Existen licencias que las garantizan y que dan una cobertura legal, como por ejemplo la GNU GPL. El hardware abierto o libre toma estas mismas ideas del software libre y código abierto para aplicarlas en su campo.

Un diseño se considera hardware abierto si ofrece las 4 libertades del software libre en el esquemático, PCB y fichero para la fabricación (que son los diferentes planos de un Hardware). Además la información sobre la manera de comunicarse con el hardware, el diseño del mismo y las herramientas utilizadas para crear ese diseño deben ser publicadas para ser usadas libremente. De esta manera se facilita el control, implementación y mejoras en el diseño por la comunidad de desarrolladores.

Una de las razones en que debemos comenzar a pensar en el Hardware libre es por ejemplo por la Iniciativa ‘Trusted Computing’ donde en 2000, Microsoft y otros fabricantes informáticos, lanzaron este sistema para certificar qué tipo de programas pueden funcionar en cada tipo de aparato y con ello vigilar que es lo que usuario realiza en cada sistema digital, avisando del uso ilegal del mismo o no permitiendo su uso o ejecución, por ejemplo si uno quisiera escuchar musica descargada ilegalmente el sistema no la reproduciría o no podría ejecutar un programa ilegalmente en tu computadora, aunque legalmente es razonable, llega un punto donde debemos determinar quien es dueño de quien y quien es el que manda, si mi computadora o yo.

En internet existen algunos proyectos como el Software Libre FSF, estos son OpenCores y OpenHardware.de, que recopilan esquemas y desarrollos de componentes de hardware enviados por profesionales independientes, que colaboran con el mismo espíritu que mueve la comunidad del software libre.

Ahora, ¿realmente esto posee futuro o es implementable ?, personalmente creo que si y les dejo unos ejemplos:

Entrenadora JSP

En la Escuela Politécnica de la Universidad Autónoma de Madrid han desarrollado la tarjeta JPS una entrenadora para las FPGAs de la familia 4000 y Spartan I de Xilinx, que se está utilizando en el laboratorio de Estructura y Diseño de Circuitos Digitales. Según la clasificación establecida previamente, es del tipo MML. Para su diseño se ha utilizado el programa Eagle, en una máquina corriendo Debian/Sarge.

Al tratarse de hardware libre, están disponibles todos los planos. Algunas de sus ventajas son:

1- Cualquiera la puede fabricar. Los alumnos, universidades o empresas que la encuentren interesante la pueden construir.

2- Cualquiera la puede modificar. Seguramente no se adaptará a las necesidades de docencia de otras universidades o centro de investigación. Tienen la posibilidad de modificar la placa, en vez de empezar a diseñarla desde cero.

3- Cualquier empresa la puede comercializar, y cobrar por ofrecer los servicios de fabricación y verificación del correcto funcionamiento, así como mantenimiento.

De la unión de plataformas de software y hardware abierto, nacen proyectos que suponen una ventaja para usuarios y desarrolladores al disponer estos de mayor libertad para crear e instalar aplicaciones al mismo tiempo que adaptar algunas funciones del hardware.

OpenMoko
OpenMoko es una plataforma abierta para desarrolladores para crear un sistema operativo libre basado en Linux que funcione sobre teléfonos móviles. De esta manera, diversos fabricantes de teléfonos móviles podrían incluirlo en los terminales llamados ‘smartphone’.

El primer teléfono móvil que funciona con OpenMoko es el Neo1973 fabricado por FIC, cuya versión para desarrolladores está actualmente a la venta por 300 dólares. Se espera que un nuevo dispositivo móvil con mayores funcionalidades sea lanzado próximamente bajo el nombre en clave HXD8.

Android
En este sentido, Google ha presentado recientemente una plataforma de software abierta para desarrolladores de dispositivos móviles llamada Android, junto con la creación de una alianza con 34 empresas del sector denominada ‘Open Handset Alliance’, para dotar de un sistema operativo abierto a los fabricantes de teléfonos. Esta iniciativa puede suponer que se pueda ensamblar un teléfono móvil por piezas de diferentes fabricantes y hacerlo funcionar con Android.

Conclusión

La Idea del Hardware libre no solo es importante, en la aplicación del modelo comunitario y colaborativo para el crecimiento intelectual libre, sobre los sistemas electrónicos digitales, sino también que debemos luchar contra las patentes de las grandes industrias de dos o tres países productores de tecnología (EEUU, Japón, otros), de los cuales proviene el 99% del hardware y de los productos electrónicos. Nuestra dependencia como Nación nos hace cada vez mas vulnerables a los deseos de estas naciones, donde al hiper desarrollo tecnológico, nuestros impulsos consumistas de la ultima tecnologia y las patentes electronicas igual que el software propietario nos encaden cada vez mas.

En el caso del Hardware seria como pagar licencias de uso por utilizar una RUEDA al creador de esta, o imaginense pagar derechos de autor por crear tus propios muebles o herramientas al que primero las diseño, por como sigue la evolución de nuestra sociedad donde la integración tecnológica es cada día mas estrecha, dentro de unos años deberemos pagar licencia, derechos de autor y patentes por el 90% de nuestros artefactos, sistemas electrónicos, informáticos e inclusive, tal vez por nuestra vida diaria.

¿Creo yo o es tiempo de Hacer Algo, que me dices TU?

http://www.paginadigital.com.ar/articulos/2007/2007prim/tecnologia41/hardware-mi-211107.asp
http://www.microbotica.es/web/ha.htm
http://www.consumer.es/web/es/tecnologia/hardware/2007/11/20/171514.php
http://es.wikipedia.org/wiki/Hardware_abierto

Muy buen Trabajo de gente de España (Juan Gonzalez 2003-12-31) sobre Hardware Libre les recomiendo su Lectura y varias implementaciones que hicieron. Recomendado.

http://www.iearobotics.com/personal/juan/publicaciones/art4/html/index.html

Subir ↑