🛠 Gérer les E/S sur la carte Romu
Objectifs
Ce tutoriel vise à comprendre l'architecture des entrées-sorties de la carte Romu. Contrairement aux cartes classiques, la Romu ne possède pas de connecteurs GPIO standards. Nous allons explorer comment accéder aux ressources disponibles : la LED RGB intégrée et les pads de débogage. L'objectif est de maîtriser le contrôle de la sortie lumineuse et d'appréhender les limitations matérielles pour concevoir des périphériques USB compacts.
Matériel nécessaire
- Une carte Romu de Bitmerse.
- Un ordinateur avec un port USB-A disponible.
- Un logiciel de développement compatible RP2354 (comme MicroPython ou C/C++ SDK).
- Un pont USB-to-UART ou un débogueur compatible SWD (optionnel pour les pads).
Étapes
- Configuration de l'environnement : Installez le SDK Raspberry Pi Pico adapté au RP2354. Connectez la Romu directement à un port USB-A de votre ordinateur. La carte est reconnue comme un périphérique USB natif.
- Accès à la LED RGB : La LED RGB est le principal indicateur de sortie. Dans votre code, identifiez les broches internes associées aux canaux Rouge, Vert et Bleu. Par exemple, en MicroPython :
from machine import Pin
import time
# Exemple générique : les broches internes doivent être vérifiées via le schéma
# Supposons les broches internes 25 (R), 26 (G), 27 (B) pour l'exemple
led_r = Pin(25, Pin.OUT)
led_g = Pin(26, Pin.OUT)
led_b = Pin(27, Pin.OUT)
def set_color(r, g, b):
led_r.value(not r) # Logique active low courante
led_g.value(not g)
led_b.value(not b)
- Utilisation des pads de débogage : Les pads de débogage (SWDIO, SWCLK, GND, 3V3) sont destinés au débogage matériel. Ils ne sont pas conçus pour des E/S rapides ou des capteurs standard. Pour lire un état, vous devez souder des fils fins ou utiliser des sondes pogo. Ne tentez pas d'y connecter des composants lourds.
- Boucle de contrôle : Implémentez une boucle qui change la couleur de la LED pour confirmer le fonctionnement. Cela valide la chaîne de compilation et le chargement du code sur le RP2354.
while True:
set_color(1, 0, 0) # Rouge
time.sleep(0.5)
set_color(0, 1, 0) # Vert
time.sleep(0.5)
set_color(0, 0, 1) # Bleu
time.sleep(0.5)
- Compilation et Flash : Compilez votre script et transférez-le sur la carte. La Romu utilise un bootloader spécifique. Assurez-vous que le fichier .uf2 est correctement copié sur le lecteur de masse USB.
Vérification
Observez la LED RGB. Elle doit changer de couleur selon la séquence programmée. Si la LED reste éteinte, vérifiez l'alimentation via le port USB et la validité des broches internes utilisées dans le code. L'absence de réponse indique souvent une erreur de compilation ou un mauvais mapping des broches.
Pour aller plus loin
Pour ajouter des entrées, vous devez utiliser les boutons physiques présents sur la carte ou concevoir un circuit externe connecté aux pads de débogage avec des résistances de pull appropriées. Étudiez les bibliothèques USB HID pour transformer ces signaux en événements clavier ou souris, exploitant ainsi la vocation principale de la Romu.
Autres tutoriels pour cette carte
Exemples de code pour cette carte
romu-rgb-led-pwm.inoC/C++ (Pico SDK)romu-hid-keyboard-macro.inoC/C++ (TinyUSB)romu-internal-flash-storage.inoC/C++ (Pico SDK)romu-midi-controller.inoC/C++ (TinyUSB)romu-secure-boot-check.inoC/C++ (Pico SDK)romu-hid-custom-keyboard.inoC++ (Arduino)