🛠 Pont Serial vers Serial1 : passerelle USB vers TTL

Arduino Micro · intermediaire · Schéma : IMG-micro-intermediaire-2-micro-pont-serial-serial1.svg — Arduino Micro en passerelle série : le port USB (Serial, CDC) relié logiquement à l'UART TTL des broches 0 (RX) et 1 (TX) vers un module externe, avec des flèches dans les deux sens

Objectifs

Construire une passerelle série : tout ce qui arrive sur le port USB (Serial, CDC) est recopié sur l'UART TTL Serial1 (broches 0/1), et inversement. Utile pour dialoguer avec un GPS, un module GSM ou un autre microcontrôleur 5 V depuis le Moniteur série.

Matériel

Code complet

// Passerelle bidirectionnelle USB CDC (Serial) <-> UART TTL (Serial1, broches 0/1).
// Memo bug du noyau AVR #267 : sur le port USB 32U4, Serial.available
// ne remonte que 0 ou 1 octet a la fois ; lire en continu, pas par blocs.
void setup {
  Serial.begin(9600);    // USB CDC : ce que voit le Moniteur série
  Serial1.begin(9600);   // UART matériel sur broches 0 (RX) / 1 (TX)
  while (!Serial) {}     // attendre l'enumeration USB
  Serial.println("Passerelle active : USB <-> broches 0/1");
}

void loop {
  while (Serial.available > 0)    // hote USB -> module TTL
    Serial1.write(Serial.read);
  while (Serial1.available > 0)   // module TTL -> Moniteur série
    Serial.write(Serial1.read);
}

Vérification attendue

Ce que vous tapez dans le Moniteur série sort sur la broche 1 (TX) et s'affiche sur le terminal relié au module ; ce que le module envoie sur la broche 0 (RX) apparaît dans le Moniteur. Une boucle de test broche 1 vers broche 0 (fil direct) fait apparaître chaque caractère tapé.

Erreurs fréquentes

Autres tutoriels pour cette carte

Exemples de code pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels