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 alimenta generalmente a través del Arduino mediante los pines de 5V y GND.
En muchos casos nos encontraremos que los shields vienen sin soldar las patillas o en algunos casos sin algunos componentes soldados.
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.
Debemos tener en cuenta que cuando instalemos un shield, habrá que leer su documentación que nos dirá si inhabilita algunas de las I/O o si usa un bus y que requisitos tiene para su utilización. Generalmente las shields vienen con un ejemplo o una librería para su uso.
En algunos casos los shiels pueden tener el pineado que no permita apilar más.
Veamos los shields más importantes de Arduino:
Ethernet Shield: http://arduino.cc/en/Main/ArduinoEthernetShield
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. El en MEGA, el pin SS (53) no es utilizado pero debe dejarse como salida para que el bus SPI funcione correctamente.
Arduino Wifi Shield: http://arduino.cc/en/Main/ArduinoWiFiShield
Permite conectar un Arduino a Internet mediante Wifi y hace uso de la librería WiFi Library http://arduino.cc/en/Reference/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.
Debe tenerse en cuenta que dado que la tarjeta SD y la wifi usan el mismo bus SPI, no pueden trabajar simultáneamente, lo que implica que se debe tenerse este aspecto en cuenta durante la programación si usamos ambos periféricos.
Esta tarjeta también dispone de unos interfaces en placa para actualizaciones de firmware y diagnósticos.
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)
Telefónica presentó la nueva versión del proyecto Arduino GSM/GPRS Shield, un dispositivo que incorpora conexión GPRS/GSM a una placa base de hardware libre, dando como resultado un dispositivo de bajo coste conectado gracias a la tecnología machine to machine (M2M) de Telefónica. ¿El fin? Abrir nuevas posibilidades para que el llamado internet de las cosas pueda prosperar de forma sencilla y económica con la colaboración de Arduino.
Como cualquier otro elemento de Arduino, está disponible la documentación de HW y SW y es open source.
Usa los pines 2 y 3 (software serial) y el pin 7 (reset), pero hay una serie de condicionantes para su uso con los Arduinos Mega, Yun y Leonardo debido a que los pines que se usan para comunicar deben tener implementada interrupción en el pin 2.
Para su uso es necesaria la librería GSM Library: http://arduino.cc/en/Reference/GSM
En este caso por el consumo de esta shield, se hace necesario alimentar a Arduino mediante una fuente externa y no desde el USB ya que no es capaz de proporcionar suficiente energía.
También es posible hacer llamadas de voz haciendo unas pequeñas modificaciones, añadiendo un micrófono y un altavoz.
En el caso de la segunda Shield, usa el módulo SM5100B y es similar a la anterior shield y usa comandos AT a través del puerto serie para manejar la comunicación.
Arduino Motor Shield: http://arduino.cc/en/Main/ArduinoMotorShieldR3
Permite manejar dos motores DC, controlando su dirección y velocidad. Está basado en un chip de doble puente H ST L298 http://www.st.com/web/en/catalog/sense_power/FM142/CL851/SC1790/SS1555/PF63147
Como veremos en este curso manejaremos un motor DC con otro integrado de puente H, pero este shield nos facilita mucho su uso.
Este shield usa dos canales y cada canal usa 4 pines, en total nos ocupa 8 pines del Arduino
Un módulo con el mismo puente H: http://tienda.bricogeek.com/motores/285-controlador-de-motores-doble-puente-h-l298.html
EmonTx Shield: http://openenergymonitor.org/emon/emontxshield/smt
Un shield para medir corriente eléctrica bajo el proyecto open energy monitor: http://openenergymonitor.org/emon/
Posee 4 entradas para conectar 4 toroidales abiertos y una entrada para conectar el sensor de voltaje mediante un transformador AC-AC, también tiene la posibilidad de montar un transmisor RF.
Grove Shield: http://www.seeedstudio.com/depot/Grove-Base-Shield-p-754.html
Un Shield para el sistema grove que facilita la conexión de sensores y actuadores.
Relay Shield: http://www.seeedstudio.com/depot/relay-shield-v20-p-1376.html?cPath=132_134
Este shield proporciona 4 relés para manejar dispositivos que no pueden controlarse directamente con las I/O de Arduino. Dispone de unos indicadores de uso de los relés.
En este caso se usan 4 pines digitales para usar cada uno de los relés.
Más información y ejemplos en: http://www.seeedstudio.com/wiki/Relay_Shield_V2.0
¿Y si necesitamos más de 4 relés?
Shield Relay Driver de 8 canales: http://www.freetronics.com.au/collections/shields/products/relay8-8-channel-relay-driver-shield#.VQxwlo5k6t8
Este shield permite manejar hasta 8 relés (que no están en el shield) usando solo dos pines de I/O del Arduino. Se comunica con Arduino usando el bus I2C, de forma que aplilando varias de estas shields podemos manejar 16, 24 y más relés.
Guía de uso: http://www.freetronics.com.au/pages/relay8-8-channel-relay-driver-shield-quickstart-guide#.VQyBVI5k6t8
GPS Shield: http://www.adafruit.com/products/1272
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.
Más información en: https://learn.adafruit.com/adafruit-ultimate-gps-logger-shield
Xbee Shield: https://www.sparkfun.com/products/12847 y http://www.seeedstudio.com/depot/xbee-shield-v20-p-1375.html
Para comunicación inalámbrica mediante Xbee. Conexión a UART de la MCU o a cualquier otro puerto por software serial.
Más información: http://www.seeedstudio.com/wiki/XBee_Shield_V2.0
TFT Shield: http://www.electan.com/arduino-shield-tft-tactil-color-240×320-p-3187.html
Pantalla táctil resistiva con un slot para micro SD integrado. Comunicación a Arduino a través de bus SPI.
Bluetooth Shield: http://www.seeedstudio.com/depot/Bluetooth-Shield-p-866.html
Comunicación inalámbrica por bluetooth. Conecta con la UART del Arduino o software serial con selector de puerto serie..
Terminal Shield: http://www.freetronics.com.au/collections/shields/products/terminal-shield-for-arduino#.VQxwn45k6t8
Shield con borneros y placa de prototipado que nos permite conectar fácilmente cualquier sensor o actuador a un Arduino.
Además de los Shield, también tenemos disponibles módulos independientes para conectar directamente a Arduino:
- Modulo de relé: http://www.seeedstudio.com/depot/Electronic-brick-5V-Relay-module-digital-p-479.html
- Módulo GPS: https://www.sparkfun.com/products/12751
- Módulo bluetooth: http://tienda.bricogeek.com/modulos-bluetooth/629-bluefruit-ez-link-v10.html
- Módulo RF : http://shop.ninjablocks.com/blogs/how-to/7501042-adding-rf-433mhz-to-your-arduino
- Módulo RTC: http://www.adafruit.com/products/264
Existen muchísimos shields que seguro que se adaptan a nuestro proyecto. En cada web de los fabricantes tenemos variedad donde elegir.
- Sparkfun tiene 75 tipo de shields: https://www.sparkfun.com/categories/240
- Seeedstudio tiene 70 shileds: http://www.seeedstudio.com/depot/s/shield.html?search_in_description=0
- Freetronics: http://www.freetronics.com.au/collections/shields
- Electan tiene 57 shields: http://www.electan.com/arduino-shields-arduino-c-337_343.html
Un listado completo donde encontrar cualquier tipo de shield: http://shieldlist.org/
Para aprender más sobre los shields: https://learn.sparkfun.com/tutorials/arduino-shields
Ejercicio: ¿Que Shield necesitas para el proyecto plateado?
Ejemplo: Obtener datos de mi coche a través del conector ODB:
- Para un Arduino un CAN-BUS Shield: https://www.sparkfun.com/products/10039
- Para hacer telemetría un Shield 3G + GPRS/3G: http://www.cooking-hacks.com/documentation/tutorials/arduino-3g-gprs-gsm-gps
Pingback: Curso Arduino Iniciación 2015 | sindofdez
Pingback: Comenzar con Arduino | Alvaro Martin
Pingback: Estos españoles han reinventado el 'mini-PC' para enseñar a programar a los niños - H2o Positivo Fuera de lo Común y Un noticias virales
no entendi nada pero gud
Me gustaLe gusta a 1 persona
Si quieres información sobre alguna shield en concreto o alguna duda en concreto puedes mandarme un correo a aprendiendoarduino@gmail.com
Me gustaMe gusta
Pingback: ¿Cómo Aprender Arduino desde cero? - Dron Profesional