Leer Primero

Como se utiliza este blog?

Mostrando las entradas con la etiqueta micropython. Mostrar todas las entradas
Mostrando las entradas con la etiqueta micropython. Mostrar todas las entradas

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

domingo, 3 de julio de 2022

Nuevos Microcontroladores Raspberry Pi Pico W, H y WH

Bienvenido a mi blog, hoy hablaremos un poco de las nuevas Raspberry Pi Pico W, H y WH. Raspberry Foundation, la institución encargada del popular miniordenador que ha ayudado a expandir GNU/Linux por el mundo, ha anunciado la comercialización de nuevas variantes, las nuevas Raspberry Pi Pico W, H y WH, las cuales son soluciones que nos permitirán trabajar en sistemas embebidos de todo tipo y aplicarlas a desarrollos tan ambiciosos como dispositivos médicos o coches autónomos, la RPi Foundation esta iniciando a fabricar sus propios procesadores, están gobernadas por un pequeño SoC que ha sido diseñado por los propios responsables de este proyecto en Reino Unido (UK). Se trata del Microcontrolador RP2040, que cuenta con un procesador dual core ARM Cortex M0+ de 32 bits funcionando a máx 133 MHz, acompañado de 264KB de RAM y 2MB de almacenamiento integrado (expandible hasta 16 MB). Ese SoC representa el nuevo papel de The Raspberry Pi Foundation como fabricante de semiconductores, y, en concreto, de SoC.

Dimensiones Reales de la Raspberry Pi Pico W en mm


Primero que todo aclarar que desde un punto de vista meramente técnico no se trata de nuevos Microcontroladores, sino de nuevas versiones de placa, que añaden mas funcionalidades, ya que el microcontrolador sigue siendo el mismo, el RP2040.


La llegada de la Raspberry Pi Pico W, presenta la novedad de contar con WiFi, capaz de potenciar todo tipo de sistemas microcontrolados, manteniendo el bajo consumo, tamaño y casi el mismo precio de la original. La Raspberry Pi Pico W añade soporte integrado para redes inalámbricas Wi-Fi mediante el chip combo Infineon CYW43439 que permite conectividad WiFi 4 y seguridad WPA 3, a través de SPI y tiene una antena ABRACON integrada. Las capacidades inalámbricas están limitadas a conexiones 802.11/b/g/n de banda única de 2,4 GHz Canales de 20 MHz, tasa de datos PHY de hasta 96 Mbps, DPP para Wi-Fi Easy Connect™, Soft AP mejorado hasta 4 clientes e interfaz de host SDIO compartida para Wi-Fi + Bluetooth. El interruptor PA, LNA y T/R interno integrado admite una sola antena compartida entre Wi-Fi y Bluetooth. De esta forma es un gran paso adelante con respecto al modelo inicial original, que necesitaba hardware adicional para conectarse a Internet.









Además de estas versiones, la fundación comercializa una versión 'H' y 'WH' que añaden un header montado y un conector de depuración de 3 pines, es decir, el Pico H y el Pico WH cuentan con cabeceras precargadas, así como con el mencionado conector de depuración, un conector JST 'SH' de 3 pines y paso de 1,0 mm.

El puerto SWD

A medida que los dispositivos se volvieron más complejos, aumentó la dificultad para hacerles debug o depuración, es decir, leer las señales internas de los microcontroladores. En consecuencia se tuvo que estandarizar las señales de prueba y se creó el Joint Tag Action Group (JTAG) Grupo de Acción de Etiqueta Conjunta.

Esto permitió establecer estándares que pueden detectar errores utilizando solo unos cuantos pines. No todos los microcontroladores implementan JTAG; por ejemplo el ATMEGA328P del Arduino no lo tiene, pero la Raspberry Pi Pico y el ESP32 sí. Los tres pines en el borde inferior de la Pico, o en el medio, según la versión,  son para conectar un depurador. El Serial Wire Debug (SWD Depuración de cables serie) es una interfaz JTAG alternativa de 3 pines (SWDIO/GND/SWCLK). SWD utiliza un protocolo de cable bidireccional estándar de CPU ARM, definido en la interfaz de depuración de ARM v5. Esto permite que el depurador se convierta en otro maestro de bus AMBA para el acceso a la memoria del sistema y a los registros periféricos o de depuración.

Esta pequeña placa no cuenta con un sistema operativo como tal que la gobierne: simplemente ejecuta los programas que pidamos que ejecute, y que pueden estar programados en lenguajes como MicroPython, C o C++ y que podemos lanzar desde un ordenador host como una PC o una Mac, por ejemplo. Junto con el nuevo dispositivo, la fundación ha hecho público un SDK basado en C, accesible desde cualquiera de los principales entornos de desarrollo, como puede ser Visual Studio Code; además de otro basado en Python 3, recordemos que MicroPython es una versión reducida de Python hecha especialmente para microcontroladores.

Un gran detalle es que la nueva versión de Raspberry Pi Pico W cuenta con Bluetooth 5.2 BLE embebido, pero NO esta activo por defecto, por cuestiones de licencias, certificados o legislaciones, afirman que mas adelante cuando resuelvan este tema, se podrá activar dicha función, tal vez mediante una actualización de firmware (al momento de escribir este post aún no se ha lanzado oficialmente la activación del Bluetooth en la Raspberry Pi Pico W / WH).

A destacar que la RPi Foundation ha iniciado en la fabricación de sus propios SoC, su propio silicio personalizado y esto augura un gran futuro tecnológico. También resaltar que Raspberry Pi ha iniciado las ventas de unidades individuales y por carrete de su SoC RP2040 y ahora están disponibles a través de los revendedores aprobados por Raspberry Pi (compra tu chip RP2040 Aquí).




Documents:


También algunas empresas y maker's han lanzado los primeros clones de la Raspberry Pi Pico, los cuales tienen conector USB Type C, 16 MB de memoria flash y botón de reset, más que clones, son nuevas mejoras (obviamente no veremos el nombre Raspberry, ni el logo, ya que son marcas registradas):

Original a la derecha Vs clones


Interesante opción para Raspberry Pi Pico W con soporte para BASIC y wifi https://geoffg.net/webmite.html


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

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




viernes, 2 de abril de 2021

Raspberry Pi Pico/W PinOut

Asignación de pines para la Raspberry Pi Pico/W: Pinout y pin mapping son términos relacionados con la asignación de pines en un dispositivo electrónico, pero se refieren a conceptos ligeramente diferentes. El término "pinout" se refiere a la disposición física de los pines de un dispositivo electrónico. El pinout describe la ubicación y función de cada pin en un conector o en un dispositivo electrónico. Por ejemplo, un diagrama de pinout para un conector USB podría mostrar la ubicación de los pines de datos y de alimentación en el conector.

Por otro lado, "pin mapping" se refiere a la asignación de pines de un dispositivo electrónico a los puertos y periféricos de un microcontrolador o de otro dispositivo de procesamiento. El pin mapping define qué pines están conectados a qué funciones específicas del dispositivo, como la entrada de un sensor, la salida de un actuador o la comunicación con otro dispositivo a través de un protocolo de comunicación.

En resumen, mientras que el pinout describe la ubicación y función física de los pines de un dispositivo electrónico, el pin mapping define la conexión de esos pines con las funciones de procesamiento de un microcontrolador u otro dispositivo similar.

A continuación veremos un pinout completo y personalizado, donde se especifica la función de cada pin y se agrupan y ordenan por colores, diagramas 100% editados y realizados por mi.

Recuerda que los tres pines en la Pico son para conectar un depurador. El Serial Wire Debug (SWD Depuración de cables serie) es una interfaz JTAG alternativa de 3 pines (SWDIO/GND/SWCLK) y utiliza un conector JST 'SH' de pasos de 1,0 mm.





Tambien recomiendo el pinout realizado por el señor @Gadgetoid el cual puedes conocer aqui https://pico.pinout.xyz/


Interesante opción para Raspberry Pi Pico W con soporte para BASIC y wifi https://geoffg.net/webmite.html


Finalmente ten en cuenta que esta placa esta disponible en este blog, en la sección VENTAS.




También te puede interesar:


Nuevo Microcontrolador Raspberry Pi Pico

Nueva Raspberry Pi 400

Nueva Raspberry Pi 4 con 8 GB de RAM

Descarga Aquí Tus Wallpaper Raspberry Pi para PC

Compra Aquí tu Raspberry Pi 4 Modelo B 8GB

Carcasas Raspberri Pi que puedes imprimir en 3D

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