Taller de Arduino. Experimentando con Arduino MKR 1010. German Tojeiro Calaza
punto y coma o si, por ejemplo, ha escrito digitalwrite en vez digitalWrite, puede recurrir al botón de verificación de programa que le avisará si todo va bien (figuras 1.18 y 1.19).
Realice el mismo montaje anterior, pero utilizando el pin 5 para conectar un diodo led externo.
Con el montaje anterior haga que el led esté encendido 1 segundo y apagado 2.
1.4 La familia Arduino MKR
Dado el éxito de Arduino, la compañía reconoció la necesidad de una versión estándar más pequeña que el modelo UNO. Además, se estaban imponiendo en el mercado una serie de placas competidoras que brindaban excelentes capacidades para el desarrollo de aplicaciones en el terreno del internet de las cosas (IoT). Por ello, se apresuraron a diseñar la serie MKR de Arduino con un objetivo en mente: el IoT. La compañía empezó a plantearse seriamente dejar de fabricar modelos “experimentales” por así decirlo, como Arduino YUN y shields como wifi o Ethernet, que no podían competir en precio con otros fabricantes más baratos como Raspberry Pi o Banana Pi.
Dada la naturaleza más pequeña de las aplicaciones de IoT más simples, donde la potencia y el tamaño del hardware son siempre una preocupación, Arduino diseñó la serie MKR, que aún empaqueta 28 pines en menos de la mitad del área total. Por otra parte, la conectividad inalámbrica era una barrera conocida para Arduino UNO, por lo que, naturalmente, la serie MKR se tomó la libertad de integrar todas las opciones de conectividad de IoT a través de los diferentes miembros de esta familia. En la figura 1.20 se observa dónde la compañía encuadra la familia MKR.
Algunos de los tipos de MKR que contiene la figura anterior son experimentales y posiblemente desaparezcan con el paso del tiempo o incluso sean reemplazados por nuevas revisiones, como es el caso de Arduino YUN revisión 2, que mejora considerablemente al anterior. Sin embargo, se verán los que a mi juicio son claramente ganadores en esta nueva familia. Además, se desarrollarán algunas prácticas para incitar al lector a adquirir alguno de estos modelos y darse cuenta de que realmente la empresa ha apostado fuerte en este sentido.
Arduino MKR1000 WiFi
El 9 de diciembre de 2015 se presentó Arduino MKR1000 y el 2 de abril de 2016 salió a la venta para todo el público. ¿Qué tiene de especial esta placa? Lo más llamativo es que viene integrada con un wifi abriendo las puertas de la comunicación a todo el mundo. No hay que olvidar que, gracias a Arduino, la robótica, la electrónica y la programación son accesibles a todo el mundo, principalmente por tres razones. La primera, el bajo coste que supone en la actualidad competir claramente con otras placas del mercado. La segunda es su facilidad de uso y programación. Se continúa utilizando el mismo entorno IDE de programación, de tal manera que los clásicos usuarios del UNO no tengan que adaptarse a nuevos ambientes de trabajo. Y la tercera, y la más importante, la gran comunidad que existe detrás de esta nueva placa.
Características de Arduino MKR1000
Como toda placa de prototipado o desarrollo, es necesario conocer las características más importantes. En este caso verá las que incluye Arduino MKR1000. En la figura 1.21 se observa su apariencia física y su aspecto virtual para el diseño de proyectos utilizando el fritzing.
Arduino MKR1000 se ha diseñado para ofrecer una solución práctica y rentable para los fabricantes que buscan agregar conectividad wifi a sus proyectos con una experiencia previa mínima en redes. Está basado en el Atmel ATSAMW25 SoC (system on chip), que forma parte de la familia SmartConnect de dispositivos inalámbricos Atmel, diseñada específicamente para proyectos y dispositivos IoT. El ATSAMW25 se compone de tres bloques principales:
SAMD21 Cortex-M0 + MCU de bajo consumo de 32 bits
WINC1500 de baja potencia; 2.4 GHz IEEE® 802.11 b/g/n WiFi
ECC508 Crypto Authentication
El ATSAMW25 incluye también una sola antena de PCB de flujo 1×1. El diseño incluye un circuito de carga Li-Po que permite que el MKR1000 funcione con batería o con 5 V externos, cargando la batería Li-Po mientras funciona con energía externa. El cambio de una fuente a otra se realiza de forma automática. Una buena potencia de cómputo de 32 bits, el amplio conjunto habitual de interfaces de E S, wifi de baja potencia con un Cryptochip para una comunicación segura. Exactamente igual que su hermano el MKR 1010, con el que desarrollará la mayoría de los proyectos de este libro, es posible suministrar energía de tres maneras. Se puede hacer a través del puerto microUSB o alimentarlo a través del pin VIN. En los dos casos se requiere de una diferencia de potencial de 5 V. Si desea crear un dispositivo autónomo puede hacer uso de una batería, dispone de pines de conexión para baterías. La recomendación del fabricante es que utilice una batería de 3.7 V y, como mínimo, 700 mAh (miliamperio hora). Es sencillo calcular la duración en horas de su batería si conoce el con-sumo máximo de corriente (mA) y la capacidad de la batería (mAh).
La multiplicación por el factor 0.7 se lleva a cabo debido a los factores externos que pueden afectar a la duración de la batería. Algo a muy a tener en cuenta y con la que debe tener mucha precaución es la diferencia de potencial que suministra a las entradas. Funcionan con 3.7 V y la recomendación es que no debe de suministrar el valor típico de 5 V a ninguna entrada. Esto puede dañar la placa. En la figura 1.22 se observa un ejemplo de alimentación con una Li-Po.
Microcontrolador | SAMD21 Cortex-M0 + MCU de bajo consumo de 32 bits |
Fuente de alimentación de la placa (USB/VIN) | 5 V |
Batería soportada (*) | Li-Po de una celda, 3.7 V, 700 mAh mínimo |
Voltaje de funcionamiento del circuito | 3.3V |
Pernos digitales de E/S | 8 |
PWM pines | 12 (0, 1, 2, 3, 4, 5, 6, 7, 8, 10, A3 - o 18 -, A4 - o 19) |
UART | 1 |
SPI | 1 |
I2C | 1 |
Clavijas de entrada analógica | 7 (ADC 8/10/12 bits) |
Pernos de salida analógica | 1 (DAC 10 bits) |
Interrupciones externas | 8 (0, 1, 4, 5, 6, 7, 8, A1 -o 16-, A2 - o 17) |
Corriente DC por pin de E/S | 7 mA |
Memoria flash | 256 kB |
SRAM | 32 |