Visión General

 

El Arduino Leonardo es una placa con microcontrolador basada en el ATmega32u4 (datasheet).Tiene 20 entradas / salidas digitales pins del (de los cuales 7 se pueden utilizar como salidas de PWM y 12 como entradas analógicas), un cristal oscilador a 16Mhz, Una micro conexión USB, Una entrada de alimentación, una cabecera ISCP, y un botón de reset. Contiene todo lo necesario para utilizar el microcontrolador; simplemente conéctalo a tu ordenador a través del cable USB o aliméntalo con un transformador o una batería para empezar a trabajar con él.

 

El Leonardo difiere de todas las placas anteriores, en el que el ATmega32u4 se ha incorporado en la comunicación USB, eliminando la necesidad de un procesador secundario. Esto permite que el Leonardo a comparecer a un ordenador conectado como un ratón y el teclado, además de una virtual (CDC) de serie / COM puerto.

Esquemas y Diseños

Archivos EAGLE : arduino-leonardo-reference-design.zip

Esquemas: arduino-leonardo-esquemático-rev3b.pdf

 

Resumen

Microcontrolador

ATmega32u4

Voltaje de funcionamiento

5V

Voltaje de entrada (recomendado)

7-12V

Voltaje de entrada (limite)

6-20V

Pines E/S digitales

20 (de los cuales 7 proporcionan salida PWM)

Pines de entrada analógica

12

Intensidad por pin

40 mA

Intensidad en pin 3.3V

50 mA

Memoria Flash

32 KB ( ATmega32u4 ), de los cuales 4 KB utilizado por gestor de arranque

SRAM

2,5 KB ( ATmega32u4 )

EEPROM

1 KB ( ATmega32u4 )

Velocidad de reloj

16 MHz

 

Alimentación

El Arduino Leonardo puede ser alimentado vía la conexión USB o con una fuente de alimentación externa. El origen de la alimentación se selecciona automáticamente.

Las fuentes de alimentación externas (no-USB) pueden ser tanto un transformador o una batería. El transformador se puede conectar usando un conector macho de 2.1mm con centro positivo en el conector hembra de la placa. Los cables de la batería puede conectarse a los pines Gnd y Vin en los conectores de alimentación (POWER)

La placa puede trabajar con una alimentación externa de entre 6 a 20 voltios. Si el voltaje suministrado es inferior a 7V el pin de 5V puede proporcionar menos de 5 Voltios y la placa puede volverse inestable, si se usan más de 12V los reguladores de voltaje se pueden sobrecalentar y dañar la placa. El rango recomendado es de 7 a 12 voltios.

Los pines de alimentación son los siguientes:

  • VIN. La entrada de voltaje a la placa Arduino cando se está usando una fuente externa de alimentación (en opuesto a los 5 voltios de la conexión USB). Se puede proporcionar voltaje a través de este pin, o, si se está alimentado a través de la conexión de 2.1mm , acceder a ella a través de este pin.
  • 5V. La fuente de voltaje estabilizado usado para alimentar el microcontrolador y otros componentes de la placa. Esta puede provenir de VIN a través de un regulador integrado en la placa, o proporcionada directamente por el USB u otra fuente estabilizada de 5V.
  • 3V3. Una fuente de voltaje a 3.3 voltios generada en el chip FTDI integrado en la placa. La corriente máxima soportada 50mA.
  • GND. Pines de toma de tierra.
  • IOREF. La tensión en el que los pines de E / S de la placa están operando (es decir VCC para la placa). Esto es de 5V de la Leonardo.

 

Memoria

El ATmega32u4 tiene 32KB (con 4 KB utilizados para el gestor de arranque). También tiene 2,5 KB de SRAM y 1 KB de memoria EEPROM.

 

Entradas y Salidas

Cada uno de los 20 pins digitales en el Leonardo se puede usar como una entrada o salida, utilizando pinMode (), digitalWrite () , y digitalRead () funciones. Funcionan a 5 voltios. Cada pin puede proporcionar o recibir un máximo de 40 mA y tiene una interna de pull-up resistor (desconectada por defecto) de 20-50 kOhmios. Además, algunos pines tienen funciones especializadas:

  • Serie: 0 (RX) y 1 (TX). Usado para recibir (RX) transmitir (TX) datos a través de puerto serie TTL ATmega32U4 capacidad de hardware de serie. Tenga en cuenta que en el Leonardo, la serie se refiere a la clase USB (CDC) de comunicación, porque de serie TTL en los pines 0 y 1, utilice el Serial1 clase.
  • TWI:. 2 (SDA) y 3 (SCL) soporte TWI de comunicacion usando la libreria Wire.
  • Interrupciones Externas: 2 y 3. Estos pines se pueden configurar para lanzar una interrupción en un valor LOW(0V), en flancos de subida o bajada (cambio de LOW a HIGH(5V) o viceversa), o en cambios de valor.
  • SPI: en la cabecera ICSP. Estos pines proporcionan comunicación SPI, que a pesar de que el hardware la proporcione actualmente no está incluido en el lenguaje Arduino.
  • LED: 13. Hay un LED integrado en la placa conectado al pin digital 13, cuando este pin tiene un valor HIGH(5V) el LED se enciende y cuando este tiene un valor LOW(0V) este se apaga.

El Leonardo A0-A5, A6 - A11 (en los pines digitales 4, 6, 8, 9, 10, y 12) El Leonardo tiene 12 entradas analógicas, etiquetados A0 a A11, todos los cuales también se puede utilizar como digital I/O. Las conexiones Clavijas A0-A5 aparecen en los mismos lugares que en el Uno. Las entradas A6-A11 están en I/O digitales de los pines 4, 6, 8, 9, 10 y 12, respectivamente. Cada entrada analógica proporcionar 10 bits de resolución (es decir, 1024 valores diferentes). Por defecto, la medida de las entradas analógicas desde LOW a 5 voltios, aunque es posible cambiar el extremo superior de su rango usando el pin AREF y la analogReference ().

 

· PWM: 3, 5, 6, 9, 10, y 11. Proporciona una salida PWM (Pulse Wave Modulation, modulación de onda por pulsos) de 8 bits de resolución (valores de 0 a 255) a través de la función analogWrite().

· AREF. Voltaje de referencia para las entradas analógicas. Usado poranalogReference().

· Reset. Suministrar un valor LOW(0V) para reiniciar el microcontrolador. Típicamente usado para añadir un botón de reset a los shields que no dejan acceso a este botón en la placa.

 

Comunicaciones

EL Arduino Leonardo facilita en varios aspectos la comunicación con el ordenador, otro Arduino u otros microcontroladores. Tanto el ATmega328 como el ATmega32U proporciona comunicación vía serie UART TTL (5V), disponible a través de los pines digitales 0(RX) y 1(TX). Un chip FTDI FT232RL integrado en la placa canaliza esta comunicación serie a traes del USB y los drivers FTDI (incluidos en el software de Arduino) proporcionan un puerto serie virtual en el ordenador. El software incluye un monitor de puerto serie que permite enviar y recibir información textual de la placa Arduino. Los LEDS RX y TX de la placa parpadearan cuando se detecte comunicación transmitida través del chip FTDI y la conexión USB (no parpadearan si se usa la comunicación serie a través de los pines 0 y 1).

La librería SoftwareSerial permite comunicación serie por cualquier par de pines digitales del Duemilanove.

El ATmega32U4 también soportan la comunicación I2C (TWI) y SPI. El software de Arduino incluye una librería Wire para simplificar el uso el bus I2C. Para el uso de la comunicación SPI, mira la hoja de especificaciones (datasheet) del ATmega32U4.

 

Programación

El Arduino Leonardo se puede programar con el software Arduino. Para más detalles mirar referencia y tutoriales.

El ATmega32U4 en el Arduino Leonardo viene precargado con un gestor de arranque (bootloader) que permite cargar nuevo código sin necesidad de un programador por hardware externo. Se comunica utilizando el protocolo STK500 original.

También te puedes saltar el gestor de arranque y programar directamente el microcontrolador a través del puerto ISCP (In Circuit Serial Programming).

 

Reinicio Automatico por Software

En vez de necesitar reiniciar presionando físicamente el botón de reset antes de cargar, el Arduino Leonardo está diseñado de manera que es posible reiniciar por software desde el ordenador donde esté conectado. El restablecimiento se activa cuando lo virtual de Leonardo (CDC) puerto en serie / COM se abre en baudios 1200 y luego se cierra. Cuando esto ocurre, el procesador se reinicia, se rompe la conexión USB al ordenador (lo que significa que el virtual serial / COM puerto desaparecerá). Después de que se restablezca el procesador, el gestor de arranque se inicia, permaneciendo activo durante unos 8 segundos. El gestor de arranque también se puede iniciar pulsando el botón de reinicio en el Leonardo.

Esta configuración tiene otras implicaciones. Cuando el Leonardo se conecta a un ordenador con Mac OS X o Linux, esto reinicia la placa cada vez que se realiza una conexión desde el software (vía USB). El medio segundo aproximadamente posterior, el gestor de arranque se está ejecutando. A pesar de estar programado para ignorar datos mal formateados (ej. cualquier cosa que la carga de un programa nuevo).

 

Protección contra sobretensiones en USB

El Arduino Uno tiene un multifusible reinicializable que protege la conexión USB de tu ordenador de cortocircuitos y sobretensiones. A aparte que la mayoría de ordenadores proporcionan su propia protección interna, el fusible proporciona una capa extra de protección. Si mas de 500mA son detectados en el puerto USB, el fusible automáticamente corta la conexión hasta que el cortocircuito o la sobretensión desaparece.

 

Características Físicas y Compatibilidad de Shields

La longitud y amplitud máxima de la placa Duemilanove es de 2.7 y 2.1 pulgadas respectivamente, con el conector USB y la conexión de alimentación sobresaliendo de estas dimensiones. Tres agujeros para fijación con tornillos permiten colocar la placa en superficies y cajas. Ten en cuenta que la distancia entre los pines digitales 7 y 8 es 160 mil (0,16"), no es múltiple de la separación de 100 mil entre los otros pines.