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

jueves, 25 de agosto de 2022

Arduino Pro Mini

Bienvenido a mi blog, hoy hablaremos un poco de la placa Arduino Pro Mini, Arduino es una plataforma de creación de electrónica de código abierto, la cual está basada en hardware y software libre, flexible y fácil de utilizar para los creadores o desarrolladores, para hacerlo, utiliza el lenguaje de programación Arduino (basado en Wiring) y el Software Arduino IDE (basado en Processing, una herramienta basada en Java). Recordemos que Arduino es un proyecto, un ecosistema y no solo un modelo concreto de placa. 

Arduino Pro Mini se desarrolló para aplicaciones e instalaciones donde el espacio es primordial y los proyectos se realizan como instalaciones permanentes. Pequeña y disponible en versiones de 3,3V a 8 MHz y 5V a 16 MHz, el Arduino Pro Mini es una placa de microcontrolador basada en la MCU Atmel, el ATmega328P-AU.

Como todas las placas Arduino y compatibles, tiene semejanzas con otras de sus hermanas mayores: es muy similar a Arduino NANO v3 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 Arduino Pro Mini. Antes de iniciar quiero recordar que el nuevo Arduino IDE 2.0 esta ahora basado en el marco Eclipse Theia.

Theia se basa en el mismo código subyacente que el popular y ampliable "Visual Studio Code" de Microsoft, esto permite que Arduino avance a un editor más potente y moderno y ahora el DARK MODE o Modo Oscuro viene nativo.

Arduino Pro Mini tiene 14 pines de entrada/salida digital (de los cuales 6 se pueden usar como salidas PWM), 8 entradas analógicas, un resonador incorporado, un botón de reset y orificios para montar cabezales de pines. Se puede conectar un encabezado de seis pines a un cable FTDI o a una placa de conversión USB a TTL. El Arduino Pro Mini fue diseñado y fabricado por SparkFun Electronics, a pesar de esto, esta placa Pro Mini figura en la página oficial de Arduino y esta soportada por el IDE de Arduino de forma nativa, a diferencia de la Pro Micro la cuál no figura en la familia Arduino oficialmente y debe instalarse aparte con su respectivo driver, para que se puede programar bajo el IDE de Arduino. Resumiendo, Arduino Pro Mini si es una placa Arduino, la Pro Micro NO.


Características Físicas

Las dimensiones del Arduino Pro Mini 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

El Arduino Pro Mini se puede alimentar con un cable FTDI o una placa de conexión conectada a su cabezal de seis pines, o 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 MIC5205 para que pueda aceptar voltaje 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.
  • VCC: El suministro regulado de 3,3 o 5 voltios según el modelo.
  • GND: Clavijas de tierra.

Memoria

El ATmega328P-AU 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 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 14 pines digitales del Arduino Pro Mini 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 UART, que se utiliza para recibir y transmitir datos en serie TTL. Estos pines están conectados a los pines TX y RX del encabezado de seis pines. El software Arduino incluye un monitor en serie que permite enviar datos de texto simples hacia y desde la placa Arduino a través de una conexión USB. La biblioteca SoftwareSerial permite la comunicación en serie de los pines digitales del Arduino Pro Mini.

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 de valor. Consulte la función attachInterrupt para obtener más información.


PWM: Pines 3, 5, 6, 9, 10 y 11. 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 6 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: 10 (SS Slave Select), 11 (MOSI Master-Out Slave-In), 12 (MISO Master-In Slave-Out), 13 (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.

LED: Hay un LED incorporado conectado al pin digital 13. Cuando el pin tiene un valor ALTO, el LED se encenderá, cuando el pin tiene un valor BAJO, el LED se apagará.

El 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 encabezados en el borde del tablero y cuatro (entradas A4, A5, A6 y A7) en agujeros en el interior del tablero. 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 6 pines indicados como entradas analógicas (A0-A5), también pueden ser configurados como entradas o salidas digitales, pero los pines analógicos A6 y A7 no se pueden utilizar como pines digitales.

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

Reset: Lleve esta línea a BAJO para restablecer el microcontrolador. Por lo general, se usa para agregar una función de reinicio a las shield que bloquean el que está en el tablero.


Diagrama Esquemático del Arduino Pro Mini

Programación

1. El Arduino Pro Mini se puede programar con la descarga del software Arduino IDE.

El ATmega328P-AU en el Arduino Pro Mini viene pregrabado con un cargador de arranque (bootloader) y es básicamente un archivo ".hex" que se ejecuta cuando se energiza la placa. Es similar al BIOS/UEFI que se ejecuta en una PC al inicializarse. El bootloader de Arduino está programado en la memoria flash del ATMega328P-AU y ocupa 0,5 KB de los 32KB disponibles. El bootloader se comunica usando el protocolo STK500 original. El bootloader de Arduino es, esencialmente, el bootloader STK500 versión 2 de Atmel.

2. Otra forma de programar tu Arduino Pro Mini 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 Arduino Pro Mini a la computadora?

Para programar la placa, deberá conectar Arduino Pro Mini con la computadora a través de un USB. Sin embargo, esta placa no tiene ningún puerto USB ni programador integrado. Por lo tanto, necesitaremos un convertidor de USB a serie u otra placa Arduino que sirva como programador.


Podemos programar Arduino Pro Mini usando alguno de los siguientes tres métodos:

  • Programación de Arduino Pro Mini a través del puerto SPI usando un programador USBASP.
  • Programación de Arduino Pro Mini a través del puerto SPI usando otra placa Arduino UNO o Mega2560 por ejemplo.
  • Programación de Arduino Pro Mini a través de USART utilizando un módulo serie FTDI, USB a TTL.

Automatic (Software) Reset

En lugar de requerir presionar físicamente el botón de reinicio antes de una carga, el Arduino Pro Mini está diseñado de una manera que permite reiniciarlo mediante un software que se ejecuta en una computadora conectada. Uno de los pines del cabezal de seis pines está conectado a la línea de reinicio del ATmega328P-AU a través de un capacitor de 100 nF. Este pin se conecta a una de las líneas de control de flujo de hardware del convertidor de USB a serie conectado al cabezal: RTS cuando se usa un cable FTDI, DTR cuando se usa la placa de conexión Sparkfun, por ejemplo. Cuando se afirma esta línea (se toma baja), la línea de reinicio cae el tiempo suficiente para reiniciar el chip. El software Arduino utiliza esta capacidad para permitirle cargar código simplemente presionando el botón de carga en el entorno Arduino. Esto significa que el cargador de arranque puede tener un tiempo de espera más corto.

A continuación tenemos los archivos gerber para mandar a realizar tus propias placas Arduino Pro Mini, el proyecto se encuentra compartido en Aisler.net y puedes conocerlo haciendo click en la siguiente imagen:


Que diferencia hay entre el ATmega328P-PU del Arduino UNO y el ATmega328P-AU del Arduino Pro Mini/NANO v3?




Obviamente aparte de la diferencia física del encapsulado tipo DIP (ATmega328P-PU) y PQFP (ATmega328P-AU), esta la diferencia en el número de pines. El ATmega328P-PU tiene 28 pines y el ATmega328P-AU (SMD) tiene 32 pines, este último cuenta aparte de las mismas funciones del ATmega328P-PU con 4 pines extras los cuales son otro Vcc, otro GND, A6 y A7, por esta razón en el Arduino Pro Mini contamos en las entradas analógicas con A6 y A7 por estos pines extras que ofrece el ATmega328P-AU.


Finalmente tenemos la parte Arduino Pro Mini para Proteus Design Suite, el cual es un software de automatización de diseño electrónico, desarrollado por Labcenter Electronics Ltd, para lo cual deberás descargar estas librerías y copiarlas a la ruta de instalación del programa C:\Program Files (x86)\Labcenter Electronics\Proteus 8 Professional\DATA\LIBRARY.

Dicha parte también es simulable pero no tiene footprint, así que deberás asignar o construir uno, para poder anexarle el modelo 3D en un archivo .stp


Compra tu Arduino Pro Mini aquí


"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:


Simulador Wokwi - Generalidades

Nuevos Microcontroladores Raspberry Pi Pico W, H y WH

Las 1o formas más fáciles de averiar tu Arduino

FTDI como programador ISP

Arduino UNO Rev3

Arduino NANO v3

Arduino UNO WiFi Rev2

Nueva Placa Arduino Nano RP2040 Connect

Nuevo Microcontrolador Raspberry Pi Pico

Nueva Raspberry Pi 400

Convierte fácilmente una Fuente ATX de PC en una Fuente para alimentar tus proyectos Arduino y/o Raspberry Pi

USB a Serial en Arduino - Generalidades

Como Grabar el Bootloader de Arduino

Cómo Detectar un Arduino Falsificado

jueves, 11 de agosto de 2022

Simulador Wokwi - Generalidades

Bienvenido a mi blog, hoy hablaremos un poco del Simulador gratuito y online Wokwi, durante el primer semestre del año 2021 se generó bastante información sobre la Raspberry Pi Pico y su nuevo microcontrolador, el RP2040; uno de los recursos que se vio en ese momento fue un curso de HackadayU dictado por Uri Shaked, Maker y Google Developer Expert Israelí, en el curso, el señor Uri discute la arquitectura del microcontrolador, el set de instrucciones, así como algunas funciones del RP2040, su programación y depuración. Aunque el curso es muy interesante, lo que llamó especialmente la atención fue la herramienta que el señor Uri estaba usando para mostrar los ejemplos en sus clases, un simulador electrónico en línea, que le permitía escribir y correr el código en una tarjeta Raspberry Pi Pico emulada.



Debido a que el simulador wokwi funciona online, mediante la world wide web, puede correr en Windows, MAC, Linux y Android.

¿Qué significa Wokwi?

Wokwi no tiene ningún significado especial, tampoco es un acrónimo, simplemente es una palabra que sus creadores eligieron, por ser una palabra corta y fácil de pronunciar.

¿Cómo conocimos Wokwi?

Wokwi fue conocido inicialmente por la creación de placas compatibles con Arduino UNO Rev3, llamadas Arduino Wokwi, bueno, solamente Wokwi, ya que el nombre Arduino y su logo, como sabemos, son marcas registradas, estas placas Wokwi presentan la particularidad de usar un conector de entrada USB Tipo C (en lugar del USB Hembra Tipo B) y una bonita combinación de headers de colores (recordemos que estas placas actualmente aún están a la venta en Tindie):




Arduino Wokwi


Este fantástico simulador Wokwi, gratuito, online y de código abierto en JavaScript, fue desarrollado por el mismo señor Uri Shaked y otros colaboradores. El simulador permite trabajar con algunas de las versiones más populares de las tarjetas Arduino (como UNO, NANO y Mega2560), con la Raspberry Pi Pico, ESP32, en C++, Micropython y Rust, y algunos miembros de la familia ATtiny y hasta otros microcontroladores de la familia STMicroelectronics.. Además, cuenta con un buen grupo de periféricos comúnmente usados en los proyectos de electrónica, a esto se suma la ventaja de no tener que esperar a tener todo el hardware en las manos para comenzar las pruebas y que no vamos a poder dañar nada durante las pruebas, al trabajar con un hardware virtual.



Home Page Wokwi


El simulador es muy fácil de usar, tiene un área para agregar el código y otra con el diagrama del circuito electrónico simulado. En el área del código se puede escribir el programa, conectar las librerías del proyecto y editar el archivo diagram.json que describe la estructura y conexiones del circuito simulado. En el área del circuito se agregan los componentes y se hacen las conexiones necesarias entre los elementos y/o el hardware.

El sitio web del simulador tiene varios circuitos y programas de ejemplo, así como la opción de permitirnos publicar nuestros propios proyectos. Un dato importante es que, en este momento, el simulador es de uso gratuito, aunque hay algunas opciones de pago al estilo de una membresía premium y que permiten hacer sugerencias sobre el desarrollo del simulador y acceder a funciones avanzadas, las cuales comprenden:

  • Cargar cualquier biblioteca de Arduino seleccionando una carpeta de su computadora.
  • Cargar archivos binarios personalizados (por ejemplo, mapas de bits, sonidos, etc.) al sistema de archivos de la tarjeta microSD emulada.
  • Conectar el ESP32 WiFi a tu red local.
  • Conocer a miembros del Club Wokwi con ideas afines en el canal de Discord.

Ojo, recordemos que estas funciones avanzadas solo están habilitadas para usuarios de pago, los cuales pueden pagar solo un mes, si lo desean, o todo un año completo con el 20% de descuento. Actualmente al momento de escribir este post, el mes esta a 7 dólares, los cuales se pueden pagar, o vía paypal o con tarjeta de crédito.



Librerías Arduino Integradas Standard, embebidas en Wokwi.


De forma predeterminada, Wokwi compila su código con las bibliotecas Arduino integradas estándar, (como Wire.h y SPI.h) si desea trabajar con alguna librería que no sea estándar, como por ejemplo <OLED_I2C.h> deberá ser usuario premium para poder exportarla.



Wokwi Enviroment

¿Por qué Wokwi?


Comience ahora mismo. No hay que esperar por los componentes ni descargar pesados software de simulación. Con solo su navegador de internet o browser, tiene todo lo que necesita para comenzar a codificar su próximo proyecto electrónico microcontrolado o de IoT, en segundos.

Los errores están bien. No se puede destruir el hardware virtual. Así que no te preocupes por freír tus preciados componentes. Y a diferencia del hardware real, siempre puedes deshacer.

Fácil de obtener ayuda y comentarios. Compartir un enlace a su proyecto Wokwi es todo lo que necesita.

Gana confianza en tu código. Problemas de hardware y software separados.



Comunidad amigable con los creadores. Un lugar para que compartas tus proyectos, pidas ayuda y te inspires. 
Comunidad Wokwi Discord


Funciones únicas:


  • Simulación WiFi: conecte su proyecto simulado a Internet. Puede usar MQTT, HTTP, NTP y muchos otros protocolos de red.
  • Analizador lógico virtual: capture señales digitales en su simulación (por ejemplo, UART, I2C, SPI) y analícelas en su computadora.
  • Depuración avanzada con GDB: potente depurador Arduino y Raspberry Pi Pico para usuarios avanzados.
  • Simulación de tarjeta SD: almacene y recupere archivos y directorios de su código. Los miembros del club también pueden cargar archivos binarios (como imágenes).

Veamos ahora en el siguiente video de YouTube, un ejemplo básico de como usar el simulador wokwi:


Extensión Wokwi para Visual Studio Code


Wokwi para Visual Studio Code proporciona una solución de simulación para ingenieros, de sistemas integrados y de IoT. La extensión se integra con su entorno de desarrollo existente, lo que le permite simular sus proyectos directamente desde su editor de código. Puede usar Wokwi para VS Code con Zehpyr Project, PlatformIO, ESP-IDF, Pi Pico SDK, NuttX, Rust, Arduino CLI y otros marcos de desarrollo integrados y cadenas de herramientas.


Instalación



Primero, instale la extensión Wokwi for VS Code. Luego, presione y seleccione "Wokwi: Solicitar una nueva licencia". VS Code le pedirá que abra el sitio web de Wokwi en su navegador. Confirme haciendo clic en "Abrir" F1. Luego haga clic en el botón púrpura que dice "OBTENGA SU LICENCIA". Es posible que se le pida que inicie sesión en su cuenta de Wokwi. Si no tiene una cuenta, puede crear una de forma gratuita.

El navegador le pedirá una confirmación para enviar la licencia a VS Code. Confirmar (es posible que tenga que confirmar dos veces, una vez en el navegador y una vez en VS Code). Verá un mensaje en VS Code que dice "Licencia activada para [su nombre]". ¡Felicidades!.

Cabe destacar que para poder trabajar con la extension Wokwi para Visual Studio Code se necesita minimo la versión 1.72.0 ó superior.

Finalmente antes de simular cualquier proyecto, debes compilar el código y generar el archivo de firmware/ELF. La extensión Arduino de VS Code requiere Arduino IDE 1.8 o Arduino CLI instalado. No funciona (todavía) con Arduino IDE 2.0.


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.


Bibliografía:

https://docs.wokwi.com/


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:


Nuevos Microcontroladores Raspberry Pi Pico W, H y WH

Las 10 formas más fáciles de averiar tu Arduino

Arduino UNO Rev3

Arduino NANO v3

Arduino UNO WiFi Rev2

Nueva Placa Arduino Nano RP2040 Connect

Nuevo Microcontrolador Raspberry Pi Pico

Convierte fácilmente una Fuente ATX de PC en una Fuente para alimentar tus proyectos Arduino y/o Raspberry Pi

USB a Serial en Arduino - Generalidades

Como Grabar el Bootloader de Arduino

Cómo Detectar un Arduino Falsificado