Introducción a Arduino.
Arduino es una placa
programable con entradas y salidas digitales y analógicas, cuyo
bajo costo la hace ideal para iniciarse en automatización o realizar pequeños
proyectos domésticos en electrónica y robótica. Esto significa que disponemos
de un pequeño “autómata”, capaz de recibir información del entorno (sensores) y
realizar acciones (actuadores, motores…), según un programa que introducimos
con un computadora, y que puede ejecutar de forma autónoma.
Ventajas.
- Arduino simplifica el proceso de trabajar con microcontroladores.
- Bajos costos. Tiene un costo más bajo comparado con otras tarjetas.
- Multi-Plataforma. Puede ser utilizado en distintos sistemas operativos.
- Entorno de programación simple y directa. El entorno de programación de Arduino es fácil de usar para principiantes y flexible para los usuarios avanzados.
- Software ampliable y de código abierto. El software Arduino es de distribución de licencia libre y preparado para ser adaptado por programadores experimentados.
- Hardware ampliable y de Código abierto. Arduino está basado en los microcontroladores ATMEGA168, ATMEGA328 y ATMEGA1280. Los planos de los módulos están publicados bajo licencia Creative Commons, por lo que diseñadores de circuitos con experiencia pueden hacer su propia versión del módulo, ampliándolo u optimizándolo.
Desventajas.
- Dado que la programación no se realiza en ensambler, el precio a pagar por el uso de las librerías es un retraso en la ejecución de las instrucciones, algunos microsegundos que en el caso de dispositivos de uso cotidiano son irrelevantes, pero significativos a la hora de hacer adquisición de datos.
- El hecho de que la plataforma venga ya ensamblada le quita flexibilidad a los proyectos, asi por ejemplo estaríamos obligados a usar un espacio y forma acorde con el PCB del Arduino.
Tipos de Arduino.
Existen
multitud de modelos Arduino disponibles, lo que puede ser un poco confuso para
los nuevos usuarios. A la hora de elegir lo normal es que nos fijemos en la
cantidad de entradas y salidas que tiene, especialmente las analógicas dado
que son las que habitualmente restringen nuestro proyecto.
Lo más normal es que para empezar emplees una
Arduino UNO R3. Este es el modelo más estándar y es la placa que utilizaremos
de forma habitual. Para ciertos proyectos grandes, que requieran manejar un
número importante de motores o servo motores (robots, máquinas de CNC,
impresoras 3D) puede ser necesario pasar a un modelo con mayor número de
salidas, especialmente analógicas. En ese caso lo normal es emplear una Arduino
MEGA R3.
Por su parte, el modelo Mini 05 es un modelo para
usuarios avanzados. Es una placa de apenas 2.5 dólares y un tamaño
realmente pequeño, pensado para aplicaciones finales, es decir, cuando vas a
dejar la placa permanentemente conectada (y por tanto la vas a “perder”). Viene
sin terminales de conexión, hay que soldarlos, y para programarla se requiere
un adaptador USB FTDI que cuesta 3.5 dólares. En niveles expertos esta es
prácticamente el único modelo de placa que se usa dado que, en caso de requerir
una gran cantidad de entradas o salidas, es más económico formar una red de 3 o
4 placas mini, y obtienes una capacidad superior a una MEGA.
Tipos de Shields.
Las
shields son placas de circuitos modulares que se montan unas encima de otras
para dar funcionalidad extra a un Arduino. Esta Shields son apilables.
Un
shield en Arduino es un placa que se apila sobre el arduino o sobre otro
shield, de forma que nos permite ampliar el hardware/capacidades de Arduino.
Las
shields se pueden comunicar con el arduino bien por algunos de los pines
digitales o analógicos o bien por algún bus como el SPI, I2C o puerto serie,
así como usar algunos pines como interrupción. Además estas shields se alimentan
generalmente a través del Arduino mediante los pines de 5V y GND.
Cada
Shield de Arduino debe tener el mismo factor de forma que el standard de
Arduino con un espaciado de pines concreto para que solo haya una forma posible
de encajarlo.
Shields más importantes.
Ethernet
Shield: La
placa Arduino se comunica con el módulo W5100 y la micro-SD utilizando el bus
SPI (mediante el conector ICSP). Esto se encuentra en los pines digitales 11,
12 y 13 en el modelo UNO y en los pines 50, 51 y 52 del modelo MEGA. En ambas
placas, el pin 10 es utilizado para seleccionar el W5100 y el pin 4 para la
micro-SD. Estos pines no pueden ser utilizados para otros fines mientras la
Ethernet Shield esté conectada.
Arduino
Wifi Shield:
Permite conectar un Arduino a Internet mediante Wifi y hace uso de la librería
WiFi También dispone de un slot para una tarjeta micro SD. Este shield se
comunica con Arduino a través del bus SPI mediante los pines ICSP y usa los
pines 4 y 10 al igual que la Shield Ethernet. También hace uso del pin 7 que no
puedes ser usado.
Otros tipos de SHIELD:
Arduino
GSM Shield: Conecta
Arduino a Internet mediante GPRS, usando una tarjeta SIM. También permite
enviar y recibir mensajes y llamadas de voz (SMSs).
Arduino
Motor Shield:
Permite manejar dos motores DC, controlando su dirección y velocidad. Está
basado en un chip de doble puente H ST L298 Este shield usa dos canales y
cada canal usa 4 pines, en total nos ocupa 8 pines del Arduino.
GPS
Shield: Con
un slot para micro SD donde guardar logs. No es compatible con Arduino Mega ni
Due, RTC incluido. Conexión por puerto serie o conexión directa.
TFT
Shield:
Pantalla táctil resistiva con un slot para micro SD integrado. Comunicación a
Arduino a través de bus SPI.
Bluetooth
Shield:
Comunicación inalámbrica por bluetooth. Conecta con la UART del Arduino o
software serial con selector de puerto serie.
Terminal
Shield: Shield
con borneros y placa de prototipado que nos permite conectar fácilmente
cualquier sensor o actuador a un Arduino.