« Zumo32U4 linefollower » : différence entre les versions

De Wiki TGE CSTwiki
Aller à la navigation Aller à la recherche
Aucun résumé des modifications
Aucun résumé des modifications
Ligne 3 : Ligne 3 :
</br>[[File:Zumo001.png]]
</br>[[File:Zumo001.png]]


2. Dans la barre à gauche, cliquer sur « Library Manager » recherchez « Zumo32U4 » et assurez-vous que la librairie soit installée. Appuyer sur « Install » si ce n’est pas le cas.
'''2. Dans la barre à gauche, cliquer sur « Library Manager » recherchez « Zumo32U4 » et assurez-vous que la librairie soit installée. Appuyer sur « Install » si ce n’est pas le cas.'''
</br>[[File:Zumo002.png]]
</br>[[File:Zumo002.png]]


3. Allez dans « File => Preferences ». À droite de « Additional boards manger URLs », aussurez-vous d’avoir :
'''3. Allez dans « File => Preferences ». À droite de « Additional boards manger URLs », aussurez-vous d’avoir :'''
</br>https://files.pololu.com/arduino/package_pololu_index.json</br>
</br>https://files.pololu.com/arduino/package_pololu_index.json</br>
Copier et coller au besoin.
Copier et coller au besoin.
Ligne 12 : Ligne 12 :
</br>[[File:Zumo003.png]]
</br>[[File:Zumo003.png]]


4. Dans la barre à gauche, cliquer sur « Board Manager » recherchez « Pololu A-Star Boards » et assurez-vous d’y retrouver que la plaquette soit installée. Appuyer sur « Install » si ce n’est pas le cas.
'''4. Dans la barre à gauche, cliquer sur « Board Manager » recherchez « Pololu A-Star Boards » et assurez-vous d’y retrouver que la plaquette soit installée. Appuyer sur « Install » si ce n’est pas le cas.'''
</br>[[File:Zumo004.png]]
</br>[[File:Zumo004.png]]


5. Allez dans « File => Example => Zumo32U4 » et cliquez sur « LineFollower ».
'''5. Allez dans « File => Example => Zumo32U4 » et cliquez sur « LineFollower ».'''
</br>[[File:Zumo005.png]]
</br>[[File:Zumo005.png]]


6. Modifiez les ligne 27 et 28 pour qu’elles soient ainsi :
'''6. Modifiez les ligne 27 et 28 pour qu’elles soient ainsi :'''
<pre>
<pre>
Zumo32U4LCD display;
Zumo32U4LCD display;
Ligne 25 : Ligne 25 :
Cette modification permet de sélectionner le bon type d’écran qui est installé sur le robot. Le « // » fait ignorer la ligne au compilateur. Ainsi, le OLED est désactiver et le LCD est activé en tant qu’écran.
Cette modification permet de sélectionner le bon type d’écran qui est installé sur le robot. Le « // » fait ignorer la ligne au compilateur. Ainsi, le OLED est désactiver et le LCD est activé en tant qu’écran.


7. Brancher le robot Zumo à l’ordinateur à l’aide d’une câble USB et appuyer sur le bouton « Upload » : [[File:Zumo006.png]]
'''7. Brancher le robot Zumo à l’ordinateur à l’aide d’une câble USB et appuyer sur le bouton « Upload » : [[File:Zumo006.png]]'''
</br>[[File:Zumo007.png]]
</br>[[File:Zumo007.png]]
Le robot devrait émettre une tonalité. Ignorez le message « Device code : 0x44 ».
Le robot devrait émettre une tonalité. Ignorez le message « Device code : 0x44 ».


8. Débranchez le robot du câble USB, assurez vous que le bouton des moteurs soit à « ON » et que la lumière bleue soit allumée et déposer le robot centrer une un ligne d’une parcours quelconque. Voyez comment le robot se comporte avant d’aller à la suite.
'''8. Débranchez le robot du câble USB, assurez vous que le bouton des moteurs soit à « ON » et que la lumière bleue soit allumée et déposer le robot centrer une un ligne d’une parcours quelconque. Voyez comment le robot se comporte avant d’aller à la suite.'''


<h1>Modification du programme</h1>
<h1>Modification du programme</h1>
8. Trouvez la ligne
'''9. Trouvez la ligne''
<pre>
<pre>
const uint16_t maxSpeed = 400;
const uint16_t maxSpeed = 400;
Ligne 45 : Ligne 45 :
</pre>
</pre>


9. Trouvez la ligne
'''10. Trouvez la ligne'''
<pre>int16_t lastError = 0;</pre>
<pre>int16_t lastError = 0;</pre>
et changez la pour
et changez la pour
<pre>float lastError = 0;</pre>
<pre>float lastError = 0;</pre>


10. Trouvez les lignes
'''11. Trouvez les lignes'''
<pre>
<pre>
   int16_t speedDifference = error / 4 + 6 * (error - lastError);
   int16_t speedDifference = error / 4 + 6 * (error - lastError);

Version du 28 novembre 2025 à 18:49

Configuration initiale

1. À partir du bureau de Windows ou du gestionnaire d'application, démarrez Arduino IDE :

2. Dans la barre à gauche, cliquer sur « Library Manager » recherchez « Zumo32U4 » et assurez-vous que la librairie soit installée. Appuyer sur « Install » si ce n’est pas le cas.

3. Allez dans « File => Preferences ». À droite de « Additional boards manger URLs », aussurez-vous d’avoir :
https://files.pololu.com/arduino/package_pololu_index.json
Copier et coller au besoin. Appuyez sur « OK ».

4. Dans la barre à gauche, cliquer sur « Board Manager » recherchez « Pololu A-Star Boards » et assurez-vous d’y retrouver que la plaquette soit installée. Appuyer sur « Install » si ce n’est pas le cas.

5. Allez dans « File => Example => Zumo32U4 » et cliquez sur « LineFollower ».

6. Modifiez les ligne 27 et 28 pour qu’elles soient ainsi :

Zumo32U4LCD display;
// Zumo32U4OLED display;

Cette modification permet de sélectionner le bon type d’écran qui est installé sur le robot. Le « // » fait ignorer la ligne au compilateur. Ainsi, le OLED est désactiver et le LCD est activé en tant qu’écran.

7. Brancher le robot Zumo à l’ordinateur à l’aide d’une câble USB et appuyer sur le bouton « Upload » :
Le robot devrait émettre une tonalité. Ignorez le message « Device code : 0x44 ».

8. Débranchez le robot du câble USB, assurez vous que le bouton des moteurs soit à « ON » et que la lumière bleue soit allumée et déposer le robot centrer une un ligne d’une parcours quelconque. Voyez comment le robot se comporte avant d’aller à la suite.

Modification du programme

'9. Trouvez la ligne

const uint16_t maxSpeed = 400;

Ajoutez les lignes suivante en dessous.

const uint16_t maxSpeed = 400;
// Paramètres PID
const float kp = 1;    // Action proportionnelle qui travaille avec l'erreur actuelle
const float ti = 1;  // Action intégrale (en seconde) qui travaille avec le passé de l'erreur
const float td = 0.05;    // Action dérivé (en seconde) qui travaille avec le futur de l'érreur

10. Trouvez la ligne

int16_t lastError = 0;

et changez la pour

float lastError = 0;

11. Trouvez les lignes

  int16_t speedDifference = error / 4 + 6 * (error - lastError);
  lastError = error;

et changez les pour

float kperreur = kp*error;
float accumulateur = accumulateur + kperreur;
accumulateur = constrain(accumulateur, 0, 5*maxSpeed);
float speedDifference = kperreur + 1/(1000*ti)*kperreur + (td/1000)*(kperreur-lastError);
lastError = kperreur;