Todos sabemos lo que es el software libre, pero ¿qué hay del hardware libre? Para eso tenemos la plataforma Arduino, demostrándonos que con una pequeña placa base y una libertad total para añadir componentes (además de saber programar) se puede conseguir cualquier función que quieras. Además, se pueden conseguir fácilmente kits de iniciación a un precio no demasiado caro. Una lista de cursos y tutoriales en español e inglés para dar los primeros pasos con la plataforma Arduino de hardware...
|
etiquetas: arduino , kits de iniciación , software libre , cursos
Ya tengo una familia de seis arduinos:
Dos "uno" R3 originales, un R3 clónico y los tres minis clónicos.
¿Que para que quiero tantos?
* Los dos originales son para hacer el prototipado y probar las conexiones wifi entre ellos.
* El R3 clónico es para hacerle perrerías (es muy barato).
* Los tres minis son los que se quedarán definitivamente trabajando en los proyectos finales.
De verdad que estas maquinitas son asombrosas:
De una tacada aprendes electrónica, arquitectura de ordenadores y programación.
Apagar y encender electrodomésticos en remoto, construir una pequeña alarma...
Si le acoplas algún sensor (humedad, temperatura, luz, etc.) ya puedes saltar, por ejemplo, a hacer un sistema de riego automático, encender ciertas luces cuando se haga de noche, etc...
Si queréis iniciaros en la electrónica, ya sea a nivel diseño Hardware o Firmware, echadle un vistazo a cualquier placa con un Cortex M0+/M4 (Nucleos de 32 bits y mucho más baratos que el nucleo de 8 bits del Arduino, además de que se programan en C y no en el lenguaje que ha puesto Arduino por encima de C).
Arduino está bien para gente que no quiere aprender electrónica ni programación de sistemas embebidos, porque todo es muy sencillo y hay mil ejemplos en internet. Pero si de verdad quieres entender lo que pasa a bajo nivel, Arduino es probablemente la peor plataforma disponible.
Si queréis el código o consejos escribirme. Sabiendo programar o no es muy fácil.
Los mejores libros para aprender más sobre microcontroladores en mi opinion son: "The definitive guide to the Cortex M3" y el libro de sistemas embebidos de Jonathan Valvano. Por supuesto necesitas saber C como mínimo.
Los fabricantes que hoy dominan el mercado de microcontroladores son ST, Freescale, Atmel y NXP, tanto en el mundo industrial como en la automoción. Todos ellos tienen el mismo core (Cortex M, con sus variantes M0 y M0+ para aplicaciones low cost y M3/M4 para aplicaciones más potentes como control de pequeñas pantallas o comunicaciones ethernet/wifi).
Practicamente cualquier fabricante de chips te ofrece también toda la información para copiar su placa y modificar lo que quieras para adaptarla a tus necesidades.
Aquí por ejemplo tienes toda la información sobre la FRDM-KL25Z:
www.freescale.com/webapp/sps/site/prod_summary.jsp?code=FRDM-KL25Z&
En la pestaña Downloads tienes todos los recursos necesarios para "clonar" esa placa si quieres, o modificarla para adaptarla a tus diseños. Los fabricantes de microcontroladores lo que quieren es vender el chip, no les importa que copies el diseño de referencia, porque precisamente están para eso :).
Arduino es un microcontrolador de 8 bits, que ejecuta unos 16 millones de instrucciones por segundo, y que no tiene ni aceleradores gráficos ni periféricos para comunicaciones de alto nivel (ethernet, USB...)
Raspberry Pi ronda los 1000 millones de instrucciones por segundo, con un set de instrucciones mucho más potente que el de arduino, y con aceleradores gráficos, controladores de pantalla, audio, video analógico, USB, ethernet, wifi, soporte para sistemas operativos (Linux, Android o RTOS) y control de memorias externas (DDR para RAM y NAND Flash para datos estáticos).
Es como comparar un coche de radiocontrol con un ferrari, son mundos totalmente diferentes. Claro que el precio también es diferente. Un chip equivalente al de Arduino puede costar 0.25 € y un equivalente al de Raspberry Pi unos 5 € (Sin contar las memorias externas)
www.pjrc.com/teensy/teensy31.html
Arduino se ha hecho famoso entre otras cosas porque permite a gente sin conocimientos de electrónica hacer proyectos sencillos (control de Leds, robots, domotica sencilla y mil cosas más).
Mis recomendaciones y links iban más orientados a gente que quiera aprender electrónica, no jugar con la placa y copiar proyectos de otros o reutilizar librerías sin saber que hacen.
Aquí hay una lista bastante actualizada: wiki.hackerspaces.org/Spain
www.ebay.es/itm/Arduino-Mini-PRO-5V-16Mhz/291457810390?_trksid=p205489
Si usas Arduino ni entiendes la parte electrónica ni entiendes que está haciendo el micro a bajo nivel ni entiendes nada de nada. Si quieres aprender, no es una buena herramienta.
Sin embargo, como ya he dicho, para gente que quiere una herramienta sencilla para hacer otras cosas, es muy útil. Un ejemplo es la gente de arte que quiere añadir interactividad a sus creaciones, con iluminación dinámica, sensores de proximidad, etc...esa gente ni quiere ni necesita aprender electrónica ni programación, quiere algo sencillo que funcione.
Pero repito, Arduino no es una plataforma para aprender electrónica ni programación.
Yo lo que digo es que usando Arduino no vas a aprender nada sobre microcontroladores, ni como funcionan ni a programarlos. Evidentemente si conectas circuitos externos, aprenderás sobre esos circuitos externos, y puedes usar Arduino para abstraerte del microcontrolador y toda su complejidad.
Y lo vuelvo a repetir, si quieres aprender como funciona un microcontrolador, Arduino no es el camino, y punto.
Y no, no hacen falta 32 bits. Puedes usar el mismo micro que lleva el Arduino, pero aprende a programarlo desde cero, en ensamblador y en C, y entonces podrás manejar cualquier micro. Mientras uses Arduino no tendrás ni puñetera idea de lo que pasa dentro del chip y no habrás aprendido nada.
Lo que yo intentaba explicar a la gente es que te lleva lo mismo aprender C y entender un micro ARM, como Arduino y su micro de 8 bits. La diferencia es que uno se usa hoy en día y te puede dar trabajo el día de mañana y el otro es un juguete.
No es superioridad, es saber de lo que hablo. Lamento que te lo hayas tomado así, pero sigo sin estar de acuerdo con lo que dices. Da igual ser de FP o de ingeniería, a la inmensa mayoría no les interesa entender el MCU a bajo nivel, por eso Arduino se ha hecho popular.
Pero digo yo que si se venden 30 millones de microcontroladores en España al año, y practicamente ninguno es Arduino, por algo será, ¿no?