Bonjour.
je ne possède pour l'instant aucun problème niveau programmation mais j'ai commandé les composants nécessaires pour construire mon robot.
en attendant, j'aimerais juste que l'on me confirme si mon programme est bien réalisé ou si il risque d'avoir quelques problèmes

le voici :

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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
//pin moteur
int pin1_moteur1 = 2;
int pin2_moteur1 = 4;
int pinP_moteur1 = 5;
int pin1_moteur2 = 7;
int pin2_moteur2 = 8;
int pinP_moteur2 = 9;
 
//pin ultrason
int trig1 = 3; 
int echo1 = 6; 
 
int trig2 = 10; 
int echo2 = 11; 
 
int trig3 = 12; 
int echo3 = 13; 
 
int trig4 = A0;
int echo4 = A1;
 
//variables
long lecture_echo1; 
long cm1;
 
long lecture_echo2; 
long cm2;
 
long lecture_echo3; 
long cm3;
 
long lecture_echo4; 
long cm4;
 
void setup() 
{ 
  pinMode(trig1, OUTPUT); 
  digitalWrite(trig1, LOW); 
  pinMode(echo1, INPUT); 
 
  pinMode(trig2, OUTPUT); 
  digitalWrite(trig2, LOW); 
  pinMode(echo2, INPUT);
 
  pinMode(trig3, OUTPUT); 
  digitalWrite(trig3, LOW); 
  pinMode(echo3, INPUT);
 
  pinMode(trig4, OUTPUT); 
  digitalWrite(trig4, LOW); 
  pinMode(echo4, INPUT); 
 
  pinMode(pin1_moteur1,OUTPUT);
  pinMode(pin2_moteur1,OUTPUT);
  pinMode(pinP_moteur1,OUTPUT);
  pinMode(pin1_moteur2,OUTPUT);
  pinMode(pin2_moteur2,OUTPUT);
  pinMode(pinP_moteur2,OUTPUT);
 
  digitalWrite(pinP_moteur1,LOW);      // les moteur ne tournent pas
  digitalWrite(pinP_moteur2,LOW);
 
  digitalWrite(pin1_moteur1,LOW);
  digitalWrite(pin2_moteur1,HIGH);     // on initialise la direction des moteurs
  digitalWrite(pin1_moteur2,LOW);
  digitalWrite(pin2_moteur2,HIGH);
 
 
  Serial.begin(9600); 
}
 
void loop() 
{ 
 
// calcul de la distance des capteurs a ultrasons.
 
  digitalWrite(trig1, HIGH); 
  digitalWrite(trig2, HIGH);
  digitalWrite(trig3, HIGH);
  digitalWrite(trig4, HIGH);
  delayMicroseconds(10); 
  digitalWrite(trig1, LOW); 
  digitalWrite(trig2, LOW); 
  digitalWrite(trig3, LOW); 
  digitalWrite(trig4, LOW);
 
  lecture_echo1 = pulseIn(echo1, HIGH); 
  cm1 = lecture_echo1 / 58; 
 
  lecture_echo2 = pulseIn(echo2, HIGH); 
  cm2 = lecture_echo2 / 58;
 
  lecture_echo3 = pulseIn(echo3, HIGH); 
  cm3 = lecture_echo3 / 58;                                          // ou on peut aussi ecrire cm = lecture_echo * 0.017
 
  lecture_echo4 = pulseIn(echo4, HIGH); 
  cm4 = lecture_echo4 / 58;
 
  Serial.print("Distance 1 : "); 
  Serial.println(cm1); 
  delay(300);                                                         //delay de base = 1000 : au cas ou 
 
  Serial.print("Distance 2 : "); 
  Serial.println(cm2); 
  delay(300);
 
  Serial.print("Distance 3 : "); 
  Serial.println(cm3); 
  delay(300);
 
  Serial.print("Distance 4 : "); 
  Serial.println(cm4); 
  delay(300);
 
}
il n'est pas très complexe mais j'aimerais juste savoir si il va bien calculer les distances etc...
Cordialement
ravenYT