Alimentación
El Arduino Leonardo puede alimentarse a través de la conexión micro USB o con una fuente de alimentación externa. La fuente de alimentación se selecciona automáticamente.
La alimentación externa (no USB) puede provenir de un adaptador AC-to-DC (wall-wart) o de una batería. El adaptador puede conectarse enchufando una clavija de 2,1 mm con polo positivo en el conector de alimentación de la placa. Los cables de una batería se pueden insertar en las cabezas de los pines Gnd y Vin del conector POWER.
Los pines de alimentación son los siguientes:
- VIN. El voltaje de entrada a la placa Arduino cuando está utilizando una fuente de alimentación externa (a diferencia de los 5 voltios de la conexión USB u otra fuente de alimentación regulada). Puede suministrar el voltaje a través de este pin, o, si el suministro de voltaje a través de la toma de corriente, acceder a través de este pin.
- 5V. La fuente de alimentación regulada utilizada para alimentar el microcontrolador y otros componentes de la placa. Puede provenir de VIN a través de un regulador integrado, o ser suministrada por USB u otra fuente de 5V regulada.
- 3V3. Un suministro de 3,3 voltios generado por el regulador de la placa. El consumo máximo de corriente es de 50 mA.
- GND. Pines de tierra.
- IOREF. La tensión a la que funcionan los pines de E/S de la placa (es decir, VCC para la placa). Esto es 5V en el Leonardo.
Memoria
El ATmega32u4 tiene 32 KB (con 4 KB utilizados para el bootloader). También tiene 2,5 KB de SRAM y 1 KB de EEPROM (que se puede leer y escribir con la biblioteca EEPROM).
Entrada y salida
Cada uno de los 20 pines digitales de entrada/salida del Leonardo puede utilizarse como entrada o salida, utilizando las funcionespinMode(), digitalWrite() y digitalRead(). Funcionan a 5 voltios. Cada pin puede proporcionar o recibir un máximo de 40 mA y tiene una resistencia interna de pull-up (desconectada por defecto) de 20-50 kOhms. Además, algunos pines tienen funciones especializadas:
- Serial: 0 (RX) y 1 (TX). Se utiliza para recibir (RX) y transmitir (TX) datos de serie TTL utilizando la capacidad de serie de hardware del ATmega32U4. Tenga en cuenta que en el Leonardo, la clase Serial se refiere a la comunicación USB (CDC); para la serie TTL en los pines 0 y 1, utilice la clase Serial1.
- TWI: 2 (SDA) y 3 (SCL). Soporta comunicación TWI utilizando la librería Wire.
- Interrupciones externas: 3 (interrupción 0), 2 (interrupción 1), 0 (interrupción 2), 1 (interrupción 3) y 7 (interrupción 4). Estos pines pueden ser configurados para disparar una interrupción en un valor bajo, un borde ascendente o descendente, o un cambio de valor. Ver la función attachInterrupt() para más detalles.
- PWM: 3, 5, 6, 9, 10, 11 y 13. Proporcionan una salida PWM de 8 bits con la función analogWrite().
- SPI: en la cabecera ICSP. Estos pines soportan la comunicación SPI utilizando la librería SPI. Ten en cuenta que los pines SPI no están conectados a ninguno de los pines de E/S digitales como en la Uno, sólo están disponibles en el conector ICSP. Esto significa que si usted tiene un escudo que utiliza SPI, pero NO tiene un conector ICSP de 6 pines que se conecta a la cabecera ICSP de 6 pines del Leonardo, el escudo no funcionará.
- LED: 13. Hay un LED incorporado conectado al pin digital 13. Cuando el pin está en valor ALTO, el LED está encendido, cuando el pin está BAJO, está apagado.
- Entradas analógicas: A0-A5, A6 – A11 (en los pines digitales 4, 6, 8, 9, 10 y 12). El Leonardo tiene 12 entradas analógicas, etiquetadas de A0 a A11, todas las cuales pueden ser utilizadas también como i/o digital. Los pines A0-A5 aparecen en las mismas ubicaciones que en la Uno; las entradas A6-A11 están en los pines i/o digitales 4, 6, 8, 9, 10 y 12 respectivamente. Cada entrada analógica proporciona 10 bits de resolución (es decir, 1024 valores diferentes). Por defecto las entradas analógicas miden de tierra a 5 voltios, aunque es posible cambiar el extremo superior de su rango utilizando el pin AREF y la función analogReference().
Hay un par de pines más en la placa:
- AREF. Tensión de referencia para las entradas analógicas. Se utiliza con analogReference().
- Reset. Ponga esta línea en LOW para reiniciar el microcontrolador. Normalmente se utiliza para añadir un botón de reset a los escudos que bloquean el de la placa.
Ver también el mapeo entre los pines de Arduino y los puertos de ATmega32u4.
Comunicación
El Leonardo tiene una serie de facilidades para comunicarse con un ordenador, otro Arduino, u otros microcontroladores. El ATmega32U4 proporciona comunicación serie UART TTL (5V), que está disponible en los pines digitales 0 (RX) y 1 (TX). El 32U4 también permite la comunicación serie (CDC) a través de USB y aparece como un puerto com virtual para el software en el ordenador. El chip también actúa como un dispositivo USB 2.0 de alta velocidad, utilizando controladores USB COM estándar. En Windows, se requiere un archivo .inf. El software de Arduino incluye un monitor de serie que permite enviar datos textuales simples hacia y desde la placa Arduino. Los LEDs RX y TX de la placa parpadearán cuando se transmitan datos a través de la conexión USB al ordenador (pero no para la comunicación en serie en los pines 0 y 1). Una biblioteca SoftwareSerial permite la comunicación en serie en cualquiera de los pines digitales del Leonardo. El ATmega32U4 también soporta comunicación I2C (TWI) y SPI. El software de Arduino incluye una librería Wire para simplificar el uso del bus I2C; ver la documentación para más detalles. Para la comunicación SPI, utilice la biblioteca SPI. El Leonardo aparece como un teclado y un ratón genéricos, y puede ser programado para controlar estos dispositivos de entrada utilizando las clases Keyboard y Mouse.
Programación
El Leonardo puede ser programado con el software Arduino (descargar). Seleccione «Arduino Leonardo en el menú Herramientas > Tablero (según el microcontrolador de su tablero). Para más detalles, consulte la referencia y los tutoriales. El ATmega32U4 en el Arduino Leonardo viene pregrabado con un cargador de arranque que le permite cargar nuevo código en él sin el uso de un programador de hardware externo. Se comunica utilizando el protocolo AVR109. También puedes saltarte el bootloader y programar el microcontrolador a través de la cabecera ICSP (In-Circuit Serial Programming) utilizando Arduino ISP o similar; consulta estas instrucciones para más detalles.
Restablecimiento automático (por software) e inicio del cargador de arranque
En lugar de requerir una pulsación física del botón de reinicio antes de una carga, el Leonardo está diseñado de una manera que permite que sea reiniciado por el software que se ejecuta en un ordenador conectado. El reinicio se activa cuando el puerto serie / COM virtual (CDC) del Leonardo se abre a 1200 baudios y luego se cierra. Cuando esto sucede, el procesador se reiniciará, rompiendo la conexión USB con el ordenador (lo que significa que el puerto serie / COM virtual desaparecerá). Después de que el procesador se reinicie, el gestor de arranque se inicia, permaneciendo activo durante unos 8 segundos. El gestor de arranque también puede iniciarse pulsando el botón de reinicio del Leonardo. Ten en cuenta que cuando la placa se enciende por primera vez, saltará directamente al sketch de usuario, si está presente, en lugar de iniciar el gestor de arranque.
Debido a la forma en que el Leonardo maneja el reinicio, es mejor dejar que el software de Arduino intente iniciar el reinicio antes de cargar, especialmente si tiene la costumbre de pulsar el botón de reinicio antes de cargar en otras placas. Si el software no puede resetear la placa siempre puedes iniciar el bootloader pulsando el botón de reset de la placa.
Protección contra sobrecorrientes en el USB
El Leonardo tiene un polifusible reajustable que protege los puertos USB de su ordenador contra cortocircuitos y sobrecorrientes. Aunque la mayoría de los ordenadores proporcionan su propia protección interna, el fusible proporciona una capa extra de protección. Si se aplican más de 500 mA al puerto USB, el fusible interrumpirá automáticamente la conexión hasta que se elimine el cortocircuito o la sobrecarga.
Características físicas
La longitud y la anchura máximas de la placa de circuito impreso Leonardo son de 2,7 y 2,1 pulgadas respectivamente, y el conector USB y la toma de alimentación se extienden más allá de la primera dimensión. Cuatro agujeros para tornillos permiten fijar la placa a una superficie o carcasa. Tenga en cuenta que la distancia entre los pines digitales 7 y 8 es de 160 mil (0,16″), no es un múltiplo par de la separación de 100 mil de los otros pines.