J'ai depuis plus d'un an commencé un projet alliant plusieurs de mes passions et domaines de compétences. Ce projet (toujours en cours) m'a permis d'approfondir mes connaissances en électronique, programmation, Modélisation et impression 3D, mais aussi en gestion de projet et communication.
L'idée principale du jeu est de créer une armée de mini-véhicules de guerre télécommandés depuis une application. Comme le projet est encore en cours et que je ne sais pas encore exactement quelle tournure je vais lui donner, je ne vais pas détailler son fonctionnement, mais uniquement ce qu'il m'a apporté en compétence (ce qui est déjà beaucoup).
J'ai modélisé en 3D l'intégralité des véhicules ; la structure, les engrenages et les éléments décoratifs. J'utilise pour cela OpenScad, c'est un logiciel libre de 'modélisation paramétrique'. Je peux donc créer des modèles 3D grâce à du code, code dans lequel je peux insérer des variables. Cela me permet de faire des modules réutilisable et de modifier certains paramètres en fonction de l'évolution des besoins.
J'ai également modélisé en 3D les différents éléments qui devaient rentrer dans l'intérieur des véhicules, ceux-ci viennent de fichier à part et son utilisable pour la modélisation de tous les véhicules. J'ai modélisé, le moteur que j'utilise, le servomoteur, le pont en H, l'ESP32 ainsi que les piles.
L'électronique est le domaine dans lequel je suis actuellement le moins à l'aise, mais aussi le domaine dans lequel j'ai le plus envie d'apprendre et de progresser. J'ai actuellement fait les premiers prototypes du circuit qu'il y aura à l'intérieur du char, mais qui sera également adapté pour tous les autres véhicules.
Mes circuits actuels utilisent un ESP32-CAM qui comprend lui-même un circuit de filtrage, un pont en H pour alimenter les moteurs ainsi qu'une alimentation créée à partir de piles classiques (changées depuis par des piles rechargeables).
Mon but à l'avenir est d'acquérir les compétences nécessaires pour la conception de circuits imprimés. Je voudrais créer mes propres circuits autour de la puce ESP afin que ceux-ci soient sur mesure pour les différents véhicules.
Il y a deux pôles de programmation principaux dans ce projet (et peut-être un troisième). La programmation des véhicules eux-mêmes; celle-ci se fait en C sur les ESP 32. Même si je connaissais déjà le C, j'ai cependant découvert et appris de nouvelles choses comme par exemple la gestion des différentes tâches en parallèle avec FreeRTOS.
Le deuxième pôle est la création d'une application portable sur Android et IOS. J'ai pour cela utilisé le framework Flutter qui se programme en Dart (langage de programmation orienté objet). J'ai étudié des programmes déjà existant et recherché différentes solutions. J'ai par exemple adapté plusieurs projets dans le seul but de tester les bibliothèques permettant une communication. Mon idéal serait de pouvoir faire un réseau mesh entre les véhicules et les téléphones, cependant, je n'ai actuellement pas trouvé de bibliothèque 'parfaite', des compromis sont à prévoir. (N'ayant pas travaillé sur l'application depuis six mois, les solutions techniques ont très probablement évolué.)
Au fur et à mesure que mon projet avançait, il fallut que je m'organise pour ne pas me mélanger les pinceaux. J'ai donc commencé à documenter mes recherches, avancées ainsi que les solutions techniques reconnues. J'ai également créé un git afin de pouvoir travailler sur le projet depuis plusieurs machines et d'avoir une sauvegarde supplémentaire. Cette organisation me permet également de voir mon avancé et les tâches accomplis. La satisfaction me motive alors encore plus.
Dans l'optique de pousser le projet plus loin et parce que cela m'amusait, j'ai commencé la création d'une direction artistique / image de marque de mon projet.
J'ai d'abords commencé par me renseigner sur les stratégies de communication des différents acteurs qui réalisaient des produits similaires. Alors que la Direction Artisitque était plutôt orienté vers un univers futuriste avec la présence de nombreuses LED sur les robots blancs, j'explore maintenant la possibilité de les faire dans les couleurs traditionnels. La deuxième option serait beaucoup plus adapté lors de parties en extérieur et le concept du jeu serait également plus rapide à comprendre pour le publique.
Afin d'intégrer mes différents robots dans un univers de jeu complet j'ai réalisés différents accessoires ou pièces réutilisables sur les différents véhicules. Le boitier ci-dessous pourra par exemple servir à stocker des piles chargés ou des pièces de rechange.