Ne serait-il pas formidable de pouvoir afficher des images et des graphiques d'un microcontrôleur directement sur un moniteur ou un téléviseur HDMI ? Nous le pensons ! Ainsi, les gens d'Adafruit ont conçu ce RP2040 Feather doté d'une sortie vidéo numérique (également appelée DVI) qui fonctionnera avec n'importe quel moniteur ou écran HDMI. Notez qu'il ne fait pas d'audio, juste des graphiques !
C'est comme si nous assemblions une carte Feather RP2040 et un DVI Breakout. Vous obtenez toutes les broches à utiliser sur la plume, le support de batterie Lipoly, l'alimentation/les données USB C, le NeoPixel intégré, 8 Mo de FLASH pour stocker le code et les fichiers, puis avec les 8 broches inutilisées, une sortie DVI utilisable CircuitPython ou avec le Librairie PicoDVI sur Arduino ou Pico SDK
Sur Arduino, c'est ce que nous préconisons, nous utilisons notre fork de PicoDVI pour créer un frame buffer interne de 320x240 ou 400x240 pixels 16 bits qui est ensuite effacé en continu sous forme de vidéo numérique de 640x480 ou 800x480 doublé en pixels. Tout ce que vous « dessinez » dans la mémoire tampon d'image interne apparaît instantanément sur l'affichage numérique dans des couleurs vives. Étant donné que la bibliothèque est une sous-classe d'AdafruitGFX, elle sera familière aux personnes qui ont déjà utilisé nos écrans TFT ou OLED.
Il existe également une prise en charge de la sortie DVI dans CircuitPython à partir de 8.1.0b2, mais sachez qu'il utilise beaucoup de mémoire, donc en particulier si vous souhaitez ajouter d'autres accessoires et bibliothèques matérielles, vous devrez peut-être le configurer pour être un écran monochrome avec moins de mémoire. .
Notez que la génération vidéo DVI utilise un cœur complet, à la fois des PIO et 150K (320x240) ou 190K (400x240) de SRAM. C'est un peu épuisé, alors soyez conscient des limitations de ressources restantes. CEC et Utility ont été décomposés. La broche de détection d'enfichage à chaud est également disponible sur l'extrémité de l'en-tête à 16 broches. Lisez cette épingle pour savoir quand un écran a été connecté !
Double cœur Cortex M0+ RP2040 32 bits fonctionnant à ~125 MHz à une logique et une alimentation de 3,3 V
264 Ko de RAM
Puce SPI FLASH de 8 Mo pour le stockage des fichiers et le stockage du code CircuitPython/MicroPython. Pas d'EEPROM
21 broches GPIO avec les fonctionnalités suivantes :
Quatre ADC 12 bits (un de plus que Pico)
Deux périphériques I2C, deux SPI et deux UART, nous en étiquetons un pour l'interface "principale" dans les emplacements Feather standard
16 sorties PWM - pour servos, LED, etc.
Les 8 GPIO numériques "non ADC/non périphériques" sont consécutifs pour une compatibilité PIO maximale
Chargeur lipoly 200 mA+ intégré avec voyant d'état de charge
LED rouge de la broche #13 pour un usage général clignotant
RGB NeoPixel pour une indication en couleur.
Connecteurs de capteur
Bouton de réinitialisation et bouton de sélection du chargeur de démarrage pour des redémarrages rapides (pas de débranchement-rebranchement pour relancer le code)
Broche d'alimentation/d'activation 3,3 V
Le connecteur USB de type C vous permet d'accéder au chargeur de démarrage USB ROM intégré et au débogage du port série
Caractéristiques de la puce RP2040 :
Double ARM Cortex-M0+ à 133 MHz
SRAM sur puce de 264 Ko dans six banques indépendantes
Prise en charge jusqu'à 16 Mo de mémoire flash hors puce via un bus QSPI dédié
Contrôleur DMA
Barre transversale AHB entièrement connectée
Périphériques interpolateur et diviseur entier
LDO programmable sur puce pour générer une tension centrale
2 PLL sur puce pour générer des horloges USB et centrales
30 broches GPIO, dont 4 peuvent être utilisées comme entrées analogiques
Périphériques :
2 UART
2 contrôleurs SPI
2 contrôleurs I2C
16 canaux PWM
Contrôleur USB 1.1 et PHY, avec prise en charge de l'hôte et de l'appareil
8 machines d'état PIO