Ce projet, réalisé en première sur une durée de 56 heures, a été une expérience immersive dans la programmation et l’électronique embarquée. Mon objectif était de développer un robot capable de terminer une course le plus rapidement possible, tout en faisant tomber des balles à l’aide d’un servo-moteur. Ce défi nécessitait une approche alliant programmation, modélisation 3D, électronique et optimisation des performances.Le développement s’est fait en C++ sur Arduino Uno, un langage que j’apprécie particulièrement pour sa précision et sa gestion fine des ressources. J’ai programmé le robot pour qu’il puisse réagir rapidement aux commandes Bluetooth et suivre un parcours en effectuant des virages précis. L’accent a été mis sur la fluidité des mouvements et la réactivité des actions, notamment pour optimiser les trajectoires et la vitesse d’exécution des tâches.
Pour réaliser le mécanisme de lancement des balles, j’ai modélisé une pièce en 3D, que j’ai ensuite imprimée pour l’intégrer au servo-moteur. J’ai également conçu et imprimé des plots/cones en 3D servant de support aux balles, garantissant ainsi une stabilité optimale sur le parcours. En plus du mode manuel, j’ai développé un mode automatique basé sur un suivi de ligne, ce qui m’a permis d’obtenir des points bonus. Cette fonctionnalité a nécessité une gestion précise des capteurs de ligne pour permettre au robot de s’adapter dynamiquement à son environnement.
En complément, j’ai intégré un écran LCD, permettant de mesurer le temps mis par le robot pour effectuer un tour du circuit. Le fonctionnement du chronomètre était simple mais efficace. Lors de l’allumage du robot, le temps était initialisé à zéro. Dès que le robot commençait à rouler, le chronomètre se déclenchait automatiquement. Lorsque j’arrêtais le robot à l’aide d’un bouton dédié, le temps total était affiché sur l’écran LCD. Grâce aux données du chrono, le système calculait l’énergie consommée pendant le tour, en comptabilisant le nombre d’activations du servo-moteur et des autres composants. Ce calcul permettait de comparer l’impact énergétique des modes manuel et automatique, en fonction de l’utilisation des différentes technologies embarquées.
Grâce à l’optimisation du code, des trajectoires et de la gestion énergétique, j’ai réussi à gagner la course, prouvant l’efficacité des choix techniques mis en place. Ce projet m’a permis d’approfondir mes compétences en programmation embarquée, modélisation 3D, gestion de trajectoire et analyse énergétique, tout en renforçant ma passion pour le C++ et l’électronique.