Skip to main content

1.3 Hardware y software

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

Hay muchas Shields Educativas, vamos a ver unos pocos ejemplos

  • La shield deldel 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 esta placa integra un LM293 y un transistor de potencia, en total 5 salidas de potencia.

EDUBASICA-PEQ.png

  • La shield del curso ECHIDNA  que tiene integrados sensores y actuadores como el 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
  • La shield del curso ARDUINOBLOCKS EN EL AULA la TDR-STEAM que tiene muchas posibilidades didácticas por su sensores (temperatura, humedad, luz, potenciometro, pulsador, receptor IR).

tdrsteam.png

  • La Shield k5864195 muy sencilla y barata, 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

Es difícil elegir unos ejemplos de toda la variedad comercial que existe y tanta vitalidad de versiones(ver lista), preferimos que en caso de que necesites alguna función extra a tu Arduino, busques en ese momento. Es importante que sepas que existen Shields para todo, por ejemplo para...

  • Agregar conectividad al Arduino, ya sea por red móvil (3G, 4G), por Wifi, Bluetooth o por cable Ethernet o incluso localización GPS.
  • Agregar potencia a las salidas para conectar por ejemplo motores, como el de Edubásica pero más especializado en esto y con más salidas.
  • Shields con relés para conectar sensores y actuadores con tensión para no tener problemas de quemar el Arduino.
  • Shields con batería que en el caso de corte de alimentación, permiten que el Arduino no se quede sin funcionamiento.
  • Entrada y salida de imagen con pantalla líquida y cámara

Y encima se pueden apilar !! consiguiendo aumentar la capacidad de tu Arduino tanto como necesites (sin pasarte, pues pues alimentación del Arduino es limitada al menos que la Shield tenga su propia alimentación.

via GIPHY

Alimentación eléctrica de Arduino

Uno de los aspectos claves para el buen funcionamiento de proyectos con ArduinoArduino, es que incluyan elementos que consuman una intensidad superior a 200 mA como motores, relés, electroválvulas, etc... esentonces latodo alimentaciónfalla, eléctricadebido dea que no has alimentado correctamente la placa.

Normalmente tenemos

Tenemos dos posibilidades para alimentar Arduino:

A .- 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.

B .- 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)n que serán de medio voltio). 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.

C.- No recomendable: 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.ordenador o conectado a un PowerBank.
  • 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 eldos lenguajetipos de programaciónn:

Arduino
LENGUAJE (POR CÓDIGO

Recomendable a partir de secundaria. Es un lenguaje basado en Wiring)Wiring y elpermite la programación del Arduino. El entorno de desarrollo Arduino (basado en Processing) es ARDUINO IDE y se puede descargar en esta página https://www.arduino.cc/en/software. teniendo la posibilidad de utilizarlo online o descarga offline para todo tipo de sistema operativo:

arduinoide.png

En el curso Arduino con código y en eCurso de Domótica con Arduino tienes ejemplos y tutoriales de su uso empezando desde cero.

LENGUAJE POR BLOQUES

Recomendado para primaria. Tenemos muchas posibilidades de lenguajes gráficos, destacamos dos:

  • ARDUINOBLOCKS se trabaja online, muy visual y muy amigable. Está adaptado tanto para trabajar tanto Arduino como muchas placas controladoras y en el aula. Podemos verlo en los siguientes cursos:
  • MBLOCK  Basado en Scratch. Aunque es un programa especializado en el robot comercial mBot, (basado en Arduino), el mismo programa esta adaptado para programar Arduino. Tiene la ventaja del modo de funcionamiento "conectado" que puede interactuar nuestra placa con el ordenador, pudiendo por ejemplo apretando una tecla de ordenador encender un led en el Arduino o si hay luz en el sensor LDR conectado en el Arduino que suene una canción en el ordenador.