Go Down

Topic: Leggere sensore in 232 (Read 70 times) previous topic - next topic

Willy_80

Ciao a tutti, mi hanno dato un distanziometro laser che comunica in RS232 e la lista dei vari comandi da fornirgli per eseguire la lettura dei valori che dovrebbe restituire.
Purtroppo è un sensore cinese e la documentazione scarseggia molto e tralaltro io non sono un grande esperto in materia.
Ho collegato i pin RX/TX del sensore ai pin RX1/TX1 del mio arduino mega e ho fatto uno sketch che invia il comando di lettura e visualizza a monitor la risposta del sensore, quando provo a leggere il valore il sensore per 2/3 volte mi restituisce lo stesso comando che fornisco io e poi non da più segno di vita, ovviamente ora nascono i dubbi, ma quello che vorrei chiedere a voi è usando i pin RX1/TX1 di arduino sto comunicando veramente col protocollo RS232 o serve uno shield?

A seguire lo sketch

Code: [Select]

char incomingByte = 0; // for incoming serial data

void setup() {
Serial.begin(9600);
Serial1.begin(115200);
}

void loop() {

 if (Serial.available() > 0) {
    incomingByte = Serial.read();
    if (incomingByte=='3'){
      Serial.println("");
      Serial.println("3 = <Dobiy>sdg");//3 single read
      Serial1.println("sdg");
    }
 }


 if (Serial1.available() > 0) {
    incomingByte = Serial1.read();
    Serial.print(incomingByte);
 }


}

gpb01

#1
Jul 21, 2019, 09:23 am Last Edit: Jul 21, 2019, 09:24 am by gpb01
Se è una vera RS232 hai bello che bruciato Arduino !  :o

La RS232 ha segnali elettrici completamente viversi dalla porta seriale Arduino che è una TTL ...



... devi scoprire ESATTAMENTE le caratteristiche della porta RS232 del tuo "distanzimetro" e vedere poi che tipo di interfaccia interporre (normalmente basata su un max232).

Guglielmo
Search is Your friend ... or I am Your enemy !

Go Up