Leggere e memorizzare dati da RS232 con Arduino Mega 2560

il C5 del tuo schema, quello collegato al pin 2 del MAX

Grazie brunello, ma in teoria le polarità non son giuste? Solo che invece di andare dal pin 2 a GND lo dovrei mettere a 5V, no?

yes

credo non cambi nulla, dovrebbe funzionare in entrambi i modi

Ma un condensatore elettrolico polarizzato inversamente io so che si danneggia.... dov'è che sbaglio a capire?

Non e' polarizzato inversamente, dato che sul pin 2 del MAX e' presente una tensione di circa 10V

Avevi scritto di collegare il C5 col polo negativo a +5V. Domandavo per questo.

brunello:
il condensatore C5 ( ma dove sei andato a pescare quella configurazione del MAX232 ?? ) deve avere il polo negativo collegato al + 5 Volts.
(segue immagine)

vero, ma mi riferivo al C5 dello schema che ha usato e non dell'immagine che ho preso dal datasheet

brunello:
vero, ma mi riferivo al C5 dello schema che ha usato e non dell'immagine che ho preso dal datasheet

Ah. Ok.

Quindi ricapitolando, basta che colleghi il C5 del mio schema a 5V invece che a GND? Ma c'è un modo per controllare che il max232 funzioni correttamente?

Certamente, basta collegare insieme il TX e Rx dal lato che va' allo strumento, e quello che invii con il Serial monitor te lo rimanda indietro

Scusa brunello ma non ho mica capito... devo cortocircuitare Rx e Tx quindi pin 11 e 12 del max 232 e poi? Porta pazienza, sarà il sonno :slight_smile:

11 e 12 sono dal lato Atmega
Devi cortocircuitare il 13 e 14. In pratica i due fili che vanno allo strumento.
Poi, apri il SerialMonitor e i caratteri che digiti te li deve replicare.

scusa ma lui ha lo strumento connesso alla seconda seriale, il serial monitor funziona sulla prima seriale.
quindi il loopback non funziona

Provo! Grazie mille intanto!

@testato - Vero, hai perfettamente ragione. Non ci avevo fatto caso.

Si, per provare il circuito e' d'obbligo spostare il tutto sulla serial

Quindi lo sketch diventa il seguente?

void setup() {
  // initialize both serial ports:
  Serial.begin(1200);
}

void loop() {
 if (Serial.available()) {
    int inByte = Serial.read();
    Serial.write(inByte); 
  }
}

E collego Rx e Tx sulla seriale principale quindi pin 0 e 1?

Si
e ricorda di impostare 1200 baud sul serial monitor

Ciao a tutti,
allora, da dove cominciare... ho ricostruito il circuitino col max232, cambiando i collegamenti al C5. Dopodichè ho collegato il tutto ad Arduino come consigliato da brunello, cortocircuitando i pin 13 e 14. A serial monitor mi replica perfettamente ciò che digito.
Fatto ciò ho collegato Rx e Tx sui pin 18 e 19 di Arduino mega e ho lanciato lo sketch. Sembra leggere qualcosa, però sono caratteri che non significano nulla.
Il problema credo sia il dato che mi entra sull'arduino, ovvero una stringa ASCII di 32 caratteri. Devo in qualche modo "tradurla" prima di visualizzarla a serial monitor?

Questo è il dato che visualizzo.... poi una marea di spazi e di nuovo un dato simile...