Bonjour à tous,
Je suis actuellement en stage pour la validation du mon DUT cela fait maintenant un mois que je travaille avec la Arduino nano et aucun problème jusqu'à présent. Voilà, la suite de mon sujet est de pouvoir communiquer avec un SZ48 de chez Ditel, qui est un régulateur de concentration massique. Dans la documentation du régulateur j'ai pu voir que je pouvais communiquer via RS485 j'ai donc fais quelques recherches et vu que le MAX 485 permettais d'ajuster les niveaux de tension, envoyé par la Arduino, pour qu'ils soient compatible en RS485. J'ai alors commandé, câblé le composant en respectant la datasheet et programmé le code suivant:
---------------------------------CODE-----------------------------------
// La pin 2 de la Arduino est connecté aux broches RE&DE du MAX485
#define switchPin 2
#define rxPin 1
#define txPin 0
byte req[]= {0x02, 0x04, 0x00, 0x00, 0x00, 0x01, 0x31, 0xCA}; // La trame à envoyé afin de lire la valeur " PV " de la station n°2
byte RS485Byte = 0;
void setup() {
// Communication a 9600 b/s
Serial.begin(9600);
// pin tx pour envoyer les données
pinMode(txPin, OUTPUT);
// pin rx pour recevoir les données
pinMode(rxPin, INPUT);
pinMode(switchPin, OUTPUT);
digitalWrite(switchPin, HIGH); // Pin 2 à l'état Haut afin d'envoyer des données
Serial.write(req,8);
digitalWrite(switchPin, LOW);// Pin 2 à l'état Bas afin de recevoir des données
}
void loop() {
if( Serial.available()>0)
{
RS485Byte = Serial.read();
Serial.print("incoming Bytes : "); Serial.println(RS485Byte);
}
}
----------------------------------------FIN DU CODE-------------------------------------
et tout ce que je reçois sur le moniteur série c'est ça :
1Ê
J'espère avoir été assez clair pour que vous puissiez m'aider, si vous le pouvez...
Merci bien et Bonne journée à tous !