martes, 24 de agosto de 2010

Arduino Tutorial. Introducción.

Massimo Banzi, uno de los creadores de Arduino, lo definió en su libro “Getting started with Arduino” como:
“una plataforma de programación física de código abierto, basado en una placa de
entradas/salidas (I/O) y un ambiente de desarrollo que implementa el lenguaje Processing. Arduino puede utilizarse para
desarrollar objetos autónomos interactivos, o se puede conectar al software de
tu ordenador”

Arduino viene a ser la conjunción de tres cosas:

  • Hardware, cuyo diseño (esquemático, lista de material, gerbers) están colgados en la web;
  • software, un entorno de desarrollo de código libre, también gratuito;
  • y una comunidad que trabaja diseñando nuevas y originales aplicaciones cada día.

Detrás de Arduino hay una forma de trabajar, de enfocar la electrónica desde un punto de vista práctico. En inglés hay un término que Manzi utiliza para definir la filosofía que hay tras Arduino, el término es tinkering: disfrutar experimentando con máquinas.

Pero no todo el mundo tiene el conocimiento para experimentar con máquinas, ser creativos con ellas. ¿No todo el mundo? La ambición de Arduino y de su plataforma de programación es hacerlo accesible que cualquiera pueda utilizarlo con éxito.

Arduino, con su sencillez, incita a experimentar sin un objetivo claro, por el gusto de hacer prototipos, de ser creativo. Gracias a eso, Arduino ha sido adoptado por ámbitos ajenos a la electrónica, como ninguna plataforma de este tipo lo había sido antes. Hay ejemplos de aplicaciones de lo más variadas. Sólo la imaginación, y las propias limitaciones de la placa, ponen límites.

¿Qué necesitamos para empezar a trabajar con Arduino?:

  1. Un poco de paciencia.
    No hay que frustrarse a los primeros contratiempos. Sólo se requiere un corto periodo de aprendizaje para conseguir resultados.
  2. Un ordenador personal, con Windows, Mac OS o Linux.
  3. Instalarte el entorno de desarrollo de Arduino.
    Normalmente se hace referencia a los entornos de desarrollo con las siglas inglesas IDE, así lo denominaré durante el resto del tutorial.
    El IDE de Arduino se puede bajar gratuitamente desde:
    http://arduino.cc/es/Main/Software
    Por supuesto, tienes que bajarte el adecuado al sistema operativo de tu ordenador personal.
  4. Un cable USB de tipo A a tipo B.
    Es el típico cable que se utilizas para conectarte a una impresora desde tu ordenador personal.
  5. Una placa Arduino.
    Para este tutorial utilizaremos siempre la placa Duemilanove.
    Puedes consultar las distintas placas Arduino en:
    http://arduino.cc/es/Main/Hardware

Y estas son todas las piezas del juego. Al menos las piezas fundamentales, ya veremos que para ampliar las posibilidades de la placa, podemos añadir componentes que controlaremos a través del microcontrolador del Arduino.

En este tutorial, iniciaré una explicación sobre cómo empezar a trabajar, y qué posibilidades de ampliación tenemos. Añadiré componentes externos para ilustrar algunas de las posibilidades que existen, y explicaré las placas de ampliación, conocidas como shields, más extendidas entre los aficionados.

Algunos ejemplos de shields son:

  • Ethernet shield. Para conectar Arduino a Ethernet.

  • Xbee shield. Para aplicaciones inalámbricas con Zigbee.

  • Input shield. Para implementar un joystick.

Aquí va unos links a añadir a favoritos, directorio Arduino, para aprender y estar a la última en diseños:

En cuanto a bibliografía, algunos libros sobre Arduino:

En el siguiente capítulo del tutorial nos pondremos manos a la obra con Arduino. Nos aseguraremos que tenemos todo en marcha para empezar a hacer nuestros propios diseños.

Hasta pronto.

martes, 17 de agosto de 2010

Tutorial Arduino

Anunciamos un tutorial sobre Arduino.
Se ha escrito mucho sobre Arduino, seguramente en este mismo instante hay varios centenares de personas escribiendo un nuevo tutorial o desarrollando una nueva aplicación, así que resultaría demasiado pedante por mi parte pensar que puedo escribir algo original. No os prometo nada.
Este será un tutorial con la única ambición de ser riguroso.
La estructura del tutorial será la siguiente:

1. Introducción
2. Manos a la obra
3. Programación
4. Hardware
5. Desarrollo de Proyectos

Por supuesto me reservo la libertad de ir cambiando el índice a medida que vaya desarrollando el tutorial ;-)

Hasta pronto.

domingo, 15 de agosto de 2010

Proyecto Tuva. Feynman

De vez en cuando, a alguno de los multimillonarios se les ocurre invertir el dinero en algo que vale la pena.

Al bueno de Gates se le ha ocurrido invertir en acercar la física a todo el mundo a través de lo que denominan el proyecto Tuva. No se me ocurre una forma mejor de hacerlo. Pero, ¿por qué Tuva?, ¿de dónde viene ese nombre?

Tuva es el lugar misterioso, el anhelo de aventuras de uno de los mejores divulgadores de la física, Richard Feynman. Una región remota de la antigua URSS que Feynman deseaba visitar, atraído por la leyenda, y especialmente por su música, su canto gutural.



Desgraciadamente, un físico nuclear de su envergadura, premio Nobel de física, norteamericano, no tenía nada fácil el acceso a la URSS durante la guerra fría. Finalmente, por una broma del destino, sólo recibió el permiso de visita por parte del gobierno soviético unos días después de su muerte.

El proyecto Tuva publica en Internet las conferencias de física que Feynman impartió en la universidad de Cornell, dentro de un ciclo llamadas Messeger Lectures.

Sólo puedo recomendar a todos lo que no hayan tenido la oportunidad de escuchar a Feynman, de leer sus libros, que no pierdan más el tiempo y se acerquen a la web del proyecto Tuva o a la librería más cercana. Sus libros no dejan de reeditarse. Descubrirán el entusiasmo de un genio que intentaba acercar generosamente la física a todo el mundo de una forma divertida y accesible.

Hasta pronto.

Netduino

Las grandes empresas, incluso la más grande , se han dado cuenta del potencial de Arduino y se han puesto manos a la obra.
Los de Redmon han decidido que no quieren correr el riesgo de quedarse fuera de juego y han desarrollado una plataforma donde sus productos se utilicen a la fuerza.

¿Qué es eso de poder trabajar con Linux? Vamos a hacer un producto que sea mucho más potente que Arduino y démosle a los desarrolladores un entorno de desarrollo gratuito para que se salte la chispa…

Ahí está Netduino, compatible con Arduino Shields -las placas de ampliación conectables a los zócalos de Arduino-.



La capacidad el Netduino es mucho mayor que la de Arduino, con un microcontrolador AT91SAM7x de Atmel, un ARM7 a 48MHz. Es mucho más potente que el micro ATMEGA del Arduino convencional.

Dos consideraciones:
- Algo se mueve. Las grandes corporaciones se han dado cuenta y no quieren perder el paso.
- La imaginación del usuario va más allá de las posibilidades del Arduino, cada vez habrá más necesidad capacidad de procesado, y Netduino busca suplantar a Arduino en esas aplicaciones.

Por otra parte, Netduino no tiene aparentemente ese tufo a DIY (Do it yourself). Arduino tiene el micro conectado al zócalo, y en caso de hacer un corto, pues ala, a cambiar el micro y tan amigos. Netduino es más ambicioso y eso tiene el peligro de tirar hacia a atrás a aquellos que no quieren complicarse demasiado la vida. Habrá que mirarse con más detalle el entorno de desarrollo para ver hasta qué nivel de “usabilidad” se ha llegado.

El tiempo, y la inversión que los de Redmon le tengan reservado, dictarán el futuro de Netduino.

Hasta pronto.

viernes, 6 de agosto de 2010

Freeduino

Arduino se ha convertido en la plataforma más popular de Hardware libre. ¿Pero qué significa realmente Hardware libre?.
Estamos acostumbrados a utilizar la expresión de software libre, cuando nos referimos a los proyectos desarrollados por un grupo de voluntarios, que comparten su trabajo gratuitamente a través de internet. El grupo de voluntarios trabajan en el debug y en el desarrollo del software, y a medida que el grupo de gente involucrada aumenta, la calidad del diseño mejora. Normalmente, se acaba construyendo software de gran calidad y extraordinariamente dinámico.
Con el hardware es imposible alcanzar ese nivel de libertad, gratuidad y dinamismo.
Evidentemente, el hardware, a diferencia del firmware, no puede hacerse totalmente gratuito, y aquí es donde empieza el "problema". En cuanto se comienza a asomar la posibilidad de ganar dinero, se corrompe la esencia idealista del proyecto. Arduino, desde mi punto de vista, no está libre de esto. La prueba, aquí.

No existe aún unas reglas del juego que definan lo que es Hardware Libre, a diferencia del Software Libre (Open Source), donde hace tiempo que existen.

A pesar de poder disponer de los esquemáticos, la lista de material, gerbers, ... todo la información necesaria para poder fabricarte un Arduino en el taller de la esquina, resulta que eso no sería, según el equipo de Arduino, del todo correcto.
Supuestamente, antes de hacer eso, tendrías que "ponerte en contacto con el equipo Arduino".

Pues va a ser que no... me resulta complicado asumir que un grupo de gente puede "patentar" un diseño electrónico a partir de un microcontrolador. ¿Os imagináis que las empresas fabricantes de micros fueran patentando placas de desarrollo?. Absurdo.

Pues bien, a esta misma conclusión ha llegado otra gente antes, y se han ido creando diseños equivalente, ligeramente diferentes, lo suficiente como para no tener problemas, y lo suficientemente poco como para poder trabajar con el software de desarrollo de Arduino. Un ejemplo es el llamado Freeduino. Un buen índice de aplicaciones tanto de Arduino como de Freeduino, lo podéis encontrar aquí.

Como podéis ver en el site de Freeduino, se explica claramente la diferencia entre Arduino y Freeduino:

Arduino is the name of the official Arduino microcontroller project, hosted at arduino.cc. Although "Arduino" is not offically registered (trademark registration was refused in the US in June 2009, based on the fact that Arduino is "primarily merely a surname"), it is generally respected by the Arduino/Freeduino community as the property of the Arduino team. This means using the Arduino name on your products is a community no-no.
Freeduino, on the other hand, comes with a free and unrestricted license to use the Freeduino name, for any use. Branding products as Freeduino instead allows users to build on the established knowledge and open-source licenses of the Arduino project without having to worry about the slim possibility of trademark infringement. This means that you can take the files you find here, make products, brand them as Freeduino and sell them- or do whatever you want with them- without asking. While definitive policies for open-source hardware have not yet been developed, this 'freedom of use' policy is similar to the Open Source Initiative's Open Source Definition.

Freeduino se puede fabricar sin pedir permiso a nadie. Se trata, este sí, de verdadero Hardware Libre.

Hasta pronto

Arduino the Documentary

Ha salido a la luz el trailer de un documental sobre Arduino, su título:
Arduino: The Documentary

Prometen sacarlo por la web durante este verano del 2010. Tiene un extraordinaria pinta.
Para conocer un poco mejor a uno de los creadores de Arduino, que aparece en el documental, aquí va una de aragoneses en el mundo.


Hasta pronto.

miércoles, 4 de agosto de 2010

Arduino abre las puertas


Arduino, la plataforma de hardware libre, creada, entre otros, por David Cuartielles, nos abre las puertas hacia el mundo del hardware libre.

Trataremos Arduino con detalle en los próximos posts. Prometemos tutoriales, proyectos, webs, recomendaciones, ...

martes, 3 de agosto de 2010

Proceso de certificación CE

En el post anterior hablamos sobre cómo tenemos que encarar el inicio del diseño, el plácido planteamiento inicial, y también presentamos la necesidad de considerar EMC durante todo el proceso de diseño.

En este post explicaré cuál es proceso de certificación CE.

Una vez hayamos acabado nuestro diseño, después de la satisfacción del trabajo bien hecho, si queremos comercializarlo en la Comunidad Económica Europea, debemos hacer la declaración de conformidad CE.
En esta declaración de conformidad, es un documento en el que damos fe, como fabricantes o importadores, que nuestro producto cumple con las directivas europeas que afectan a ese producto.
El proceso de certificación es, por tanto:











Mientras diseñamos nuestro producto tenemos que tener muy claras las directivas europeas que le afectan, y condicionar el diseño con esas normativas. Es decir que un primer paso antes de empezar a diseñar, es recompilar las normativas que afectan a nuestro producto, leerlas, y entenderlas.

¡Cómo si entender una normativa fuera tan fácil!, a veces hay que conformarse con interpretarlas y cruzar los dedos.

Las directivas europeas son textos legales, no son textos técnicos que especifiquen los límites de medida, o cuestiones técnicas. Las especificaciones de los test de validación se encuentran en las llamadas normativas armonizadas.

Para saber qué normativas armonizadas afectan al producto que hemos diseñado, se puede hacer la consulta en la siguiente web de la CEE:
http://ec.europa.eu/enterprise/policies/european-standards/documents/harmonised-standards-legislation/list-references/

Entre las directivas europeas a considerar siempre está la directiva de EMC. La directiva de EMC actual, tiene el intuitivo nombre de Directiva Europea de EMC 2004/108/EC, es de obligado cumplimiento desde el 20 de Julio del 2007.

Nuestra directiva europea de EMC dice que los equipos tienen que garantizar dos cosas:
  1. Que las radiaciones electromagnéticas que ellos generan no afectan a otros equipos, especialmente a los equipos de telecomunicaciones.
  2. Que los equipos tienen un nivel de protección frente a perturbaciones electromagnéticas que le permita funcionar sin degradación en su uso.
Básicamente, simplificando un poco, esto significa que el equipo tiene que cumplir con los límites de:
  1. Emisiones radiadas y conducidas,
  2. Inmunidad radiada y conducidas
En futuros post describiremos qué significa esto de emisiones e inmunidad con más detalle y describiremos algunos de los tests que se tienen que hacer para comprobar que cumplimos con estos requerimientos.

¿Cómo tenemos que evaluar nuestro equipo para saber si es conforme con la directiva?, ¿cómo podemos demostrarlo? Lo que dice la directiva, más concretamente en su artículo 7, es lo siguiente:
  1. Control de fabricación interno. Es decir, el fabricante o importador se “auto certifica” sin necesidad de tener que hacer ningún test en un laboratorio. Basta con que él declare que su producto cumple con los requerimientos de la normativa.
  2. Llevar al equipo a un organismo notificado que haga los test pertinentes para validar que cumplimos con las normativas.
Esto significa que, en realidad, podemos poner en el mercado productos a los que no se le han hecho los test necesarios para comprobar que son seguros. Sencillamente, el fabricante (o importador), declara que él ha hecho lo adecuado para que cumpla con las normativas.
Es así como podemos encontrarnos casos como los que os conté en el anterior posts, equipos que no cumplen con las normativas, que son excesivamente ruidosos o poco inmunes, pero aún así se comercializan. A esos equipos, no se les ha hecho un estudio serio de su seguridad, y el fabricante (o importador), firmando la declaración de conformidad está en realidad, cometiendo una infracción, está asumiendo el riesgo de futuros problemas.

Detrás de esta infracción, más usual de lo que nos pensamos, se me ocurre que pueden haber dos causas:
  1. El elevado coste de los test en los organismos notificados, los laboratorios acreditados que pueden emitir un informe técnico oficialmente aceptado.
  2. El desconocimiento, o no querer hacer la inversión necesaria para modificar el diseño cuando se descubre que éste no cumple con las normativas. Las pruebas se hacen al final del diseño y los resultados pueden ser una sorpresa muy desagradable.

Creo que estás hablando de tener que comenzar de nuevo con un diseño que hace lo que tiene que hacer, a nivel funcional, pero lo hace sin cumplir con las normativas de seguridad. La pregunta que se hace el responsable es, ¿por qué me voy a gastar una fortuna en volver a hacer un diseño que ya funciona?

En futuros posts hablaremos con más detalle sobre la directiva EMC, de sus aspectos legales, y de sus implicaciones prácticas.

Hasta pronto