multi-serie.ino
La gran ganancia del Nano Every sobre el clásico: cuatro UART de hardware. Este puente copia Serial1 (pines D0/D1) al puerto USB, útil para escuchar un GPS o módulo voz manteniendo el monitor serie libre para depurar.
Hardware
Un Arduino Nano Every (ATmega4809 a 20 MHz, mismo formato que el Nano, USB micro-B, chip UART separado, pines de 5 V, compatibilidad directa con el Nano clásico). Nano Every, aparato serie 3,3/5 V en D0/D1 (GPS, sensor serie), cable USB.
Cableado
TX del módulo→D0 (RX placa), RX del módulo→D1, masa común; el 4809 es lógica 5 V tolerante a 3,3 V.
Funcionamiento
Cada SerialX pilota un transceptor real del 4809: sin bit-banging. Los bucles available/read no bloqueantes hacen el puente en ambos sentidos a 9600 baudios.
Ejecución
Instala el paquete Arduino megaAVR Boards en el IDE, selecciona Arduino Nano Every y carga. El Serial USB está separado del Serial1 de hardware (pines RX/TX): el código serie clásico funciona tal cual.
Variantes
Asigna Serial2/Serial3 (pines E1RX/E1TX) a un segundo aparato para un concentrador de 3 vías o sube el ritmo para un módulo WiFi serie.
multi-serie.ino
// Le Nano Every (ATmega4809) possede 4 Uarts materiels.
// Serial = USB (vers le PC), Serial1 = broches D0/D1, etc.
void setup() {
Serial.begin(9600); // pont USB du board
Serial1.begin(9600); // D0=RX D1=TX : GPS, module voix...
Serial2.begin(9600); // broches dediees (voir schema) : E1RX/E1TX
Serial.println(F("Serial USB pret"));
Serial1.println(F("Hello sur D0/D1"));
}
void loop() {
// Pont serie : ce qui arrive sur Serial1 part sur l'USB
while (Serial1.available()) {
char c = Serial1.read();
Serial.write(c);
// boucle de dialogue simple sur l'uart annexe
if (c == 'H') Serial1.println(F("OK depuis le Nano Every"));
}
// Et inversement : les commandes tapees sur l'USB partent sur D0/D1
while (Serial.available()) {
Serial1.write(Serial.read());
}
}