Arduino nano con libreria SoftwareSerial nessuna ricezione

Sto usando la libreria SoftwareSerial su arduino nano.
Ho caricato il programma di test degli esempi

#include <SoftwareSerial.h>

SoftwareSerial mySerial(10, 11); // RX, TX

void setup() {
  // Open serial communications and wait for port to open:
  Serial.begin(57600);
  while (!Serial) {
    ; // wait for serial port to connect. Needed for native USB port only
  }


  Serial.println("Goodnight moon!");

  // set the data rate for the SoftwareSerial port
  mySerial.begin(4800);
  mySerial.println("Hello, world?");
}

void loop() { // run over and over
  if (mySerial.available()) {
    Serial.write(mySerial.read());
  }
  if (Serial.available()) {
    mySerial.write(Serial.read());
  }
}

Chiudendo Tx su Rx non ho alcuna ricezione.
Però controllando con un oscilloscopio il pin 11(Tx) ho il segnale di uscita.

Tra l'altro ho due dispositivi, basati su arduino nano, che usano la stessa libreria e gli stessi pins, che sono regolarmente funzionanti da quasi 5 anni.
Non riesco a capire cosa ci può essere di differente se non la versione più aggiornata della libreria SoftwareSerial.

Ringrazio anticipatamente tutti coloro che vorranno darmi un aiuto.

Saluti
Livio

Ci sono mille varianti del Nano, nello specifico tu quale hai?

La SoftwareSerial per la ricezione usa il "pin change interrupt" che però è strettamente dipendente dal tipo di MCU usata.

Ringrazio per la risposta.
Il nano che sto usando è un clone, ha il bootloader di tipo vecchio.
Comunque lo Hw è identico agli altri due che funzionano da quasi 5 anni, con l'unica variante della versione Sw della libreria SoftwareSerial.
Farò un'ulteriore prova se riesco atrovare la vecchia versione di questa libreria.

Beh intanto "pulisci" il tuo primo post, perché hai fatto qualche copia/incolla dal tuo precedente, ma con una serie di "sporcizie" all'inizio.

Per venire al problema, non ho capito cosa intendi con "Chiudendo Tx su Rx". Puoi spiegare meglio sia le connessioni (quali pin hai connesso, e con quali?) sia le prove che hai fatto? Puoi magari anche postare il link diretto all'esatto Arduino Nano che hai, così capiamo meglio quale tipo di Nano stai usando? E come hai impostato la board sull'IDE?

Semplicemente si fa un ponte tra tx e rx; in qusto casi si fa un corto circuito tra il pin 11 (tx) ed il pin 10(rx).
Le prova conssite nen lanciare il programma e visualizzare la finestra del serial monitor dell'IDE.
Dopo la scritta relativa alla prima Serial.println: "Goodnight moon!" Sul monitor non compare altro.
Stessa cosa se, usando 2 PC, con duie IDE e due arduino nano, con 2 sketch identici, connettoil 10 di con lo 11 dell'altro e lo 11 con il qo dell'altro. Sui due monitor comare solo il primo messaggio e poi nulla.

Ho ancora un Arduino Nano, più tardi magari provo a capire collegandolo e caricando il tuo sketch.

Ma nel frattempo per favore pulisci il tuo primo post da questa roba che si trova in testa (prima di "Sto usando la libreria SoftwareSerial..."):

È già stata rimossa da quando ho risposto

Io continuo a vederla. Per capire se dipende dal forum o dal tuo browser, puoi postare uno screenshot del tuo post #1?

Beh, il problema è proprio quello, non si può fare un loopback con la SoftwareSerial perché anche in documentazione è scritto (in pratica è come se fosse half-duplex):

Limitations of This Library

SoftwareSerial library has the following known limitations:

  • It cannot transmit and receive data at the same time.

Quindi non puoi semplicemente inviare dati su mySerial e aspettarti di leggerli indietro.

Io penso che tu debba provare collegando due Nano (ovviamente incrociando TX ed RX), oppure passare ad usare la UART (quindi pin 0 e 1, ma perdendo la possibilità di collegare un PC, oltre a doverli disconnettere quando carichi uno sketch).

Forse non ha letto bene il mio precedente messaggio.

In quanto al primo messaggio l'ho ripulito fin da prima.
Se continui a vederlo forse è un problema della cache del tuo browser
Saluti

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.