Introduction
Bienvenue dans un autre tutoriel Velxio ! Aujourd’hui, nous construisons un test Serial Echo pour le Raspberry Pi Pico (RP2040). Ce projet est parfait pour les débutants qui souhaitent comprendre comment fonctionne la communication série sur les microcontrôleurs. Vous apprendrez à envoyer et recevoir des données via UART, à ajouter un indicateur visuel avec une LED, et à implémenter un simple timer de heartbeat.

Présentation du Circuit
Le circuit est d’une simplicité agréable. Nous n’avons besoin que de deux composants :
- Raspberry Pi Pico (le cerveau)
- LED jaune (indicateur visuel de l’activité série)
Câblage
- Connectez l’anode (A) de la LED jaune à la broche TX du Pico. La broche TX est utilisée pour la transmission série, donc chaque fois que le Pico envoie des données, la LED clignotera.
- Connectez la cathode (C) de la LED à GND (n’importe quelle broche de masse du Pico).
C’est tout ! La LED est câblée en série avec la ligne TX, donc elle s’allume lorsque le Pico transmet. Cela vous donne une confirmation visuelle que les données série circulent.

Explication du Code
Plongeons dans le code. Ouvrez l’éditeur Velxio et vous verrez le sketch suivant :
// Raspberry Pi Pico — Serial Echo Test
// Echoes received characters and prints a heartbeat every 2 seconds
void setup() {
Serial.begin(115200);
delay(500);
Serial.println("=== Pico Serial Echo ===");
Serial.println("Type something and press Enter.");
Serial.println();
}
unsigned long lastHeartbeat = 0;
void loop() {
// Echo any incoming characters
while (Serial.available()) {
char c = Serial.read();
Serial.print("Echo: ");
Serial.println(c);
}
// Heartbeat every 2 seconds
if (millis() - lastHeartbeat >= 2000) {
lastHeartbeat = millis();
Serial.print("[Heartbeat] Uptime: ");
Serial.print(millis() / 1000);
Serial.println("s");
}
}
Comment ça fonctionne
setup(): Initialise la communication série à 115200 bauds. Après un court délai, il affiche un message de bienvenue.loop(): Deux tâches principales :- Echo : Vérifie si des données sont disponibles sur le port série. Si oui, il lit un caractère et le renvoie avec le préfixe “Echo:”.
- Heartbeat : Toutes les 2000 millisecondes (2 secondes), il affiche un message de heartbeat indiquant la durée de fonctionnement du système en secondes.
La variable lastHeartbeat garde la trace du dernier moment où le heartbeat a été affiché, en utilisant millis() pour un timing non bloquant.
Concepts Clés
Communication Série (UART)
L’UART (Universal Asynchronous Receiver/Transmitter) est un protocole série simple. La broche TX du Pico envoie des données, et la broche RX en reçoit. Dans cet exemple, nous n’utilisons que TX pour la sortie, mais la fonction d’écho utilise également RX (via le Moniteur Série).
Timing Non Bloquant avec millis()
Au lieu d’utiliser delay(), qui met en pause tout le programme, nous utilisons millis() pour vérifier le temps écoulé. Cela permet à la boucle d’écho de s’exécuter en continu tout en affichant le heartbeat à intervalles réguliers.
LED comme Indicateur Visuel
En connectant la LED à la broche TX, nous obtenons un visuel en temps réel de l’activité série. Chaque fois que le Pico envoie un caractère, la LED clignote brièvement.
Pièges Courants et Conseils de Débogage
- Décalage de débit en bauds : Assurez-vous que le Moniteur Série est réglé sur 115200 bauds. Si vous voyez des caractères illisibles, vérifiez le débit en bauds.
- La LED ne clignote pas : Vérifiez la polarité de la LED (anode vers TX, cathode vers GND). Vérifiez également que le Pico transmet bien (par exemple, tapez quelque chose dans le Moniteur Série).
- Pas d’écho : Assurez-vous d’envoyer des données à la broche RX du Pico. Dans Velxio, le Moniteur Série gère cela automatiquement.
- Le heartbeat ne s’affiche pas : Vérifiez que
lastHeartbeatest déclaré commeunsigned longet que la logique de comparaison est correcte.

Extensions Suggérées
Une fois que l’écho de base fonctionne, essayez ces améliorations :
- Ajouter une LED RX : Connectez une autre LED à la broche RX pour indiquer quand des données sont reçues.
- Analyse de commandes : Au lieu de simplement renvoyer l’écho, interprétez des commandes comme “LED ON” ou “LED OFF” pour contrôler une LED externe.
- Plusieurs débits en bauds : Permettez à l’utilisateur de changer le débit en bauds via une commande série.
- Journalisation dans la console : Stockez les données reçues dans un tampon et affichez-les sur demande.

Appel à l’Action
Prêt à essayer par vous-même ? Ouvrez l’exemple en direct sur Velxio et commencez à expérimenter : Pico Serial Echo sur Velxio. Vous pouvez modifier le code, changer la couleur de la LED ou ajouter de nouveaux composants. Bon bricolage !