M谩s recientemente, los chicos de la Fundaci贸n Raspberry presentaron una nueva placa, cuyo elemento principal es su propio SoC, el RP2040. El tablero es excelente, no dir谩s nada, pero, por supuesto, faltan algunas funciones.
Los desarrolladores externos han abordado este problema: - sobre la base del mismo sistema en un chip, crean sus propias placas con nuevas funciones. Uno de ellos es el Adafruit Feather RP2040. 驴Qu茅 hay de nuevo all铆?
Cogemos al toro por los cuernos
S铆, vayamos a las especificaciones t茅cnicas de inmediato. Y son as铆:
- 21 pines GPIO multifunci贸n a 3.3V.
- 2 puertos SPI.
- 2 I2C.
- 2 UART.
- 4 ADC de 12 bits.
- 16 canales PWM controlados.
- 8 m谩quinas de estado de E / S programables (PIO) para admitir perif茅ricos personalizados.
- Posibilidad de desoldar sobre la placa portadora.
- Conector WS2812 Neopixel STEMMA QT incorporado.
- Carga de bater铆a incorporada y soporte para bater铆as LiPo y Lilon, USB tipo C intercambiable en caliente
En cuanto al sistema en un chip, es un chip ARM Cortex M0 + de doble n煤cleo con una frecuencia de n煤cleo de hasta 133 MHz, 264 KB de SRAM y 8 MB de memoria flash.
Adafruit Feather RP2040: - c贸mo se hace
Si est谩 familiarizado con la familia Adafruit Feather, a primera vista de la nueva placa encontrar谩 las caracter铆sticas de dise帽o comunes a Feather. Pertenecer a este ecosistema es otra ventaja de la placa, ya que es compatible con toda una gama de sistemas de este desarrollador, incluido FeatherWings.
El tama帽o de la placa es 50,8x22,8 mm, que es solo un poco m谩s grande que el "frambuesa" original, cuyas dimensiones son 51x21 mm.
Por cierto, hay menos pines GPIO aqu铆 que en la Raspberry - 21 en lugar de 40. El pinout es t铆pico de Feather. En ambos lados del tablero, cada uno de los pines est谩 registrado, por lo que no deber铆a haber problemas de comprensi贸n.
Los pines incluyen 4 ADC de 12 bits, uno m谩s que el Pico. M谩s: dos juegos de l2C, dos SPI y dos UART. Se pueden usar 16 pines para PWM (Modulaci贸n de ancho de pulso), LED y salida de audio.
Hay un solo LED rojo a bordo de la placa para monitorear el modo de operaci贸n del sistema. La memoria flash es cuatro veces mayor que la de la Raspberry Pi Pico: 8 MB en lugar de 2 MB. Si usa CircuitPython, obtiene 7 MB de espacio de archivo para guardar c贸digo y bibliotecas.
Las tablas de plumas siempre tienen caracter铆sticas adicionales, y esta tabla no es una excepci贸n. A la izquierda est谩 el conector JST para conectar bater铆as de iones de litio y pol铆meros de litio compatibles. Cuando se conecta a trav茅s de USB, la corriente de carga es de 200 mA.
Las bater铆as se pueden cambiar sin apagar, en modo "caliente", que es importante para muchos proyectos. En una prueba realizada por Tom's Hardware mientras procesaba el c贸digo, la alimentaci贸n del USB se apag贸, pero la placa continu贸 ejecutando el c贸digo.
Otra posibilidad es la presencia del conector STEMMA QT, que se utiliza para conectar r谩pidamente componentes compatibles. Esta es una gran opci贸n para facilitar el trabajo con la placa.
Y luego hay dos botones adicionales. BOOTSEL, que se utiliza para configurar la placa o actualizar software nuevo. Y RESET, que, l贸gicamente, permite reiniciar el sistema sin tener que apagar la alimentaci贸n.
Programaci贸n con Adafruit Feather RP2040
Dado que la placa es parte del ecosistema Adafruit, es natural que los desarrolladores sugieran usar CircuitPython, su propia versi贸n de MicroPython, para trabajar con ella. Puede descargar y actualizar el software sin mucha dificultad.
CircuitPython tiene ventajas sobre MycroPython, incluida la compatibilidad con USB HID. En consecuencia, la placa se muestra como una memoria USB cuando se conecta. Puede utilizar code.py para generar c贸digo. Pero es mejor trabajar con editores como Visual Studio Code, Thonny o Mu. Las bibliotecas est谩n disponibles para descargar desde el sitio web de la compa帽铆a y vale la pena usarlas porque facilitan mucho las cosas.
Se utiliz贸 Visual Studio Code para la prueba. Con su ayuda, los probadores escribieron un script para controlar el LED incorporado para monitorear el modo de operaci贸n de la placa. Tambi茅n se pueden implementar proyectos mucho m谩s complejos. Los mismos probadores escribieron un script para controlar los LED Neopixel conectados.
Conexiones STEMMA QT e I2C
Tambi茅n se prob贸 el conector STEMMA QT integrado en la placa. Se conect贸 una placa de sensor capacitivo MPR121 al Feather RP2040. Luego, la biblioteca CircuitPython se instal贸 en la placa. Luego, los evaluadores escribieron un c贸digo para detectar cu谩ndo se toc贸 el contacto. Todo funcion贸 de inmediato y sin problemas.
Entonces comenz贸 una nueva etapa: conectar la pantalla LCD I2C HD44780 con una resoluci贸n de 16 x 2 caracteres. Y aqu铆 ya aparecieron los problemas: la pantalla no se pod铆a conectar sin resistencias pull-up en ambos pines l2C. La placa no tiene sus propias resistencias, por lo que debe instalarlas adicionalmente o utilizar la placa STEMMA QT con ellas.
En general, todo sali贸 bien. Hubo algunos problemas, pero todo esto se pudo solucionar. Por cierto, un punto importante: ahora la placa no funciona con C o MicroPython. Sin embargo, CircuitPython se ejecuta sin problemas, por lo que es posible que no se necesiten funciones adicionales.
Hay muchas cosas que puede conectar a la placa: el ecosistema Adafruit incluye una pantalla OLED, coprocesador Wi-Fi, matriz LED RGB, joystick y un teclado LCD QWERTY.
驴Para qu茅 se puede utilizar la tabla?
Para todo, desde peque帽os proyectos dom茅sticos hasta sistemas IoT m谩s o menos a gran escala, dispositivos exteriores, etc. El factor de forma de la placa es conveniente, el sistema se puede soldar f谩cilmente a una placa portadora.
En el residuo seco
Si tiene la suerte de ver este tablero en oferta, aseg煤rese de comprarlo. Es una excelente alternativa a la "malinka" oficial, pero con una serie de ventajas.
El 煤nico inconveniente de la placa es que funciona con elementos de su propio ecosistema. El sistema no funciona con la mayor铆a de los accesorios Pico. No funcionar谩, por ejemplo, conectarlo al Pico Explorer de Pimoroni con 40 pines.
Pero hay muchas m谩s ventajas que desventajas. Es una placa vers谩til con muchos casos de uso.