La placa de depuración Arduino Leonardo está construida sobre el microcontrolador ATmega32u4. Posee 20 pines de entrada/salida digital (7 de los cuales pueden ser usados como salidas PWM y 16 como entradas analógicas), resonador de cuarzo de 16MHz, conexión USB, conector de alimentación, conector ICSP y botón de reinicio.
Contiene todo lo necesario para trabajar con el microcontrolador. Para empezar a trabajar con él, basta con conectarlo a un ordenador mediante un cable USB o alimentarlo por medio de una fuente de alimentación de CA/CC o una batería.
El Arduino Leonardo, difiere de todas las placas anteriores por el hecho de que el ATmega32u4 tiene conectividad USB incorporada, eliminando la necesidad de un procesador adicional.
Esto le permite, además del puerto COM serial virtual (CDC), conectar el Arduino Leonardo a un ordenador como un ratón o un teclado, o utilizar el Arduino Leonardo en distintas aplicaciones.
Indice
ESPECIFICACIONES DE LA ARDUINO LEONARDO
Microcontrolador | ATMega32u4 |
ensión de funcionamiento | 5V |
Voltaje de entrada (recomendado) | 7-12V |
Voltaje de entrada (límite) | 6-20V |
Pines de E/S digitales | 20 |
PWM | 7 canales |
Pines de entrada analógica | 12 |
Corriente continua a través de los terminales de entrada/salida | 40 |
Corriente continua a través de la salida de 3,3 V | 50 mA |
Memoria flash | 32 KB (ATmega32u4), de los cuales 4 KB son usados por el cargador |
SRAM | 2.5 KB |
EEPROM no volátil | 1 KB |
Frecuencia de reloj | 16 MHz |
Longitud | 68,6 mm |
Ancho | 53.3 mm |
Peso | 20 g |
ALIMENTACIÓN DE LA ARDUINO LEONARDO
Arduino Leonardo puede ser alimentado por una conexión microUSB o por una fuente de alimentación externa. La fuente de alimentación se selecciona de forma automática.
La alimentación externa (no USB) puede ser suministrada por un adaptador AC/DC o por una batería. El adaptador puede ser conectado usando un conector de alimentación de 2.1 mm con un contacto positivo en el centro. La energía de la batería puede suministrarse a los pines Vin y GND del conector de alimentación.
La placa puede funcionar con energía externa de 6 a 20 voltios. Si la fuente de alimentación es inferior a 7 voltios, la salida de 5 voltios puede ser inferior a 5 voltios y la placa puede volverse inestable. Si la fuente de alimentación es superior a 12V, el regulador de voltaje puede sobrecalentarse y dañar la placa. Recomendamos utilizar una fuente de alimentación de entre 7 y 12 voltios.
Los pines de alimentación son:
Vin: La entrada de alimentación de la tarjeta cuando se utiliza una fuente de alimentación externa (se utiliza cuando no se dispone de 5 voltios de conexión USB u otra fuente de alimentación regulada).
Puede suministrar energía a través de esta salida, o si el voltaje de la fuente de alimentación se suministra a través del conector de alimentación, este voltaje de 5 voltios estará disponible en esta salida también.
5V: Puede tomar el voltaje ajustable de 5V de esta clavija de la salida del regulador en la placa. La placa puede ser alimentada a través del conector de alimentación (7-12V), el conector USB (5V) o la salida Vin de la placa (7-12V). El suministro de voltaje a través de los pines de 5V y 3.3V evita el regulador y puede dañar la placa. Por lo tanto, no se recomienda alimentar la placa a través de estos pines.
3V3: La alimentación de 3,3V proporcionada por el regulador a la placa. La corriente máxima es de 50 mA.
GND: Salidas de la tierra.
IOREF: Esta salida proporciona el voltaje de referencia con el que opera el microcontrolador. Una tarjeta de expansión correctamente configurada puede leer el voltaje en la salida IOREF y seleccionar una fuente de alimentación apropiada o transferir los buffers de salida para que funcionen con 5V o 3.3V.
ENTRADAS/SALIDAS DE LA ARDUINO LEONARDO
Cada una de las 20 salidas digitales de Arduino Leonardo puede ser usada como entrada y salida usando las funciones pinMode(), digitalWrite() y digitalRead. Funcionan a 5 voltios. Cada salida puede llevar una corriente máxima de 40 mA y tiene una resistencia interna de pull-down (desactivada por defecto) de 20-50 kOhm.
Algunos pines de la Arduino Leonardo, también tienen funciones especiales:
Serie: Pin (RX) y 1 (TX). Las salidas se utilizan para recibir (RX) y transmitir (TX) datos en serie con niveles TTL utilizando las características del hardware ATmega32U4. Tenga en cuenta que para Arduino Leonardo, Clase Serial se refiere a la comunicación USB (CDC); para la comunicación TTL serial a través de los pines 0 y 1, utilice la Clase Serial1
TWI: 2 (SDA) y 3 (SCL). Soporta la comunicación TWI usando la biblioteca Wire
Interrupciones externas: 3 (interrupción 0), 2 (interrupción 1), 0 (interrupción 2), 1 (interrupción 3) y 7 (interrupción 4). Estas salidas pueden ser configuradas para invocar una interrupción en el frente o en la caída del pulso o cambiando el nivel en la salida. Consulte el manejo de interrupciones de Arduino para obtener más información
PWM: salidas 3, 5, 6, 9, 10, 11 y 13. Proporcione una salida PWM de 8 bits utilizando la función analogWrite()
SPI: a través del conector ICSP. Estos pines se comunican vía SPI con la biblioteca correspondiente. Tenga en cuenta que los pines SPI no están conectados a ningún pin de entrada/salida digital como en el Arduino Uno. Sólo están disponibles en el conector ICSP.
Esto significa que si usted tiene una tarjeta de expansión que utiliza SPI pero no tiene un conector ICSP de 6 pines que se conecta al conector ICSP de 6 pines en el Arduino Leonardo, esa tarjeta no funcionará
LED: 13. El LED incorporado está conectado al pin 13 digital. Cuando la salida es alta el LED se iluminará, cuando la salida es baja el LED se apagará;
Entradas analógicas: A0-A5, A6-A11 (en las salidas digitales 4, 6, 8, 9, 10 y 12). Arduino Leonardo tiene 12 entradas analógicas marcadas como A0 a A11, todas las cuales pueden ser usadas también como E/S digitales. Las salidas A0-A5 están en la misma posición que la Arduino Uno; las entradas A6-A11 están en las salidas digitales I/O 4, 6, 8, 9, 10 y 12 respectivamente. Cada entrada analógica proporciona una resolución de 10 bits (es decir, 1024 valores diferentes). Por defecto miden de 0 a 5 voltios, aunque el límite superior de su rango puede ser cambiado usando la salida AREF y la función analogReference().
También existen un par de pines adicionales:
Pin AREF: Voltaje de referencia para las entradas analógicas. Se utiliza junto con analogReference()
Pin Reset: Un nivel bajo en este pin lleva a un reinicio del microcontrolador. Típicamente se usa para añadir un botón de reinicio a una tarjeta de expansión que cierra el acceso al botón de reinicio en la propia tarjeta Arduino.
RESET AUTOMÁTICO Y GESTIÓN DE ARRANQUE EN LA ARDUINO LEONARDO
En lugar de requerir que se presione un botón de reinicio físico antes de parpadear el nuevo código de programa, Arduino Leonardo está diseñado para permitir el reinicio con el software que se ejecuta en el ordenador conectado. Se invoca un reinicio o reset cuando Arduino Leonardo tiene un puerto COM serial virtual (CDC) que primero se abre a 1200 baudios y luego se cierra.
Cuando esto sucede, el procesador se reinicia rompiendo la conexión USB del ordenador (es decir, el puerto COM serie virtual desaparece). Después de reiniciar el procesador, el cargador de arranque se inicia y permanece activo durante unos 8 segundos. El cargador de arranque también puede ser iniciado presionando el botón de reinicio en el Arduino Leonardo.
Ten en cuenta que cuando se aplica energía a la placa Arduino Leonardo, ésta ejecutará inmediatamente el programa de usuario (si está cargado) sin iniciar el bootloader.
Debido a esta forma de manejar el reinicio en una placa Arduino Leonardo, es mejor permitir que el IDE de Arduino intente un reinicio antes del firmware, especialmente si está acostumbrado a presionar el botón de reinicio antes del firmware en otras placas. Si el IDE no puede reiniciar la placa, siempre puede iniciar el cargador presionando el botón de reinicio en la placa.
PROTECCIÓN SOBRECARGA DE ENERGÍA EN ARDUINO LEONARDO
El Arduino Leonardo tiene un fusible autorreparable que protege los puertos USB de su ordenador de cortocircuitos y sobrecorrientes. Aunque la mayoría de los ordenadores proporcionan su propia protección interna, este fusible proporciona un nivel adicional de protección.
Si la corriente que pasa por el puerto USB supera los 500mA, el fusible romperá automáticamente la conexión hasta que se elimine el cortocircuito o la sobrecarga.
COMUNICACIONES EN LA ARDUINO LEONARDO
La placa Arduino Leonardo tiene varias opciones para comunicarse con una computadora, otra placa u otros microcontroladores. El ATmega32U4 proporciona un puerto UART de hardware disponible en las salidas digitales 0 (RX) y 1 (TX) para la comunicación en serie con niveles TTL (5 voltios).
El ATmega32U4 también permite la comunicación en serie (CDC) a través de USB y se muestra en un ordenador como un puerto COM virtual. El chip también actúa como un dispositivo USB 2.0 de velocidad completa que utiliza controladores COM USB estándar.
Las máquinas de Windows necesitarán un archivo interno. El IDE de Arduino incluye un monitor de puerto serie que le permite enviar y recibir datos de texto simple de la placa. Los LEDs RX y TX de la placa se encenderán cuando se transmitan datos a través del chip ATmega8U2/ATmega16U2 y la conexión USB (pero no cuando se transmitan datos a través de los pines 0 y 1 del puerto serie).
La biblioteca SoftwareSerial permite la comunicación en serie a través de cualquier pin digital Arduino Leonardo.
Arduino Leonardo también soporta la comunicación a través de TWI y SPI. El IDE de Arduino incluye una biblioteca Wire para simplificar el uso del bus TWI. La biblioteca SPI se utiliza para comunicarse a través de SPI.
Arduino Leonardo se muestra como un teclado y ratón estándar y puede ser programado para controlar estos dispositivos de entrada utilizando las clases de teclado y ratón.
PROGRAMACIÓN EN LA ARDUINO LEONARDO
La placa Arduino Leonardo, puede ser programado usando el IDE de Arduino. Seleccione «Arduino Leonardo» en la placa de Herramientas → (de acuerdo con el microcontrolador de su placa).
El ATmega32U4 en el Arduino Leonardo viene con un cargador de arranque ya cosido, que le permite descargar el nuevo código de programa al microcontrolador sin usar un programador de hardware externo. La comunicación es a través del protocolo AVR109.
También puedes puentear el cargador y descargar el microcontrolador a través del conector ICSP (Intra-Circuit Sequential Programming) usando un ISP o analógico de Arduino.