Cours [Avancé] - 18/06/2022

Arduino : programmation robot !

Informations :

  • Orateurs : Simon
  • Animateurs : 1
  • Nombre de participants : 5

Compte-rendu :

Durant cette séance, nous avons expliqué le programme de base de pilotage du robot.
Ce programme de base permet de faire avancer le robot, et une fois qu'il rencontre un obstacle à une distance de 10 cm, il recule.
La structure du programme reste la même que tous les programmes d'Arduino :

  • Inclusions : déclaration des librairies utilisées (avec '#include').
  • Constantes : déclaration des constantes du programme (avec '#define').
  • Variables : déclaration des variables.
  • Fonctions : déclaration des fonctions du programme.
  • Initialisation : déclaration de la fonction 'init()' qui est exécutée une seule fois, au démarrage de l'Arduino.
  • Exécution : déclaration de la fonction 'loop()' qui est exécutée en boucle.

Le programme de base est disponible au format texte.

A partir de ce programme, nous avons réfléchi au comportement à donner au robot :

  • Que faire au démarrage ?
  • Que faire lorsqu'il s'approche d'un obstacle ?
  • Quelle direction prendre ?
  • Dans quel sens doit-il avancer ?

Au fur et à mesure, nous avons codé des fonctions permettant de tourner à droite, de tourner à gauche, de stopper le robot. Nous avons utilisé une fonction qui permet de tirer un chiffre au hasard pour permettre de programmer un comportement aléatoire sur la vitesse, la direction, l'attente. Notre programmation s'est faite petit à petit : à chaque fois que nous avions programmé un nouveau comportement, nous l'avons testé avec le robot en fonctionnement.
Au final, le programme complet est disponible au format texte.

Prochaines séances :

  • 25/06/2022 (10H00..12H00) : [Initiation] Dernière séance avant les grandes vacances.
  • 25/06/2022 (18H00..20H00) : [Open Hours] On discute, on explique, on répare !
  • 02/07/2022 (10H00..12H00) : PAS DE COURS : Convention Château LAN Days !
  • 02/07/2022 (18H00..20H00) : PAS DE SEANCE : Convention Château LAN Days !