Derniers messages sur Zeste de Savoirhttps://zestedesavoir.com/forums/2017-02-20T15:18:30+01:00Les derniers messages parus sur le forum de Zeste de Savoir.Robot arduino problème, message #1418362017-02-20T15:18:30+01:00LudoBike/@LudoBikehttps://zestedesavoir.com/forums/sujet/8028/robot-arduino-probleme/?page=1#p141836<p>Salut et bienvenu(e) ! </p>
<p>C’est bien d’avoir mis ton code dans un bloc de code, mais tu peux aussi activer la coloration syntaxique en spécifiant le langage que tu utilise après les back-quotes (```arduino dans ton message) cela aidera les autres agrumes à te lire et donc t’aider <img alt=";)" src="/static/smileys/clin.png"></p>
<p>De plus tu indente trop ton code, tu n’as pas besoin de mettre de tabulation après un commentaire et je pense que ton code sera plus lisible si tu les omettrais.</p>Robot arduino problème, message #1418252017-02-20T14:07:55+01:00µston/@%C2%B5stonhttps://zestedesavoir.com/forums/sujet/8028/robot-arduino-probleme/?page=1#p141825<p>Bonjour à tous,
j’ai récemment programmer un petit robot à l’aide d’une carte arduino, d’un shield moteurs officiel, d’un capteur a ultrasons, de deux moteurs etc…
J’ai réussi à le rendre totalement autonomes mais j’ai par la suite voulu ajouter un moyen de le commander à l’aide d’une petite radiocommande et d’un récepteurIR. Cependant, j’ai revu mon programme dans tout les sens mais rien à faire, lorsque l’instruction "irrecv.enableIRIn();" apparait dans mon programme, les moteurs refusent de fonctionner (en revanche le reste telles que les leds répondent bien aux différentes instructions). Il me suffit d’enlever cette instruction pour que tout qu’ils acceptent de refonctionner mais bien sur elle m’est nécessaire pour utiliser la radiocommande…
Voici mon programme:</p>
<div><table class="codehilitetable"><tr><td class="linenos"><div class="linenodiv"><pre> 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
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210</pre></div></td><td class="code"><div class="codehilite"><pre><span></span>//Radiocommande:
#include <IRremote.h>
int RECV_PIN = 10;
IRrecv irrecv(RECV_PIN);
decode_results results;
//Capteur HC-SR04: ( VCC=5v; GND=GND; Echo=7; Trig=6)
#define echoPin 7 // Echo Pin
#define trigPin 6 // Trigger Pin
int maximumRange = 150; // Maximum range needed
int minimumRange = 0; // Minimum range needed
long duration, distance; // Durée que l'on utilise pour calculer la distance
void setup()
{
//Affichage sur l'ordinateur:
Serial.begin(9600);
//Radiocommande:
irrecv.enableIRIn(); // Active le récepteur IR Bloque le fonctionnement des moteur!!!!!!!!!!
//LED:
pinMode(2,OUTPUT); //Led rouge qui brillera quand distance <= 15 cm
pinMode(4,OUTPUT); //Led verte qui brillera quand ça avance
//Capteur HC-SR04:
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
//Moteur A:
pinMode(9, OUTPUT);
pinMode(12, OUTPUT);
//Moteur B:
pinMode(13, OUTPUT);
pinMode(8, OUTPUT);
}
void loop() {
if (irrecv.decode(&results)) { //Si on appui sur un bouton
Serial.println(results.value, HEX); //Affiche la valeur en hexadécimal du bouton pressé
if (results.value==0xFFE21D){ //Si le bouton pressé est celui CH+
//Robot mit en fonctionnement automatique
//LEDS:
digitalWrite(4,HIGH); //LED verte allumée en temps normal
digitalWrite(2,LOW); //LED rouge éteinte en temps normal
//Motor A:
digitalWrite(12, LOW); //Direction (Forward ici)
digitalWrite(9, LOW); //Frein (Disengage ici)
analogWrite(3, 120); //Valeur pour vitesse
//Motor B:
digitalWrite(13, LOW); //Direction (Forward ici)
digitalWrite(8, LOW); //Frein (Disengage ici)
analogWrite(11, 117); //Valeur pour vitesse
//Capteur HC-SR04:
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = duration/58.2; //Calcul de la distance en cm à l'aide de la vitesse du song
if (distance >= maximumRange || distance <= minimumRange){
Serial.println("-"); //"-" s'affiche à l'écran de l'ordinateur lorsque le capteur HC-SR04 ne détecte pas la distance ou que celle-ci est hors de l'intervalle de tolérance
}
else { //La distance est correctement mesurée par le capteur
Serial.println(distance); //La distance est affiché en cm à l'écran de l'ordinateur
if (distance <=15){
//LEDS:
digitalWrite(2,HIGH); //Allume la LED rouge
digitalWrite(4,LOW); //Eteint la LED verte
//Moteurs qui s'arrêtent (avant de changer le sens de rotation pour ne pas les endommager):
digitalWrite(9, HIGH); //Frein du moteur A (engaged ici)
digitalWrite(8, HIGH); //Frein du moteur B (engaged ici)
delay(350); //Temps d'arrêt
//Recul:
digitalWrite(12, HIGH); //Direction A (Backward ici)
digitalWrite(9, LOW); //Frein A (Disengage ici)
analogWrite(3, 100); //Valeur A pour vitesse
digitalWrite(13, HIGH); //Direction B (Backward ici)
digitalWrite(8, LOW); //Frein B (Disengage ici)
analogWrite(11, 100); //Valeur A pour vitesse
digitalWrite(2,HIGH); //Allume la LED rouge
delay(500); //Temps de recule
//Moteurs qui s'arrêtent (avant de changer le sens de rotation pour ne pas les endommager):
digitalWrite(9, HIGH); //Frein du moteur A (engaged ici)
digitalWrite(8, HIGH); //Frein du moteur B (engaged ici)
digitalWrite(2,HIGH); //Allume la LED rouge
delay(300); //Temps d'arrêt
//Rotation:
digitalWrite(12, LOW); //Direction A (Forward ici)
digitalWrite(9, LOW); //Frein A (disengage ici)
analogWrite(3, 100); //Valeur A pour vitesse
digitalWrite(13, HIGH); //Direction B (Forward ici)
digitalWrite(8, LOW); //Frein B (disengage ici)
analogWrite(11, 100); //Valeur B pour vitesse
digitalWrite(2,HIGH); //Allume la LED rouge
delay(300); //Temps de la rotation
//LEDS:
digitalWrite(2,LOW); //Allume la LED rouge
digitalWrite(4,HIGH); //Eteint la LED verte
}
else{ //Dans le cas où la distance mesurée est suffisamment grande pour continuer d'avancer
//Ne change pas les instructions intiales données en premier
}
}
delay(70); //Temps avant une nouvelle acquisition de la distance (Une faible valeur permet de meilleur résultats, ie moins d'obstacle pris dans la gueule
}
if (results.value==0xFFC23D){ //Si la touche play/stop est pressée
//Robot en stand-by:
//LEDS:
digitalWrite(4,LOW); //LED verte éteinte
digitalWrite(2,HIGH); //LED rouge allumé
//Freins activés:
digitalWrite(9, HIGH); //Frein A (Engaged ici)
digitalWrite(8, HIGH); //Frein B (Engaged ici)
}
if (results.value==0xFFA25D){ //Si la touche CH- est pressée
//Robot en mode manuel:
//LEDS:
digitalWrite(4,HIGH); //LED verte allumée en temps normal
digitalWrite(2,LOW); //LED rouge éteinte en temps normal
//Freins activés:
digitalWrite(9, HIGH); //Frein A (Engaged ici)
digitalWrite(8, HIGH); //Frein B (Engaged ici)
//Commandes permmettant le pilotage:
if (results.value==0xFF18E7){ //Si la touche 2 est pressée
//Marche avant:
digitalWrite(9, HIGH); //Frein A (Engaged ici)
digitalWrite(8, HIGH); //Frein B (Engaged ici)
delay(400); //Temps d'arrêt pour les moteurs
digitalWrite(12, LOW); //Direction A (Forward ici)
digitalWrite(9, LOW); //Frein A (Disengage ici)
analogWrite(3, 120); //Valeur A pour vitesse
digitalWrite(13, LOW); //Direction A (Forward ici)
digitalWrite(8, LOW); //Frein A (Disengage ici)
analogWrite(11, 117); //Valeur A pour vitesse
}
if (results.value==0xFF38C7){ //Si la touche 5 est pressée
//Marche arrière:
digitalWrite(9, HIGH); //Frein A (Engaged ici)
digitalWrite(8, HIGH); //Frein B (Engaged ici)
delay(400); //Temps d'arrêt pour les moteurs
digitalWrite(12, HIGH); //Direction A (Backward ici)
digitalWrite(9, LOW); //Frein A (Disengage ici)
analogWrite(3, 120); //Valeur A pour vitesse
digitalWrite(13, HIGH); //Direction B (Backward ici)
digitalWrite(8, LOW); //Frein B (Disengage ici)
analogWrite(11, 117); //Valeur B pour vitesse
}
if (results.value==0xFF10EF){ //Si la touche 4 est pressée
//Virage à gauche:
digitalWrite(9, HIGH); //Frein A (Engaged ici)
digitalWrite(8, HIGH); //Frein B (Engaged ici)
delay(400); //Temps d'arrêt pour les moteurs
digitalWrite(12, LOW); //Direction A (Forward ici)
digitalWrite(9, LOW); //Frein A (Disengage ici)
analogWrite(3, 120); //Valeur A pour vitesse
digitalWrite(13, HIGH); //Direction B (Backward ici)
digitalWrite(8, LOW); //Frein B (Disengage ici)
analogWrite(11, 117); //Valeur B pour vitesse
}
if (results.value==0xFF5AA5){ //Si la touche 6 est pressée
//Virage à droite:
digitalWrite(9, HIGH); //Frein A (Engaged ici)
digitalWrite(8, HIGH); //Frein B (Engaged ici)
delay(400); //Temps d'arrêt pour les moteurs
digitalWrite(12, HIGH); //Direction A (Backward ici)
digitalWrite(9, LOW); //Frein A (Disengage ici)
analogWrite(3, 120); //Valeur A pour vitesse
digitalWrite(13, LOW); //Direction B (Forward ici)
digitalWrite(8, LOW); //Frein B (Disengage ici)
analogWrite(11, 117); //Valeur B pour vitesse
}
}
irrecv.resume(); // Receive the next value
}
}
</pre></div>
</td></tr></table></div>
<p>D’avance merci pour votre aide! <img alt=":)" src="/static/smileys/smile.png"></p>L'alarme shield | V1.1, message #1071952016-04-24T21:34:45+02:00U2Vi/@U2Vihttps://zestedesavoir.com/forums/sujet/5807/lalarme-shield-v11/?page=1#p107195<p>Effectivement, je met la vidéo dans le bon sens <img alt=":)" src="/static/smileys/smile.png"> et une vidéo de meilleur qualité sera au rendez vous lors de la sortie des explications <img alt=":)" src="/static/smileys/smile.png"></p>L'alarme shield | V1.1, message #1071932016-04-24T21:30:01+02:00Manyrio/@Manyriohttps://zestedesavoir.com/forums/sujet/5807/lalarme-shield-v11/?page=1#p107193<p>Gros bravo pour la mise à jour du 24/04 ! Mais perso je n'ai pas de son sur la vidéo <img alt=":'(" src="/static/smileys/pleure.png"></p>L'alarme shield | V1.1, message #1061782016-04-16T15:31:25+02:00U2Vi/@U2Vihttps://zestedesavoir.com/forums/sujet/5807/lalarme-shield-v11/?page=1#p106178<p>Merci Arckazur <img alt=":)" src="/static/smileys/smile.png"> </p>
<p>J'en profite pour annoncer quelques nouveautés qui vont arrivées très prochainement, Broches pour l'arduino, témoin sonore, et plein d'autres choses <img alt="^^" src="/static/smileys/hihi.png"></p>L'alarme shield | V1.1, message #1061512016-04-16T12:38:51+02:00anonyme/@anonymehttps://zestedesavoir.com/forums/sujet/5807/lalarme-shield-v11/?page=1#p106151<p>Un grand pouce vert pour ton projet ! Bon courage !</p>L'alarme shield | V1.1, message #1059202016-04-13T21:36:19+02:00U2Vi/@U2Vihttps://zestedesavoir.com/forums/sujet/5807/lalarme-shield-v11/?page=1#p105920<p>Bonjour/bonsoir à tous,</p>
<p>Je suis TheLumMys, lycéen suivant une voie technologique (STI2D, SIN). Ayant 2 passions principales; l’électronique et, arrivée plus tard, l’informatique.</p>
<p>J’adore la bidouille, démonter pour voir comment ça fonctionne, réparer des machines mais aussi faire un peu de programmation, créer des sites internet en PhP (bien que je ne sois pas encore copain avec la css et la compatibilité navigateurs <img alt=":)" src="/static/smileys/smile.png"> ) et 2-3 bricoles en java et c++ .</p>
<div align="center">
<h3>Présentation du projet :</h3>
<figure><img alt="" src="http://image.noelshack.com/fichiers/2016/15/1460801637-bande-logo-projet-alamre-shield.png"><figcaption> </figcaption>
</figure>
<p>Aujourd’hui je viens vous présenter "l’alarme shield". C’est un projet qui me tien énormément à cœur car plus petit, j’étais obsédé dans le but de créer un système d’alarme avec des lumières rouges qui clignotent partout, du bruit dans tous les sens et tout le tralala <img alt=":)" src="/static/smileys/smile.png"> . Mais quand on est petit, on n’à pas forcément les moyens pour faire quelque chose de convenable. </p>
<h3>Les objectifs du projet :</h3>
<p>-> Etre constitué principalement de composants basiques pour pouvoirs être un projet accessible à tous. </p>
<p>-> Utiliser des moyens peu coûteux, pour garder un budget raisonnable et rester dans l’idée de
l’accessibilité du projet à tous.</p>
<p>-> Etre fonctionnel.</p>
<p>-> Et enfin, de s’amuser <img alt=":)" src="/static/smileys/smile.png"> .</p>
<h3>Présentation de l’équipe :</h3>
<p>Bon, ça va être vite vue. Je suis , pour le moment, seul à mener à bien ce projet.</p>
<h3>État d’avancement :</h3>
<hr>
<h6>mise à jours 24/04/16</h6>
<p>Enfin ! la V2 arrive bientôt ! <img alt=":)" src="/static/smileys/smile.png"></p>
<p>Une vidéo et quelques images pour vous mettre en bouche <img alt="^^" src="/static/smileys/hihi.png"> :</p>
<figure><img alt="" src="http://image.noelshack.com/fichiers/2016/16/1461525488-img-2164.jpg"><figcaption>Vue sur la v2 de l’alarme shield sans les câbles </figcaption>
</figure>
<figure><img alt="" src="http://image.noelshack.com/fichiers/2016/16/1461525479-img-2165.jpg"><figcaption>Une vue de la v2 de l’alarme shield en action </figcaption>
</figure>
<p><a href="https://youtu.be/NhNQsTSaJqc">Ici, une petite vidéo de l’alarme shield v2 en action <img alt=":)" src="/static/smileys/smile.png"> (admirez la qualités de l’image et du son) </a></p>
<p>Enfin, vous vous demandez surement "à quand la sortie avec les explications, toute la doc …" et bien très prochainement ! le temps de mettre mes schémas aux propres et ça sera bon ! à bientôt <img alt=":)" src="/static/smileys/smile.png"></p>
<hr>
<p>Le précédent article sur la version V1.1 :</p>
<div class="spoiler">
<p>Du nouveau !, la V1.1 <img alt=":)" src="/static/smileys/smile.png"> </p>
<figure><img alt="" src="http://image.noelshack.com/fichiers/2016/15/1460665069-img-2128-copie.jpg"><figcaption>V1.1</figcaption>
</figure>
<p>Quelques ajout et corrections d’erreurs. Ajout des sorties pour alimenter des leds en externe. Correction d’une petite erreurs au niveau de la résistance 6 et 7, elles étaient inversées. Création d’une nouvelle vue sur une perfboard qui clarifiera un peut mieux mes explications :). </p>
<figure><img alt="" src="http://image.noelshack.com/fichiers/2016/15/1460665059-pasne555-copie.png"><figcaption>perfboard V1.1</figcaption>
</figure>
<p>Et si vous avez des questions, des réactions, idées, des conseils, seront les bienvenues dans les commentaires ;).</p>
</div>
<hr>
<p>Le précédent article sur la version 1 : </p>
<div class="spoiler">
<hr>
<p>Je suis fier de vous présenter la V1 du projet :</p>
<figure><img alt="" src="http://image.noelshack.com/fichiers/2016/15/1460580428-img-2123-copie.jpg"><figcaption>V1 de l’alarme Shield</figcaption>
</figure>
<p>Bon ok, jusque-là, rien de spectaculaire … Juste une LED qui clignote en rouge si un bouton est appuyé et, si l’appui du second bouton, la LED rouge s’éteint et la verte s’allume. Mais il y a un début à tout ! et je ne compte pas m’arrêter à la V1, loin de la <img alt=":)" src="/static/smileys/smile.png"> . Je compte ajouter un buzzer, le déclenchement de l’alarme par arduino, … </p>
<p>Et si vous avez des questions, des réactions, idées, des conseils, seront les bienvenues dans les commentaires ;).</p>
<p>Ici, un peu de DOC, pour ceux qui veulent <img alt="^^" src="/static/smileys/hihi.png"> :</p>
<figure><img alt="" src="http://image.noelshack.com/fichiers/2016/15/1460580915-capture-copie.png"><figcaption>Le shémas de la V1 du projet</figcaption>
</figure>
<figure><img alt="" src="http://image.noelshack.com/fichiers/2016/15/1460580943-capture02-copie.png"><figcaption>Le plan du circuit imprimé de la V1 du projet</figcaption>
</figure>
<div class="warning ico-after">
<p>/ Le schémas comporte une erreur, les pistes se croisent entre R9 et R6 /\</p>
</div>
<figure><img alt="" src="http://image.noelshack.com/fichiers/2016/15/1460580948-alarmene555-copie.png"><figcaption>La vue de la V1 sur une breadboard</figcaption>
</figure>
<figure><img alt="" src="http://image.noelshack.com/fichiers/2016/15/1460580950-img-2126-copie.jpg"><figcaption>Le bazard sur les breadboards pour les tests et la réalisation de la V1 du projet <img alt=":)" src="/static/smileys/smile.png"></figcaption>
</figure>
<hr>
</div>
<hr>
<h4>Remerciements :</h4>
<p>Ici, je tenais principalement à remercier Eskimon. Qui, grâce à ses cours sur l’arduino ma permis de découvrir de nouvelles choses dans les microcontrôleurs et la programmation et sans qui, cette idée de shield pour l’arduino n’aurait jamais vu le jour.
Enfin, à l’équipe ZDS pour ce merveilleux travail (Site, forum, ZDS Notificateur, …) et qui a permis de garder l’esprit SDZ <img alt=":)" src="/static/smileys/smile.png"> </p>
</div>