Leer Primero

Como se utiliza este blog?

martes, 20 de septiembre de 2022

SparkFun Pro Micro

Bienvenido a mi blog, hoy hablaremos un poco de la placa Pro Micro, a diferencia de otras placas que hemos descrito en estos post's, Pro Micro NO es una placa Arduino como tal, ya que fue diseñada y construida por SparkFun Electronics, la cuál es una empresa dedicada a la comercialización de productos electrónicos en Niwot, Colorado, Estados Unidos. SparkFun Electronics fabrica y vende placas de desarrollo de microcontroladores y diversos dispositivos, a destacar que todos los productos diseñados y producidos por SparkFun, se lanzan como hardware de código abierto.

La SparkFun Pro Micro la encontramos en versiones de 3,3V a 8 MHz y 5V a 16 MHz y es una placa de desarrollo pequeña y genial. Posee un microcontrolador compatible con Arduino, la Pro Micro es una placa basada en la MCU Atmel, el ATmega32U4 y logra con un solo chip lo que los viejos Arduino UNO Rev3, MEGA2560, NANO y Pro Mini nunca pudieron poseer: la verdadera funcionalidad USB. La razón más grande por la que algunos técnicos la llaman erróneamente "Arduino Pro Micro", es porque en su corazón los chips Atmel son ampliamente conocidos y utilizados en la plataforma Arduino, por ejemplo, en el Arduino Leonardo ya habíamos visto dicho chip.

Como todas las placas compatibles, tiene semejanzas con otras de sus hermanastras mayores: es muy similar a Arduino Micro pero en un factor de forma más pequeño. En este post, podrás comprender todo lo que necesitas saber sobre esta placa y comenzar a desarrollar tus propios proyectos DIY con SparkFun Pro Micro, la cuál en su mayoría es usada para HID Human Interface Device, es decir, emular teclados, mouse's o joystick.

Sparkfun Pro Micro tiene 18 pines de entrada/salida digital (de los cuales 5 se pueden usar como salidas PWM), 9 entradas analógicas, un resonador incorporado y orificios para montar cabezales de pines.


Características Físicas:

Las dimensiones de la Sparkfun Pro Micro PCB son: 700 milésimas de pulgada x 1300 milésimas de pulgada, que expresadas en milímetros serian: 17.78mm x 33.02mm




Especificaciones técnicas:


Power

La Sparkfun Pro Micro se puede alimentar con un suministro regulado de 3,3V o 5V (según el modelo) en el pin Vcc. Hay un regulador de voltaje LDO a bordo MIC5219 para que pueda aceptar voltajes de hasta 12VCC. Si está suministrando energía no regulada a la placa, asegúrese de conectarse al pin "RAW" no en VCC.

Los pines de alimentación son los siguientes:
  • RAW: Se utiliza para suministrar voltaje no regulado a la placa. Si la placa se alimenta a través de USB, el voltaje en este pin será de aproximadamente 4,8 V (los 5 V de USB menos una caída del diodo Schottky).
  • VCC: El suministro regulado de 3,3 o 5 voltios según el modelo.
  • GND: Clavijas de tierra.

Memoria

El ATmega32U4 tiene 32 kB de memoria flash para almacenar código (de los cuales 0,5 kB se utilizan para el gestor de arranque o bootloader). Tiene 2.5 kB de SRAM y 1 kBs de EEPROM (que se pueden leer y escribir utilizando la biblioteca EEPROM).

Entradas y salidas

Cada uno de los 18 pines digitales de la Sparkfun Pro Micro se puede usar como entrada o salida, utilizando las funciones pinMode, digitalWrite y digitalRead. Funcionan a 3,3 o 5 voltios (según el modelo). Cada pin puede proporcionar o recibir un máximo de 40 mA y tiene una resistencia pull-up interna (desconectada por defecto) de 20-50 kΩ. Además, algunos pines tienen funciones especializadas:

Serial: Pin 0 (RX) y Pin 1 (TX). En estos pines tenemos el puerto serial full dúplex UART, que se utiliza para recibir y transmitir datos en serie TTL. El software Arduino incluye un monitor en serie que permite enviar datos de texto simples hacia y desde la placa a través de una conexión USB. La biblioteca <SoftwareSerial> permite la comunicación en serie de los pines digitales de la Sparkfun Pro Micro.

Interrupciones Externas: Pines 0, 1, 2, 3 y 7, estos pines se pueden configurar para activar una interrupción en un valor bajo, un flanco ascendente o descendente, o un cambio de valor. Consulte la función <attachInterrupt> para obtener más información.


PWM: Pines 3, 5, 6, 9, y 10 Proporcionan una salida PWM de 8 bits con la función analogWrite. Los pines PWM simulan la salida de hardware analógico mientras que otros pines simulan la salida analógica de software. Estos 5 pines PWM encuentran aplicaciones en las que necesitamos regular algo, por ejemplo la velocidad de un motor DC, el control de giro de un servomotor, el brillo de un led, etc.

SPI: 16 (MOSI Master-Out Slave-In), 14 (MISO Master-In Slave-Out), 15 (SCK Serial Clock). Estos pines admiten la comunicación SPI (interfaz periférica en serie) desarrollada por Motorola. Recordemos que a diferencia de I2C, en SPI solo puede existir un dispositivo maestro y no existe límite para el número de esclavos.

La Sparkfun Pro Micro tiene 9 entradas analógicas, cada una de las cuales proporciona 10 bits de resolución (es decir, 1024 valores diferentes). Las entradas analógicas miden de tierra a VCC y toman la señal de los sensores analógicos y la convierten en un valor digital. Los pines miden el voltaje, no la corriente, porque tienen un valor muy alto de resistencia interna. Entonces, el valor de la corriente es mucho menor en comparación con el voltaje, además los 9 pines indicados como entradas analógicas (A0, A1, A2, A3, A6, A7, A8, A9 y A10) también pueden ser configurados como entradas o salidas digitales.

I2C: Pin 2 (SDA) y Pin 3 (SCL). Admite comunicación I2C (TWI) utilizando la biblioteca <Wire> para simplificar el uso del bus I2C.

Reset: Una resistencia de 10 kΩ en la placa eleva este pin manteniéndolo en alto y está activo en nivel bajo, por lo que debe conectarse a tierra para iniciar un reinicio. La Sparkfun Pro Micro permanecerá apagada hasta que la línea de reinicio vuelva a estar alta.

Al realizar reset, se envía el pulso lógico al pin de reset del microcontrolador ATmega32U4. Es una línea muy importante, ya que algunas veces los ordenadores se bloquean al no saber si deben tratar la pro micro como un mouse o un teclado o un joystick o un microcontrolador que deben comandar?, así que es muy normal y será necesario en algún momento hacer un reset o reinicio.


Programación:

1. Tu Sparkfun Pro Micro se puede programar con la descarga del software Arduino IDE, realizándole algunos sencillos y cortos ajustes.

2. Otra forma de programar tu Sparkfun Pro Micro es compilar el código por separado usando el compilador AVR-GCC para generar el archivo ejecutable y luego usar Avr-ObjCopy para convertirlo en un archivo .HEX finalmente, Avrdude se usa para cargar el archivo hexadecimal en el tablero.

AVRDUDE es un acrónimo de AVR Downloader/UploaDEr. Es un software de código abierto que se utiliza para programar microcontroladores AVR de atmel (ahora microchip). También puede usarlo para programar EEPROM's, memorias Flash e incluso fusibles y bits de bloqueo. ademas al instalar AVRDUDESS éste no toca la variable %PATH%, por lo que no causará ningún problema con el IDE de Arduino.

Cómo conectar Sparkfun Pro Micro a la computadora?


El procedimiento lo resumo en solo 3 pasos:

1. Descargar e instalar el driver para Windows.

2. Configuramos la dirección en el gestor URL adicional de tarjetas.

https://raw.githubusercontent.com/sparkfun/Arduino_Boards/master/IDE_Board_Manager/package_sparkfun_index.json

3. Seleccionamos Sparkfun AVR Boards - Sparkfun Pro Micro.


Ahora vamos a desglosar los pasos uno a uno más detallados, antes de enchufar su placa, comience descargando los controladores. Los drivers para la Sparkfun Pro Micro están firmados para usuarios de Windows y pueden descargarlos directamente usando el siguiente enlace:

DRIVERS PRO MICRO

Descomprime ese archivo .zip y no olvides dónde dejaste su contenido. En ese archivo zip, debe encontrar los archivos .inf y .cat , que contienen toda la información que Windows necesita para instalar el controlador de Pro Micro. El controlador sparkfun.inf y el archivo de catálogo firmado digitalmente sparkfun.cat se encontrarán en ..."Arduino_Boards-master/sparkfun/avr/signed_driver".

Ahora conectaremos la placa Sparkfun Pro Micro a la PC con un cable microusb y obtendremos un resultado como el siguiente (recomendable trabajar con un puerto USB 2.0):


Abriremos ahora el administrador de dispositivos de Windows y actualizaremos el driver manualmente, indicándole la ruta donde esta el driver firmado que bajamos en los pasos anteriores: "Arduino_Boards-master/sparkfun/avr/signed_driver"

Antes de poder usar la Sparkfun Pro Micro en el IDE de Arduino, deberemos instalar los archivos de la placa (.brd) para que Arduino sepa cómo comunicarse con esta board. Abrimos el IDE de Arduino, luego vamos a Preferencias (Archivo>Preferencias). Luego, hacia la parte inferior de la ventana, pegue esta URL en el cuadro de texto "Gestor de URLs adicionales de Tarjetas" y damos click en OK:


A continuación, hacemos click en Herramientas - Placa, y vamos a gestor de tarjetas:


En el gestor de tarjetas buscamos el paquete sparkfun y ubicándonos sobre Sparkfun AVR Boards damos click en Instalar:


Una vez instalado el paquete podremos ver todas las placas soportadas:


Tenga en cuenta, como ya hemos expuesto anteriormente, que hay dos opciones para la Sparkfun Pro Micro: 3V3 8 MHz y 5V 16 MHz. Es muy importante que seleccione la opción Pro Micro que coincida con el voltaje y la velocidad de su placa. Esto aparece en Herramientas > Procesador.


Cabe destacar que hay una nueva versión de la Sparkfun Pro Micro, llamada "Qwiic Pro Micro" donde básicamente se actualizo a conector USB tipo C, se le añadió el botón de reset incluido en la board y las almohadillas para agujeros pasantes Through-Hole, tienen bordes almenados un diseño similar a la Raspberry Pi Pico para soldarla directamente en el proyecto como un componente SMD.



SparkFun Qwiic Pro Micro


Algunos Clones de la Sparkfun Pro Micro

Tanto el Arduino Leonardo como la Sparkfun Pro Micro, son placas de desarrollo basadas en el microcontrolador ATmega32U4 de Atmel. La principal diferencia entre los bootloaders de estas dos placas es que el bootloader del Leonardo utiliza el protocolo de arranque en serie (Serial Bootloader) de Atmel, mientras que el bootloader de la Sparkfun Pro Micro utiliza el protocolo de arranque en HID (Human Interface Device). En pocas palabras, aunque ambos bootloaders permiten programar el microcontrolador a través del puerto USB, el protocolo utilizado para hacerlo es diferente.

El bootloader del Leonardo utiliza el protocolo de arranque en serie, mientras que el bootloader del Sparkfun Pro Micro utiliza el protocolo de arranque en HID.


Descarga aqui el bootloader de Arduino Leonardo

Descarga aqui el bootloader de Sparkfun Pro Micro


Finalmente también tenemos la parte Sparkfun Pro Micro en Fritzing y también encontramos variaciones de la misma para las clones:


Post Data: Toda la información técnica para realizar este post fue sacada y corregida directamente de la página del fabricante de la Pro Micro Original, Sparkfun Electronics. Es posible que los clones chinos cambien algunos parámetros al utilizar otros componentes.


"La palabra 'Arduino' y los logotipos oficiales son marcas comerciales con copyright © de Arduino AG. El software Arduino IDE es propiedad de sus respectivos autores. La licencia principal que rige los productos de Arduino es la Licencia Pública General de GNU (GPL) y la Licencia Pública General Menor de GNU (LGPL). Todos los derechos están reservados por sus respectivos propietarios y licencias correspondientes."


Quieres aportar algo que complemente este articulo? crees que hay algo que se deba corregir? Escríbenos este blog es para todos.

Recuerda que en https://jorgechac.blogspot.com nos dedicamos a construir una electrónica mejor! y apoyamos el proyecto CTC GO! (Creative Technologies in the Classroom) que es un programa de educación steam personalizable.


Si te sirvió deja un comentario de agradecimiento, comparte el post en tus redes sociales o recomiéndale el blog a un amigo, eso me motiva a seguir realizando estos pequeños posts y espero que vuelvas a mi blog, publico nuevo material con base en los softwares y apps que utilizo y la experiencia que he adquirido. Por último si deseas colaborar voluntariamente y crees que mi trabajo y mi tiempo lo ameritan, considere hacer una pequeña donación a mi NEQUI +573177295861.



También te puede interesar:


Cómo Detectar un Arduino Falsificado

Arduino NANO v3

Arduino UNO WiFi Rev2

Nueva Placa Arduino Nano RP2040 Connect

Arduino Pro Mini

Arduino UNO Rev3

Simulador Wokwi - Generalidades

Nuevos Microcontroladores Raspberry Pi Pico W, H y WH

No hay comentarios.:

Publicar un comentario