La Arduino Pro Mini es una placa basada en el microcontrolador ATmega328P. Tiene 14 pines digitales de entrada/salida (de los cuales 6 se pueden usar como salidas PWM), 6 entradas analógicas, un resonador (generador de reloj) integrado, un botón de reinicio y orificios para el montaje de pines. Tiene un conector de seis pines que se puede conectar a un cable FTDI para proporcionar alimentación y comunicación USB a la placa.
La placa Arduino Pro Mini está diseñada para ser usada como una instalación semipermanente en objetos, equipos a la medida o exposiciones, en donde se necesite la potencia de una Arduino UNO R3 pero en tamaño reducido. La placa viene sin pines de conexión (headers) pre-instalados, lo que permite el uso de varios tipos de conectores o la soldadura directa de cables. El diseño de pines es compatible con la placa Arduino Mini.
Hay dos versiones de la placa Arduino Pro Mini. Una que funciona a 3.3 V y 8 MHz, y otra que funciona a 5 V y 16 MHz. Por el tamaño y factor de forma, la placa Arduino Pro Mini no puede usar en forma directa las placas de expasión (shields) estandar de Arduino.
La placa Arduino Pro Mini fue diseñada y fabricada originalmente por SparkFun Electronics.
Características de la Arduino Pro Mini
- Microcontrolador: ATmega328P
- Voltaje de funcionamiento: 3.3 V o 5 V (dependiendo del modelo)
- Pines de E/S digital: 14
- Pines PWM: 6
- Puertos: 1 puerto serie UART, 1 puerto bus SPI y 1 puerto bus I2C
- Entradas analógicas: 6
- Interrupciones externas: 2
- Corriente CC por cada pin E/S: 40 mA
- Memoria Flash: 32 KB de los cuales 2 KB utilizados por el gestor de arranque (bootloader)
- SRAM: 2 KB
- EEPROM: 1 KB
- Frecuencia de reloj: 8 MHz (versiones de 3.3 V) o 16 MHz (versiones de 5V)
Microcontrolador Atmel Atmega 328P
El Atmega328p es un microcontrolador de alto rendimiento de 8 bits, basado en tecnología AVR RISC, que combina una memoria flash ISP de 32 KB con capacidades de lectura y escritura, EEPROM de 1KB, y SRAM de 2 KB.
Tiene 23 líneas de E/S de propósito general, 32 registros de trabajo de propósito general, tres temporizadores/contadores flexibles con modos de comparación, interrupciones internas y externas, USART programable, una interfaz I2C, puerto en serie SPI, un convertidor A/D de 6 canales y 10 bits (8 canales en encapsulados TQFP y QFN/MLF), watchdog programable con oscilador interno y cinco modos de ahorro de energía seleccionables por software.
El dispositivo funciona entre 1,8 y 5,5 voltios. Al ejecutar poderosas instrucciones en un solo ciclo de reloj, el microcontrolador logra rendimientos cercanos a 1 MIPS por MHz, equilibrando el consumo de energía y la velocidad de procesamiento.
Alimentación de la Arduino Pro Mini
La placa Arduino Pro Mini puede alimentarse mediante un cable FTDI o una placa de extensión conectada a su conector de seis pines, o con una fuente de energía regulada de 3.3 V o 5 V (según el modelo) en el pin VCC. Hay un regulador de voltaje incorporado en la placa para que pueda aceptar una tensión de hasta 12V CC. Si desea suministrar energía directamente a la placa, asegúrese de conectarla al pin RAW en lugar de VCC.
Los pines de alimentación son los siguientes:
- RAW: Para suministrar tensión sin regular a la placa.
- VCC: Fuente de alimentación regulada de 3.3 o 5 voltios.
- GND: Pines de tierra.
Memoria de la Arduino Pro Mini
La placa Arduino Pro Mini usa un microcontrolador ATmega328, que tiene 32 KB de memoria FLASH para almacenar el código de programa (de los cuales 0.5kb se utilizan para el gestor de arranque). Tiene 2 KB de SRAM y 1 KB de EEPROM (que se pueden leer y escribir con la librería EEPROM).
Entradas & salidas de la Arduino Pro Mini
Cada una de los 14 pines digitales de la placa Arduino Pro Mini se pueden usar como entrada o salida, usando las funciones pinMode(), digitalWrite() y digitalRead(). Los pines funcionan con 3.3 V o 5 V (dependiendo del modelo). Cada pin puede proporcionar o recibir un máximo de 40 mA y tiene una resistencia interna de pull-up (que esta desconectada por defecto) de 20-50 kOhms. Además, algunos pines tienen funciones especializadas:
- Serial: pines 0 (RX) y 1 (TX). Se usa para recibir (RX) y transmitir (TX) datos usando el puerto serie en TTL. Estos pines están conectados a los pines TX-0 y RX-1 del conector de seis pines.
- Interrupciones externas: pines 2 y 3. Estos pines se pueden configurar para activar una interrupción en un valor bajo, un flanco ascendente o descendente, o un cambio en el valor. Ver la función attachInterrupt() para más detalles.
- PWM: pines 3, 5, 6, 9, 10 y 11. Proporcionan salida PWM de 8 bits con la función analogWrite().
- SPI: pines 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Estos pines admiten la comunicación SPI, que, aunque proporcionada por el hardware subyacente, no se incluye actualmente en el lenguaje Wiring de Arduino. Para ello debe utilizar la librería Wire.
- LED: pin 13. Hay un LED integrado conectado al pin digital 13. Cuando el pin tiene un valor ALTO, el LED está encendido, cuando el pin está BAJO, está apagado.
La placa Arduino Pro Mini tiene 8 entradas analógicas, cada una de las cuales proporciona 10 bits de resolución (es decir, 1024 valores diferentes). Cuatro de ellos están en los conectores en el borde de la placa; dos (entradas 4 y 5) en orificios en el interior de la placa. Las entradas analógicas miden desde tierra a VCC. Además, algunos pines tienen una funcionalidad especializada:
- I2C: pines A4 (SDA) y A5 (SCL). Admite la comunicación con bus I2C (TWI) utilizando la librería Wire.
Hay otro pin en la placa:
- Reset: Es un pin de entrada. Llevar este pin a tierra (GND) reiniciará el microcontrolador. Normalmente se usa para agregar un botón de reinicio a las placas de expansión (shields).
Comunicaciones en la Arduino Pro Mini
La placa Arduino Pro Mini tiene facilidades para comunicarse con un ordenador, otra placa u otros microcontroladores. El microcontrolador ATmega328p proporciona un puerto serie UART de hardware para comunicación serie usando niveles TTL (5 V). Para poder establecer comunicaciones con el ordenador, se recomienda usar un cable FTDI que proporciona un puerto virtual para el software en el ordenador (las máquinas Windows necesitarán un archivo .inf, pero las máquinas OSX y Linux reconocerán la placa como un puerto COM de forma automática). El entorno de desarrollo Arduino IDE incluye un monitor serie que permite que se envíen datos de texto simples hacia y desde la placa.
La librería SoftwareSerial permite la comunicación serial en cualquiera de los pines digitales de la placa Arduino Pro Mini.
La placa Arduino Pro Mini también es compatible con la comunicación TWI y SPI. El entorno de desarrollo Arduino IDE incluye la librería Wire para simplificar el uso del bus TWI. Para la comunicación SPI, use la librería SPI.
Programación de la Arduino Pro Mini
La placa Arduino Pro Mini se puede programar con el entorno de desarrollo Arduino IDE.
El ATmega328p en la placa Arduino Pro Mini viene pre-programado con un gestor de arranque (bootloader) que le permite cargar un nuevo programa sin el uso de un programador hardware externo. Se comunica utilizando el protocolo original STK500.
También puede omitir el gestor de arranque y programar el microcontrolador directamente a través de un programador externo.