Plus récemment, les gars de la Raspberry Foundation ont présenté une nouvelle carte, dont l'élément principal est son propre SoC, le RP2040. La planche est excellente, vous ne direz rien, mais, bien sûr, certaines fonctionnalités font défaut.
Des développeurs tiers se sont attaqués à ce problème: - sur la base du même système sur puce, ils créent leurs propres cartes avec de nouvelles fonctions. L'un d'eux est l'Adafruit Feather RP2040. Quoi de neuf là-bas?
Nous prenons le taureau par les cornes
Oui, passons tout de suite aux spécifications techniques. Et ils sont comme ça:
- 21 broches GPIO multifonction à 3,3 V.
- 2 ports SPI.
- 2 I2C.
- 2 UART.
- 4 ADC 12 bits.
- 16 canaux PWM contrôlés.
- 8 machines à états d'E / S programmables (PIO) pour prendre en charge des périphériques personnalisés.
- Possibilité de dessouder sur le plateau porteur.
- Connecteur WS2812 Neopixel STEMMA QT intégré.
- Charge de batterie intégrée et prise en charge des batteries LiPo et Lilon, USB Type C. remplaçable à chaud
Quant au système sur puce, il s'agit d'une puce ARM Cortex M0 + bicœur avec une fréquence de cœur allant jusqu'à 133 MHz, 264 Ko de SRAM et 8 Mo de mémoire flash.
Adafruit Feather RP2040: - comment c'est fait
Si vous connaissez la famille Adafruit Feather, vous trouverez au premier coup d'œil sur la nouvelle planche les caractéristiques de conception communes à Feather. L'appartenance à cet écosystème est un autre avantage de la carte, car elle est compatible avec toute une gamme de systèmes de ce développeur, y compris FeatherWings.
La taille de la carte est de 50,8x22,8 mm, ce qui n'est que légèrement plus grand que le "framboise" d'origine, dont les dimensions sont de 51x21 mm.
Au fait, il y a moins de broches GPIO ici que dans le Raspberry - 21 au lieu de 40. Le brochage est typique de Feather. Des deux côtés de la carte, chacune des broches est enregistrée, il ne devrait donc y avoir aucun problème de compréhension.
Les broches comprennent 4 ADC 12 bits, un de plus que le Pico. Plus - deux ensembles de l2C, deux SPI et deux UART. 16 broches peuvent être utilisées pour PWM (Pulse Width Modulation), LED et sortie audio.
Il y a une seule LED rouge à bord de la carte pour surveiller le mode de fonctionnement du système. La mémoire flash est quatre fois supérieure à celle du Raspberry Pi Pico - 8 Mo au lieu de 2 Mo. Si vous utilisez CircuitPython, vous disposez de 7 Mo d'espace fichier pour enregistrer le code et les bibliothèques.
Les planches à plumes ont toujours des fonctionnalités supplémentaires, et cette planche ne fait pas exception. Sur la gauche se trouve le connecteur JST pour connecter des batteries Lithium Ion et Lithium Polymère compatibles. Lorsqu'il est connecté via USB, le courant de charge est de 200 mA.
Les batteries peuvent être changées sans arrêt, en mode «chaud», ce qui est important pour de nombreux projets. Dans un test effectué par Tom's Hardware lors du traitement du code, l'alimentation USB a été coupée, mais la carte a continué à exécuter le code.
Une autre possibilité est la présence du connecteur STEMMA QT, qui permet de connecter rapidement des composants compatibles. C'est juste une excellente option pour faciliter le travail avec la carte.
Et puis il y a deux boutons supplémentaires. BOOTSEL, qui est utilisé pour configurer la carte ou flasher un nouveau logiciel. Et RESET, qui, logiquement, vous permet de redémarrer le système sans avoir à couper l'alimentation.
Programmation avec Adafruit Feather RP2040
Étant donné que la carte fait partie de l'écosystème Adafruit, il est naturel que les développeurs suggèrent d'utiliser CircuitPython, leur propre version de MicroPython, pour travailler avec lui. Vous pouvez télécharger et flasher le logiciel sans trop de difficultés.
CircuitPython présente des avantages par rapport à MycroPython, notamment la prise en charge USB HID. En conséquence, la carte s'affiche sous forme de clé USB lorsqu'elle est connectée. Vous pouvez utiliser code.py pour générer du code. Mais il est préférable de travailler avec des éditeurs comme Visual Studio Code, Thonny ou Mu. Les bibliothèques sont disponibles en téléchargement sur le site Web de l'entreprise et valent la peine d'être utilisées car elles facilitent grandement les choses.
Visual Studio Code a été utilisé pour le test. Avec son aide, les testeurs ont écrit un script pour contrôler la LED intégrée pour surveiller le mode de fonctionnement de la carte. Des projets beaucoup plus complexes peuvent également être mis en œuvre. Les mêmes testeurs ont écrit un script pour contrôler les LED Neopixel connectées.
Connexions STEMMA QT et I2C
Le connecteur STEMMA QT intégré de la carte a également été testé. Une carte de capteur capacitif MPR121 y a été connectée au Feather RP2040. Ensuite, la bibliothèque CircuitPython a été installée sur la carte. Ensuite, les testeurs ont écrit un code pour détecter le moment où le contact a été touché. Tout a fonctionné tout de suite et sans aucun problème.
Puis une nouvelle étape a commencé: connecter l'écran LCD I2C HD44780 avec une résolution de 16 x 2 caractères. Et ici, les problèmes sont déjà apparus: l'écran ne pouvait pas être connecté sans résistances de rappel sur les deux broches l2C. La carte n'a pas ses propres résistances, vous devez donc soit les installer en plus, soit utiliser la carte STEMMA QT avec elles.
En général, tout s'est avéré bon. Il y avait des problèmes, mais tout cela pouvait être résolu. À propos, un point important - maintenant, la carte ne fonctionne pas avec C ou MicroPython. Cependant, CircuitPython fonctionne correctement, de sorte que des fonctionnalités supplémentaires peuvent ne pas être nécessaires.
Il y a beaucoup de choses que vous pouvez brancher sur la carte: l'écosystème Adafruit comprend un écran OLED, un coprocesseur Wi-Fi, une matrice LED RVB, un joystick et un clavier LCD QWERTY.
À quoi peut servir la carte?
Pour tout, des petits projets domestiques aux systèmes IoT à plus ou moins grande échelle, en passant par les appareils extérieurs, etc. Le facteur de forme de la carte est pratique, le système peut être facilement soudé sur une carte de support.
Dans le résidu sec
Si vous avez la chance de voir cette planche en vente, assurez-vous de l'acheter. C'est une excellente alternative au "malinka" officiel, mais avec un certain nombre d'avantages.
Le seul inconvénient de la carte est qu'elle fonctionne avec des éléments de son propre écosystème. Le système ne fonctionne pas avec la plupart des accessoires Pico. Cela ne fonctionnera pas, par exemple, pour le connecter à Pico Explorer de Pimoroni avec 40 broches.
Mais il y a beaucoup plus d'avantages que d'inconvénients. C'est une carte polyvalente avec de nombreux cas d'utilisation.