🛠 Gestion avancée des E/S sur Romu : Pads de débug et périphériques internes

Carte de développement USB compacte Bitmerse Romu (RP2354A) · avance · Apprenez à exploiter les pads de débug et les composants internes de la carte Romu pour créer des interfaces homme-machine personnalisées sans GPIO externes.

Objectifs

Ce tutoriel vise à maîtriser les entrées-sorties sur la carte Romu de Bitmerse, qui ne dispose pas de broches GPIO externes standard. Vous apprendrez à interagir avec les pads de débug pour le débogage série, à contrôler la LED RGB intégrée pour le retour visuel et à lire l'état des boutons physiques. Ces compétences sont essentielles pour développer des périphériques HID complexes comme des pavés macro ou des contrôleurs MIDI, où le feedback local est crucial malgré la compacité extrême (15,5 x 12 mm) de la carte basée sur le RP2354A.

Matériel nécessaire

Étapes

  1. Identification des pads de débug : Sur la face inférieure ou latérale de la Romu, localisez les pads marqués TX/RX ou SWD. Contrairement aux cartes classiques, vous ne pouvez pas souder de connecteurs standard sans risquer d'endommager la puce. Utilisez des pinces crocodiles fines ou des sondes pogo pour accéder temporairement à ces pads pour le débogage série (UART) ou le débogage par fil (SWD).

``python import machine import time # Exemple générique, vérifier les pins spécifiques Romu led_r = machine.PWM(machine.Pin(25)) # Vérifier le pin exact led_r.freq(1000) for duty in range(0, 1024, 10): led_r.duty_u16(duty) time.sleep(0.01) ``

  1. Configuration de la LED RGB : La LED RGB est câblée directement aux GPIO internes du RP2354A. Dans votre code, identifiez les broches correspondantes (souvent GP25 pour la LED utilisateur standard, mais vérifiez le schéma spécifique Romu). Pour un contrôle avancé, utilisez le PWM (Pulse Width Modulation) pour varier l'intensité et créer des dégradés de couleurs.

``python button = machine.Pin(20, machine.Pin.IN, machine.Pin.PULL_UP) # Pin à confirmer while True: if button.value() == 0: print("Bouton pressé") time.sleep(0.2) # Anti-rebond simple ``

  1. Lecture des boutons physiques : Les boutons sont généralement câblés en pull-up ou pull-down interne. Configurez les GPIO associés en mode entrée. Pour éviter les rebonds (debounce), implémentez un filtrage logiciel simple ou utilisez une interruption matérielle si disponible sur le RP2354A.
  1. Interaction avec les pads pour le débogage : Pour envoyer des logs série sans bloquer l'USB principal (utilisé pour le HID/MIDI), configurez l'UART sur les pads de débug. Cela permet de surveiller l'état interne du microcontrôleur pendant que la carte fonctionne comme périphérique USB.

Vérification

Pour aller plus loin

Explorez l'architecture hybride du RP2354A en déplaçant les tâches de lecture des boutons sur les cœurs RISC-V pour libérer les cœurs Arm pour la gestion USB HID complexe. Envisagez d'ajouter des composants externes soudés directement sur les pads si une extension est absolument nécessaire, en respectant les contraintes thermiques de la carte ultra-compacte.

Autres tutoriels pour cette carte

Exemples de code pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels