Bonjour
voici le code ci apres qui me pose probleme.
Si les commande s envoyent bien en BT pour faire tourner les roues.
Des que je mets des conditions, ici interrupteurs de fin de course, ceux ci ne fonctionnent pas.
Qui pourrait me dire ou je fais une erreur .

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
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
// Projet Robot 4 roues Autonome + 2 Interrupteurs FindeCourse (ici pour capteur de choc) via BT
 
#include <SoftwareSerial.h>
 
const byte FdC1 = 2;              // Rupteur fin de course N°1
const byte FdC2 = 7;              // Rupteur fin de course N°2
 
const byte Relais1 = 8;
const byte Relais2 = 9;
 
const byte Roue1 = 3;
const byte Roue2 = 4;
const byte Roue3 = 5;
const byte Roue4 = 6;
 
void setup() {
  Serial.begin(9600);
  pinMode(Roue1, OUTPUT);
  pinMode(Roue2, OUTPUT);
  pinMode(Roue3, OUTPUT);
  pinMode(Roue4, OUTPUT);
  pinMode(Relais1, OUTPUT);
  pinMode(Relais2, OUTPUT);
  pinMode(FdC1, INPUT_PULLUP);
  pinMode(FdC2, INPUT_PULLUP);
}
 
void loop()
{
  if(Serial.available() > 0)
  {
    char data;
    data = Serial.read();
    Serial.write(data);
 
    switch (data)
    {
      case '1': 
        digitalWrite(Roue1, HIGH);
        if (FdC1 == LOW) {                    
          digitalWrite(Roue1, LOW);
          digitalWrite(Relais1, HIGH); 
          delay (3000);
          digitalWrite(Relais1, LOW); } 
        if (FdC2 == LOW) { 
          digitalWrite(Roue1, LOW);                     
          digitalWrite(Roue3, HIGH); 
          delay (2000);
          digitalWrite(Roue3, LOW);
          delay (1000); 
          digitalWrite(Roue4, HIGH); 
          delay (2000);
          digitalWrite(Roue1, LOW);
        }
    }
  }
}