

Arduino Leonardo es una placa microcontrolada basada en un ATmega32u4 (datasheet). Tiene 20 pines de entrada/salida digital (7 de ellos pueden ser usados como salidas PWM y 12 entradas digitales.) Un cristal oscilador de 16MHzm un conector micro USB, un conector tipo jack para la alimentación, conector ICSP y botón de reset.
Contiene todo lo necesario para funcionar, simplemente conéctelo a su ordenador mediante el cable USB o a la alimentación mediante un transformador AC/DC o una batería para empezar a utilizarlo.
Leonardo se diferencia de sus predecesores en su con un ATmega32u4 que contiene la conexión por USB de forma nativa, lo que elimina la necesidad de emplear un segundo procesador para esta función. Esto permite que Leonardo se conecte al ordenador igual que lo hace un teclado o un ratón.
Esto tiene otras implicaciones que pueden verse detalladamente la pagina de instalación inicial.
Resumen
Resumen | |
---|---|
Microcontrolador | ATmega32u4 |
Voltaje de operación | 5V |
Voltaje de entrada (recomendado) | 7-12V |
Voltaje de entrada (máximo) | 6-20V |
Pines de Entrada/Salida digitales | 20 |
Canales de PWM | 7 |
Entradas Analógicas | 12 |
Tensión máxima en los pines de Entrada/Salida | 40mA |
Tensión máxima en el pin de 3,3V | 50mA |
Memoria Flash | 32Kb(del Atmega32u4)4Kb utilizados para el bootloader |
SRAM | 2.5Kb(Atmega32u4) |
EEPROM | 1Kb(Atmega32u4) |
Velocidad de Reloj | 16Mhz |
Esquemáticos y diseños
Ficheros EAGLE: arduino-leonardo-reference-design.zip
Esquemático: arduino-leonardo-schematic-rev3b.pdf
Alimentación
Leonardo puede ser alimentado mediante la conexión USB o con una fuente de energía externa, la selección entre las dos opciones se realiza de forma automática.
La alimentación externa (Sin usar el USB) puede hacerse con un adaptador de corriente AC/DC o por medio de baterías. Puede conectare con un conector tipo plugging de 2.1mm con el positivo en el centro mediante el Jack de alimentación de la placa. Las baterías pueden conectarse a las pines GND y VIN de conector marcado con la etiqueta de POWER
Una fuente de alimentación externa,La placa puede ser alimentada con de 6 a 20 voltios. No obstante, si se alimenta con menos de 7V el pin de 5V puede no alcanzar los cinco voltios y la placa podría volverse inestable. Si se usan más de 12V el regulador de voltaje podría calentarse y causar daños en la placa, por ello lo recomendable es utilizar de 7 a 12V.
Los pines de alimentación son los siguientes:
- VIN: pin de entrada de voltaje de la placa de Arduino cuando se usa una fuente de alimentación externa. (Que no sea la conexión USB). Puedes utilizar este pin o el Jack de alimentación de la placa.
- 5V regulados.
- 3V3 3.3V regulados por el regulador de la placa, puede entregar hasta 50mA.
- GND Pin de tierra.
- IOREF: Voltaje con el que los pines de entrada y salida de la placa están operando. Son 5V en Leonardo.
- Serial: 0(RX) y 1(TX). Usadas para recibir (RX) y transmitir (TX) datos serie. Estos pines están conectados a los correspondientes pines del chip Armega8U2 USB-to-TTL
- TWI: 2(SDA) y 3(SCL). Soportan comunicación TWI usando la libreria Wire
- Interrupciones externas: Pines 2 y 3. Estos pines están configurados como interruptor trigger activado por un valor bajo, un flanco ascendente, descendente o un cambio de valor. Mira la documentación de la función attachInterrupt() para más detalles.
- PWM: los pines 3,5,6,9,10 , 11 y 13 pueden ser utilizados como salida PWM de 8-bits con la función analogWrite().
- SPI: en el conector ICSP, este pin soporta la comunicación SPI usando la librería SPI. Este pin no esta conectado a ninguna entrada o salida digital como en el caso de Arduino UNO. Solo se encuentra en el conector ICSP. Esto significa que si usted quiere usar un Shield que utiliza SPI pero no tiene el conector necesario para los 6 pines del conector ICSP el Shield no funcionará en Leonardo
- Entradas analógicas A0-A5,A6-A11 (En los pines digitales 4,6,8,9,10 y12). Leonardo tiene 12 entradas analógicas marcadas con las etiquetas de A0 a A11. De estas algunas de ellas pueden ser usadas como entradas o salidas digitales. Los pines desde A0 hasta A5 están situados en el mismo lugar que en el Arduino UNO. Las entradas de la A6 a la A11 están con las entradas/salidas digitales , en los pines 4,6,8,9,10 y 12 respectivamente. Estas entradas analógicas tienen una resolución de 10bit(1024 valores posibles). Por defecto las entradas digitales funcionan a 5V pero es posibles cambiar este valor utilizando el pin AREF y la función analogReference()
- AREF: Voltaje de referencia para entradas analógicas utilizando la función analogReference().
- Reset: Conectado a un valor bajo resetea el microcontrolador. Normalmente se usa con Shields que tapan el botón de reset de la placa.
Memoria
El ATmega32u4 tiene 32Kb (4Kb utilizados en el bootloader). Además de 2.5Kb de SRAM y 1Kb de EEPROM. (Esta puede ser leída y escrita mediante la librería EEPROM)
Entradas y Salidas
Los 20 pines digitales de Arduino UNO pueden ser usados cómo entradas o como salidas usando las funciones pinMode(), digitalWrite() y digitalRead(). Todas ellas operan a 5V y puedes entregar o recibir un máximo de 40mA, además poseen una resistencia pull-up interna (desconectada por defecto) de 20-50KOhms. Algunos de estopines tienen además funciones especificas:
Algunos de los pines de la placa tienen funciones concretas:
Puedes ver el mappeo de los pines de Arduino y los puertos del Atmega32u4 aquí
Comunicación
Leonardo Arduino tiene mayor numero de facilidades para comunicarse con un ordenado que otros Arduinos y otros microcontroladores. El ATmega328 provee de comunicación serial UART TTL(5V) cuando están disponibles los pines 0 (RX) y 1(TX). El 32U4 permite una comunicación serial através del puerto USB y aparece como un puerto virtual de comunicación para el software del ordenador. El chip puede funcionar a alta velocidad por USB 2.0 usando los drivers estándar de comunicación USB. En Windows este fichero .inf es necesario. El software de Arduino incluye un monitor serial que permite enviar datos a la placa de arduino de forma simple. Los leds de RX y TX parpadean cuando comienza la transimisión de datos mediante la conexión USB pero no si se utilizan los pines 0 y 1.
La librería SoftwareSerial permite la comunicación con cualquiera de los pines digitales de Leonardo.
El Atmega32u4 ademas soporta I2C(TWI) y comunicación SPI. El software de arduino incluye la librería Wire que simplifica el uso del bus I2C; puedes ver la documentación para más detalles. Para comunicarse vía SPI utilice la librería SPI
Leonardo aparece como un teclado o ratón genérico y puede ser programado para controlar estos utilizando las clases Keyboard y Mouse.
Programación
El Arduino Leonardo puede ser programado desde el software de Arduino. Seleccionando "Arduino Leonardo" en Herramientas -> Placa (tools -> Board) y seleccionado el microcontrolador adecuado para tu placa. Para más detalles consultar los tutoriales.
El ATmega32U4 de Arduino viene con el bootloader pre-cargado para que puedas subir tu código sin necesidad de un programador externo. Esta comunicación usa el protocolo Avr109
También puede saltarse el bootloader y programar el microcontrolador usando el conector ICSP(in-Circuit Serial Programming). Mire estas instrucciones para más detalles.
Reseteo automático por software
Para eliminar la necesidad de presionar físicamente el botón de reset antes de cargar un programa Arduino Leonardo ha sido diseñado para reiniciarse por software al conectarse al ordenador. El reset se produce cuando el puerto serial virtual se abre a una frecuencia de 1200 baudios y permanece así hasta que se cierra. Cuando esto ocurre el procesador se reinicia, rompiendo la comunicación USB (esto significa que la conexión virtual serial/puerto COM desaparece.). Después de que el procesador se reinicie comienza a cargar el bootloader, que permacera activo durante 8segundos. El bootloader puede ser inicializado usando el botón de reset de Leonardo.
Nota: tenga en cuenta que cuando se alimente Arduino este saltará directamente al sketch cargado si tiene alguno en la memoria en lugar de iniciar el bootloader.
Debido a la forma en la Leonardo gestiona su reseteo lo mejor es dejar que sea el software de Arduino quien realice el reseteo antes de cargar un nuevo programa en él. Si por algún motivo fallase el reseteo por software siempre podrá utilizar el botón reset de ella placa para realizarlo.
USB protegido de sobrecargas.
Arduino UNO cuenta con un fusible reseteable que protege el puerto USB del ordenador de cortocircuitos y sobrecargas, algunos ordenadores tienen sus propias protecciones internas, pero este fusible otorga una seguridad extra. Si se aplican más de 500mA al puerto USB el fusible abre el circuito automáticamente hasta que se retira la carga.
Características Físicas.
El tamaño máximo de la placa del Arduino UNO es de 2.7 x 2.1 pulgadas respectivamente. El USB y el jack de alimentación extienden ligeramente estas dimensiones. Cuatro agujeros permiten unirla a cualquier superficie mediante tornillos. La distancia entre los pines digitales 7 y 8 es de 160 milésimas de pulgada, no un múltiplo de 100milesimas de pulgada como en el resto de los pines.