Skip to main content

1.3 Hardware

HARDWARE

Placa Arduino

Arduino puede tomar información del entorno a través de sus pines de entrada de toda una gama de sensores y puede afectar aquello que le rodea controlando luces, motores y otros actuadores. 

Entradas y salidas

La placa Arduino Duemilanove o UNO consta de:

  • DIGITALES:
    • 14 entradas/salidas digitales D0-D13 previamente hay que configurarlas o entradas o salidas. Que operan a 5 ó 0 voltios. Cada pin puede proporcionar o recibir como máximo 40 mA.
      • Los pines D0 y D1 son compartidos por el puerto USB por lo tanto no se pueden utilizar si se está comunicando con el ordenador, están marcados como TX/RX (transmisión y recepción puerto serie).
  • ANALOGICAS
    • 6 entradas analógicas A0 al A5 con una resolución de 10 bits que proporcionan un número entero de 0 a 1023. Por defecto miden de 0 voltios (masa) hasta 5 voltios. 
    • 6 salidas pseudo-analógicas, en los pines digitales 3, 5, 6, 8, 10 y 11 son PWM (Pulse Width Modulation) y como hemos visto, pueden proporcionar una salida cuadrada que su valor medio puede estar entre 0 y 5V

La intensidad de corriente que pueden proporcionar como salida son 20mA.

Pines de la placa

Elementos con los que podemos interactuar: (tomando como ejemplo la placa USB). Empezando en el sentido de las agujas del reloj desde el centro de la parte superior:

  • Pin de referencia analógica (naranja).
  • Señal de tierra digital (verde claro).
  • Pines digitales 2-13 (verde).
  • Pines digitales 0-1 / entrada y salida del puerto serie: TX/RX (azul) (estándar de comunicación serie IC2).
  • Botón de reset (negro).
  • Entrada del circuito del programador serie (marrón).
  • Pines de entrada analógica 0-5 (azul oscuro).
  • Pines de alimentación y tierra (naranja y naranja claro).
  • Entrada de la fuente de alimentación externa (9-12V DC)
  • X1 (gris). - Entrada fuente de alimentación externa 
  • SV1: En las placas antiguas existen estos pines para conmutar si la alimentación es por el puerto USB, ahora lo realiza automáticamente un transistor MOSFET
  • Puerto USB (rojo).

Las placas: Arduino Diecimila, Arduino Duemilanove o UNO y Arduino Mega están basados en los microcontroladores Atmega168, Atmega 328 y Atmega1280 respectivamente. Trabajan a 16MHz, una velocidad suficiente para proyectos de robótica. Su capacidad de memoria Flash van desde 16k el Atmega168 hasta 128k Atmega1280, suficientes para que quepan nuestros programas de robótica.

SHIELDS para Arduino

Las llamadas Shields (escudos) para Arduino son tarjetas que se acoplan a la placa Arduino y añaden funciones y potencialidad a la placa Arduino.  Según mi criterio hay dos tipos de Shields: Las educativas y las no educativas

Shields educativas

ComoHay semuchas haShields comentadoEducativas, antes,vamos a ver unos pocos ejemplos

  • La shield del curso Arduino con código EDUBASICA, que integra algunos sensores y actuadores, pero lo que destaca es que además tiene la opción de conexión de motores o actuadores que requieran potencia, pues la placa Arduino por sí sola no puede proporcionar la suficiente intensidad para alimentar motores, relés o electroválvulas. El límite de intensidad que proporciona cada una de las salidas digitales es de 40 mA. Para poder activar estos dispositivos tendremos que montar un circuito externo adicional con transistores o circuitos integrados específicos para motores, como es el caso del LM293, que entregan la intensidad suficiente. Para facilitarnos la tarea existenesta unasplaca placasintegra adaptadasun aLM293 losy pinesun transistor de Arduinopotencia, queen setotal ensamblan5 directamente sobre ella a modosalidas de "escudo" (de ahí su nombre, shields) y nos permiten tener pines adicionales para alimentar las cargas que Arduino por sí solo no es capaz de mover.

    Algunos ejemplos DE SHIELDS EDUCATIVAS:

    EDUBASICA-PEQ.png

    • La shield del curso ECHIDNA  que tiene integrados sensores y actuadores como el Joystick,acelerómetro, sensor de luz, pulsadores, potenciómetro, altavoz...  y destaca el Joystick con la posibilidades de gamificación que se puede hacer con este elemento. También destaca el modo MAKEY que permite convertir los pines analógicos y los digitales D2 D3 en pines sensibles al tacto, con las mismas posibilidades que la placa MAKEY MAKEY (ver curso Makey Makey). Actualmente Echidna ya no fabrica esta Shield sino comercializa la ECHIDNA BLACK que no es una shield sino es autónoma (es decir, NO necesita la placa Arduino, la tiene integrada)
      . 2022-07-23 00_12_07-Editing Page 1.3 Hardware _ Librería CATEDU.png

    2022-07-23 00_12_07-Editing Page 1.3 Hardware _ Librería CATEDU.png

    • La shield del curso ARDUINOBLOCKS EN EL AULA la TDR-STEAM que tiene muchas posibilidades didácticas.cticas por su sensores (temperatura, humedad, luz, potenciometro, pulsador, receptor IR).

    tdrsteam.png

    • La Shield k5864195 muy sencilla y baratabarata, si lo que se busca son sensores sencillos (pulsadores, potenciómetro) y actuadores sencillos (altavoz, leds y display 7 segmentos).

    VISUALINO.png

    Shields no educativas

    HayEs tambiéndifícil otroelegir tipounos ejemplos de "shields"toda la variedad comercial (ver lista) que proporcionandestaquen funcionespor comoutilidad conexióy precio aceptable. Sólo queremos que sepas que existen shields para:

    • Agregar conectividad al Arduino, ya sea por red móvil (3G, 4G), por Wifi o por cable Ethernet
    • Agregar potencia a las salidas para conectar por ejemplo motores
    • Shields con relés para conectar sensores y actuadores con tensión Ethernet,sin WIFI, XBee, GSM, Host USB, etc... Actualmente hay decenasproblemas de ellas enquemar el mercado.Arduino
    • Puedes encontrar una larga lista de ellas en http://playground.arduino.cc/Main/SimilarBoards#goShie

    via GIPHY

    Alimentación eléctrica de Arduino

    Uno de los aspectos claves para el buen funcionamiento de proyectos con Arduino que incluyan elementos que consuman una intensidad superior a 200 mA como motores, relés, electroválvulas, etc... es la alimentación eléctrica de la placa. Normalmente tenemos dos posibilidades para alimentar Arduino:

    Mediante el cable USB conectado al ordenador:

    • Cada pin proporciona 40 mA.
    • El límite proporcionado por el USB es de 500 mA en total.

    Utilizando una fuente de alimentación externa conectada al jack de Arduino (fuente de voltaje, adaptador de corriente, batería o portapilas) :

    • El voltaje recomendado de la fuente externa está entre 7 y 12 V.
    • La intensidad máxima que puede entregar Arduino a los actuadores que queramos controlar (servos, motores, relés,...) es de 1A, aunque una exposición prolongada a esta corriente puede estropear la placa. Lo recomendable son 800 mA.
    • El pin serigrafiado con Vin proporciona directamente el voltaje de la fuente conectada al jack de Arduino (menos la caída de tensión del diodo de protección), desde ese pin podemos sacar un cable y alimentar a los actuadores que necesitemos. Por ejemplo, si alimentamos con una pila externa de 9 V conectada al jack, en el pin Vin tendremos aproximadamente 9 V (hay que restar la caída de tensión del diodo de protección). Además en los pines 5V y 3.3V dispondremos también de dichos voltajes aunque la fuente externa sea de 9V.

    Si conectamos demasiada carga, la placa Arduino suele tener un comportamiento anómalo pudiéndose se resetear el micro.

    Conectando el positivo (+Vcc) de la fuente externa a Vin y el negativo a GND:

    Podemos alimentar Arduino externamente si necesidad de conector Jack a través de Vin y GND el problema es que nos saltamos un diodo de protección que evita  que se queme el circuito por un exceso de corriente.

    CONCLUSIÓN:

    • Si necesitamos hacer funcionar actuadores de bajo consumo (luces, zumbadores, etc...) podremos trabajar directamente con el USB conectado al ordenador.
    • Si necesitamos mover cargas, excitar bobinas u otros elementos de mayor consumo lo recomendable es alimentar externamente Arduino desde el Jack con un rango de 9 a 12 V.

    SOFTWARE

    El microcontrolador en la placa Arduino se programa mediante el lenguaje de programación Arduino (basado en Wiring) y el entorno de desarrollo Arduino (basado en Processing).