Lire des valeurs de pression d'un instrument en série via RS-232

Bonjour,

Je dois lire des valeurs de pression d'un lecteur de pression qui se nomme variant XGS-600.

On utilise le port RS-232 de l'instrument, on passe par un shield rs-232 pour brancher le cable sur la carte.

Et voici mon programme :

int rx=0;
int tx=1;
int a;
int b;


void setup() {
  Serial.begin(9600);
  b=Serial.print('#aa02cn');
  digitalWrite(b,tx);
  
 }

void loop(){
 a=digitalRead(rx);
 Serial.print(a);
}

Le problème c'est qu'il ne marche pas.

donc j'aurais plusieurs questions : avec ce shield est ce qu'on utilise les ports 0 et 1 de la carte UNO pour communiquer avec l'instrument ?

Est- ce que la commande ("aa02cn) donnée par la doc de l'instrument marche pour arduino pour demander la lecture de la pression car c'est écrit commande série je pense que c'est ça ?

Et est ce que j'ai pas oublié quelque chose dans mon programme qui fait que ca ne marche pas ?

Merci beaucoup pour vos futures réponses.

bonjour,
lien du shield
projet école?

as tu lu la doc du shield?

  b=Serial.print('#aa02cn');

kezako cette commande?

Bonjour,
Un minimum de recherche devra être fait avec les mots clés serial arduino communication.

Rebonjour,

non je n'ai pas de doc pour le shield RS-232 j'ai seulement la doc de l'instrument.

b=Serial.print('#aa02cn');

cette commande normalement sert a envoyer une demande de lecture de la pression à l'appareil. Pour qu'il puissent m'envoyer la pression. Comme indiqué dans sa doc que j'ai mis en pièce jointe.
Voici le lien du shield :http://cpc.farnell.com/cutedigi/arduino-rs232-shield-d30/arduino-shield-rs232/dp/SC13307 .

J'ai effectué les recherches mais aucune réponses avec la communication avec un instrument de mesures qui n'est pas fait pour arduino.

Voici un lien pour apprendre l'utilisation du port série avec Arduino.

http://eskimon.fr/104-arduino-302-envoyer-recevoir-des-donnees-voie-serie

votre problème vient de là.

le rx et tx sont sur les pins 0 et 1 donc tu ne peux avoir de sortir serial

la seule chose si tu veux une sortie serie dans la console il faut déporter la carte avec des fils et utiliser softwareserial par exemple.

et je persiste a dire que ca n'a ni queue ni tête ceci

 b=Serial.print('#aa02cn');
  digitalWrite(b,tx);

ainsi que

a=digitalRead(rx);

aides toi du tuto ICI en modifiant les pins déportées

Ok merci je vais essayer ça

merci

Bonsoir

Et est ce que j'ai pas oublié quelque chose dans mon programme qui fait que ca ne marche pas ?

Régler les problèmes hardware et prendre le temps d'étudier attentivement la notice pour envoyer la bonne commande :wink:

Que représente aa dans la chaîne envoyée ? une adresse (ça a du sens en RS485)
Quelle adresse ? 00 apparement pour la RS232(cf page 67)

La commande #aa02cn n'est pas valide puisque l'adresse aa ne peut prendre une valeur supérieure à 20 (hexa)