¿Qué es Arduino?
Arduino es una placa de prototipado electrónico que permite realizar una iniciación en el mundo de la computación física de una manera muy sencilla y al alcance de cualquier persona.
Arduino es el proyecto abanderado del movimiento del Hardware Libre y ha inspirado a cientos de otros proyectos de todo tipo incluyendo las revolucionarias impresoras 3D, también parte fundamental del movimiento del Hardware Libre. Actualmente Arduino es un referente a nivel de la industria electrónica clásica, que copia y reutiliza sus diseños y conceptos.
¿Qué es un microcontrolador?
Básicamente es un chip que contiene en su interior gran parte de los componentes que podemos distinguir en un ordenador: memoria, CPU, almacenamiento, entradas y salidas, etc. Actualmente vivimos rodeados de microcontroladores: desde la lavadora, hasta el coche, pasando por complejos sistemas que van a bordo de aviones o que realizan funciones de control específicas en fábricas. Todo hoy en día dispone de un microcontrolador en su interior.
¿De dónde sale?
Equipo inicial de Arduino: David Mellis, Tom Igoe, Gianluca Martino, David Cuartielles y Massimo Banzi
Arduino nace como una necesidad de un grupo de profesores de arte de diferentes universidades y escuelas para que sus alumnos puedan integrar componentes electrónicos modernos en sus obras de arte. A partir de ahí se expande enormemente entre la comunidad del DIY y poco a poco va abriéndose un hueco entre los entornos de desarrollo considerados profesionales.
¿Cómo es el ecosistema de Arduino?
Arduino está formado por tres pilares fundamentales:
- La placa de prototipado, llamada Arduino (que consta de dos microcontroladores ATmega y componentes auxiliares)
- El entorno de desarrollo, heredado de Processing, llamado Arduino IDE
- La comunidad, que diseña librerías y ayuda a que Arduino cada vez sea más fiable y completo, resuelve dudas, escribe documentación, ayuda en la difusión, etc.
Filosofía
Arduino, como comentamos, es el proyecto abanderado del Hardware Libre, pero ¿qué significa exactamente esto y qué implica para nosotros como usuarios?
- Software Libre
- Hardware Libre
- Documentación Libre
- Cultura Libre
¿Qué se hacía antes?
++ +
Básicamente, gastarse un dineral en el entorno de desarrollo, compilador, programador y entorno de prototipado e invertir unos cuantos meses en adquirir los conocimientos necesarios para comenzar a realizar un simple parpadeo de un led.
La electrónica microcontrolada quedaba restringida a entornos profesionales, industriales, y frikis de la electrónica.
El Hardware ¿De qué está compuesto? (Arduino UNO)
Shields
Una shield es una placa con una forma similar a la de Arduino que es capaz de encajarse encima proporcionando características adicionales a la Arduino. Generalmente cada Shield proporciona una sola característica adicional: bluetooth, wifi, ethernet, control de motores, displays LCD, pantallas táctiles, etc. Aquí hay algunas de las oficiales de Arduino:
Distintas placas de Arduino
A lo largo de estos 10 años de historia de Arduino, han salido multitud de placas que cada vez ofrecen mayores prestaciones. Hay una lista completa de todas las disponibles en la página oficial de Arduino.
Placas oficiales, placas clónicas, placas piratas, placas compatibles y placas derivadas
- Las placas oficiales son las que conforman la marca Arduino. Son fabricadas en condiciones de respeto a los trabajadores y bajo estándares de seguridad y garantía de funcionamiento.
- Placas clónicas son todas aquellas que son exactamente iguales que una placa oficial pero que han cambiado la denominación.
- Placas derivadas son placas que, partiendo del diseño de una Arduino, han realizado alguna labor de ingeniería y mejora de la placa en algún sentido. Un buen ejemplo de estas son las Olimexino.
- Las placas compatibles son fabricadas generalmente por empresas grandes y ofrecen un pinout (colocación de los pines) similar al de Arduino, haciendo que los Shields funcionen. Además, presentan un entorno de programación similar al de Arduino. Una de las más populares en la ChipKit fabricada por Digilent, pero conocidas marcas como ST y Texas Instruments también tienen las suyas.
- Por último, las placas piratas (o fraudulentas) son aquellas que copian exactamente el diseño original de Arduino y además mantienen el nombre simulando ser placas originales.
Era post-Arduino
Está claro que Arduino ha supuesto una auténtica revolución, pero ¿qué consecuencias ha tenido?
- Actualmente Arduino es una placa ampliamente usada, no sólo en entornos caseros y de DIY sino también a nivel industrial y de proyectos serios. Incluso hay una placa Arduino en el espacio: Comienza una floreciente industria casera DIY.
- Gracias a Arduino se ha generalizado el acceso a la electrónica. Cualquiera puede ahora diseñar y fabricar circuitos electrónicos sin tener que estudiar años una carrera ni pegarse con fórmulas o con las complejidades interiores de los microcontroladores.
- Los grandes fabricantes de electrónica han tenido que rendirse ante la popularidad de Arduino y todas, sin excepción se han lanzado a conquistar el mercado del pequeño maker bajando a cotas antes impensables los precios de sus dispositivos.
Usos profesionales de Arduino
Arduino puede ser usado perfectamente en usos industriales y cada vez más empresas e ingenierías lo usan en sus nuevos diseños (incluyéndonos nosotros).
Descargando el programa
Arduino puede ser descargado de la página oficial (http://arduino.cc)
El entorno de programación
Demostración de posibilidades
- Sketch sencillo de parpadeo
- Distintos colores en un led RGB
- Encendido de un LED mediante en sensor de sonido
- Control sencillo de un servo-motor. Parabrisas
- Demostraciones preparadas con la Yún:
- Servo + Color
- Detección de distancia con sensor ultrasonido
- Control REST
Taller: Primer ejercicio
- Encendiendo un LED usando los 5V del bus USB
- Ley de ohm
Taller: Segundo ejercicio
- Sketch vacío: setup() y loop()
- Nociones básicas de la programación
Taller: Tercer ejercicio
- Blink.
- Explicación digitalWrite(), delay(), pinMode()
Taller: Cuarto ejercicio
- Usando un pulsador.
- Explicación digitalRead().
- Explicación resistencias pulldown.