Bonjour à tous,
Je suis sur un petit projet de simulateur de vol pour Microsoft Flight Simulator 2020 et l'objectif du moment est de relier plusieurs Arduino entre eux en utilisant la norme RS485 via des MAX487.
Je me suis donc lancé sans me soucier le moins du monde de quoi que ce soit dans un petit montage qui à ma grande surprise ne fonctionne pas xD.
Le circuit est alimenté en 12V via les fils du bas du schéma.
Après plein de montages aussi farfelu qu'infructueux (même si des fois j'y ai cru), je me résoud à vous écrire en quête d'une solution.

Datasheet du MAX487 :
https://www.futurlec.com/Maxim/MAX487.shtml

Avec le montage et le code suivant, je m'attends à ce que la LED clignote, mais rien ... (la led est dans le bon sens et n'est pas morte ...).
L'Arduino MEGA est le MASTER, et le NANO le SLAVE. A terme, il y aura plusieurs NANO sur la ligne.

Nom : Untitled Sketch_bb.png
Affichages : 324
Taille : 447,9 Ko

Code du MASTER (Arduino MEGA)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
#define LED         13
#define BUTTON      12
#define MASTER_EN   8
 
void setup() {
  Serial.begin(115200);
  pinMode(LED, OUTPUT);
  pinMode(MASTER_EN, OUTPUT);
  pinMode(BUTTON, INPUT);
  digitalWrite(MASTER_EN, HIGH);
}
 
void loop() {
  Serial.print("0");
  delay(3000);
  Serial.print("1");
  delay(3000);
}
Code du SLAVE (Arduino NANO)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
#define LED         12
#define MASTER_EN   2
 
void setup() {
  Serial.begin(115200);
  pinMode(LED, OUTPUT);
  pinMode(MASTER_EN, OUTPUT);
  delay(10);
  digitalWrite(MASTER_EN, LOW);
}
 
void loop() {
  while (Serial.available()) {
    String value = Serial.readString();
    if(value == "0"){
      digitalWrite(LED, HIGH);
    } else {
      digitalWrite(LED, LOW);
    }
    delay(100);
  }
}
Merci d'avance pour votre aide ^^ <3