Tourelle IR CrunchLabs : assembler, programmer et tirer

Découvrez la tourelle IR CrunchLabs : un projet éducatif combinant assemblage, programmation et contrôle pour apprendre l’électronique et la robotique de façon ludique.

Partager
Tourelle IR CrunchLabs : assembler, programmer et tirer
Le premier HackPack, la tourelle IR

En 2022, CrunchLabs a lancé l’abonnement Build Box afin d’amener l’ingénierie à la maison grâce à des projets concrets. Chaque trousse mensuelle visait à aider les jeunes à comprendre le fonctionnement des machines en les assemblant étape par étape. L’objectif était clair : rendre l’ingénierie créative, accessible et ancrée dans la résolution de problèmes, et non seulement dans des équations au tableau.

Les trousses étaient bien conçues et agréables à réaliser. Une question demeurait toutefois. Qu’en est-il des adolescents, des étudiants plus âgés ou des adultes qui aiment bricoler avec du code et de l’électronique ?

Pour les plus jeunes, à partir de huit ans, la Build Box constitue une excellente introduction aux concepts d’ingénierie.

En 2024, CrunchLabs a présenté le Hack Pack, une nouvelle gamme destinée aux constructeurs plus expérimentés. Chaque projet combine conception mécanique, électronique de base et programmation embarquée dans un parcours guidé qui développe des compétences pratiques de façon ludique.

Cet article explore la construction du premier projet Hack Pack : la tourelle infrarouge. Contrôlée par une télécommande IR et animée par trois servomoteurs, la tourelle peut pivoter, s’incliner et tirer des fléchettes en mousse sur sa cible. Le projet introduit des notions importantes en programmation Arduino, en décodage de signaux et en contrôle du mouvement. Nous examinerons la mission qui l’a inspiré, les composants qui la rendent fonctionnelle et les apprentissages qu’elle permet.

💰
Si le Hack Pack ou la Build Box vous intéressent, vous pouvez économiser 10 $ en utilisant ce lien. En l’utilisant, vous et Technocurieux en bénéficiez.

La mission de CrunchLabs

Mark Rober est surtout connu pour sa chaîne YouTube. Il y combine science, ingénierie et résolution créative de problèmes afin d’expliquer comment les choses fonctionnent. Il a travaillé neuf ans à la NASA, où il a contribué au rover Curiosity sur Mars. Il a ensuite occupé un poste de concepteur de produits chez Apple. Ses vidéos, qu’il s’agisse de bombes à paillettes, de parcours d’obstacles pour écureuils ou de machines à dominos, ont inspiré des millions de personnes à poser des questions et à construire leurs propres projets.

Mark Rober dans la vidéo My Rock, Paper, Scissors Robot Never Loses (+9 Other Inventions)

À mesure que son auditoire grandissait, Mark Rober a fondé CrunchLabs. Il avait besoin d’une équipe d’ingénieurs pour étendre sa mission et encourager les jeunes à penser comme des ingénieurs. Le premier produit majeur fut l’abonnement Build Box, une trousse mensuelle qui met l’accent sur la mécanique. Chaque boîte comprend un projet, comme un lance-disque ou un trieur de billes, accompagné d’une vidéo privée qui explique les principes clés. L’approche repose sur l’expérimentation concrète. Les constructeurs sont encouragés à tester, à faire des erreurs et à améliorer leur conception.

À mesure que la communauté a mûri, le besoin d’un niveau plus avancé s’est fait sentir. Les adolescents, les enseignants et les amateurs expérimentés recherchaient des trousses abordant l’électronique, la programmation et des conceptions mécaniques plus ambitieuses. C’est dans ce contexte qu’est né le Hack Pack.

Mark Rober et les trois premier Hack Packs

Recommandées pour les 14 ans et plus, ces trousses combinent mécanique, programmation embarquée et électronique de base. Leur prix reflète la qualité des composants et l’ambition des projets, ce qui les place davantage dans la catégorie des loisirs techniques que des jouets d’initiation. Les personnes à la recherche d’une solution plus économique pourraient se tourner vers des projets entièrement maison.

La tourelle IR propose un défi à la fois ludique et formateur. Elle utilise trois servomoteurs et un récepteur infrarouge pour contrôler un lanceur de fléchettes à l’aide d’une télécommande standard. Les constructeurs manipulent du code Arduino, gèrent l’entrée de signaux et contrôlent des mouvements physiques. L’expérience développe des compétences concrètes tout en laissant place à l’expérimentation.

À l’intérieur de la trousse

La tourelle IR est l’un des projets emblématiques du Hack Pack. Il s’agit d’un lanceur de fléchettes en mousse monté sur une base motorisée. Contrôlée par une carte compatible Arduino Nano, la tourelle pivote de gauche à droite, s’incline vers le haut ou le bas et tire sur commande. Le projet introduit des concepts liés au mouvement mécanique, à la gestion des entrées à distance et au contrôle des servomoteurs. La trousse comprend tous les éléments nécessaires, y compris une batterie USB, ce qui permet une utilisation sans connexion permanente à un ordinateur.

Au coeur de ce projet, une carte compatible Arduino Nano.

L’objectif pédagogique principal porte sur les servomoteurs. Un servomoteur est un moteur compact conçu pour se déplacer avec précision. En robotique et en systèmes embarqués, il sert à contrôler un mouvement dans une direction définie ou à maintenir une position. Les modèles d’entrée de gamme se divisent généralement en deux catégories : positionnels et à rotation continue.

Les servomoteurs trouvé dans le Hack Pack de la tourelle IR

Un servomoteur positionnel se déplace vers un angle précis, généralement entre 0 et 180 degrés. Dans ce projet, il contrôle l’inclinaison verticale du canon. Lorsque l’on appuie sur les boutons haut ou bas de la télécommande, la carte envoie un signal qui ajuste l’angle et modifie la visée.

Un servomoteur à rotation continue fonctionne davantage comme un moteur classique. Il tourne vers l’avant ou vers l’arrière à différentes vitesses selon la valeur reçue. Deux sont utilisés ici : un pour la rotation gauche-droite de la base et un pour armer puis relâcher le mécanisme de tir.

La tourelle IR a un châssis de bois connecté par des écroux de plastique et des supports.

Le châssis combine des pièces de bois légères et des éléments en plastique. Les composants s’assemblent sans colle ni soudure. Les servomoteurs se fixent à l’aide de supports et d’écrous en plastique. Il est important de ne pas trop serrer les vis, afin d’éviter de contraindre le mouvement ou d’endommager les supports.

(à gauche) le récepteur IR pour la tourelle

Un récepteur infrarouge se connecte directement à la carte et capte les commandes directionnelles simples envoyées par la télécommande incluse. Il détecte ces signaux en lisant des motifs de lumière infrarouge invisibles. Chaque bouton de la télécommande transmet un code d’impulsion unique, que le récepteur convertit en valeur numérique. Cette valeur est ensuite transmise à l’Arduino, qui déclenche l’action appropriée, comme faire pivoter la base ou tirer une fléchette. Le récepteur utilise une seule broche d’entrée numérique et s’appuie sur une bibliothèque logicielle pour décoder les signaux entrants. Malgré sa petite taille, ce composant joue un rôle essentiel en transformant une commande utilisateur en mouvement mécanique.

Assemblage requis

La tourelle IR s’assemble en une série d’étapes clairement définies qui combinent bois, plastique et électronique pour former un lanceur fonctionnel. Le corps principal est constitué de pièces de bois prédécoupées formant le cadre rotatif. Ces éléments s’emboîtent sans colle ni soudure. Des composants en plastique, comme les axes, les supports et les écrous borgnes, fixent les servomoteurs et assurent un mouvement fluide. La conception est modulaire et robuste, avec des pieds caoutchoutés pivotants qui stabilisent la base sur des surfaces irrégulières. Il est important de ne pas trop serrer les vis durant l’assemblage, car cela pourrait restreindre le mouvement ou exercer une pression excessive sur les supports des servos.

Début de l’assemblage de la tourelle IR.

Comme mentionné précédemment, la tourelle utilise trois servomoteurs. Un servomoteur à rotation continue est monté à la base et contrôle la rotation gauche-droite. Un second servomoteur à rotation continue, placé derrière le canon, libère l’élastique afin de tirer les fléchettes. Le servomoteur positionnel, fixé sur le bras, ajuste la visée verticale en inclinant le lanceur vers le haut ou le bas. Le sens d’installation de ce servo est déterminant. Puisqu’il est conçu pour maintenir des angles précis, une orientation inversée entraînera un mouvement incorrect. Cela peut provoquer des déplacements brusques susceptibles d’endommager la tourelle ou de désaligner certains composants.

Branchement des servomoteurs et du récepteur IR au contrôleur Nano.

L’électronique est intégrée à mi-parcours de l’assemblage. Une petite plaque d’essai relie les servos, le récepteur infrarouge et les lignes d’alimentation à un microcontrôleur compatible Nano. Toutes les connexions sont réalisées à l’aide de fils Dupont. Le récepteur IR est installé à l’avant de la tourelle et capte les impulsions lumineuses invisibles émises par la télécommande. Lorsqu’un bouton est pressé, le récepteur détecte le signal et le microcontrôleur active un ou plusieurs servomoteurs en conséquence. Les câbles doivent être soigneusement organisés et maintenus hors des zones de mouvement afin d’éviter les enchevêtrements ou les tensions mécaniques.

Gros plan sur le mécanisme de tir, incluant l’ergot métallique.

Le système de tir repose sur un barillet magnétique et des fléchettes en mousse munies d’un élastique en silicone. Chaque fléchette est chargée en étirant l’élastique et en l’accrochant à un petit ergot situé près du bord du barillet rotatif. Lorsque le barillet tourne, il atteint un pion métallique fixe qui libère l’élastique de l’ergot. Cette libération soudaine propulse la fléchette vers l’avant. La conception demeure simple et fiable, avec peu de pièces mobiles et un faible risque de blocage.

La tourelle IR entièrement assemblée.

Une fois l’assemblage complété, la tourelle fonctionne immédiatement grâce au code préchargé sur la carte compatible Nano. Aucune programmation supplémentaire n’est nécessaire pour commencer. La télécommande permet de tester les mouvements, la visée et le tir étape par étape, afin de vérifier que le système se comporte comme prévu.

Programmation et environnement de développement

L’un des points forts de la série Hack Pack est son environnement de développement intégré accessible dans le navigateur. Plutôt que d’exiger l’installation d’outils ou la configuration de pilotes, CrunchLabs propose une interface web qui permet de consulter, modifier et tester le code de la tourelle facilement. L’interface comprend également un assistant propulsé par l’IA capable de répondre à des questions de programmation, ce qui aide les débutants à résoudre des problèmes ou à mieux comprendre le fonctionnement de certaines commandes.

La tourelle repose sur une carte compatible Nano dotée d’un port USB-C. Pour téléverser ou modifier le code, il faut la connecter directement à un ordinateur à l’aide d’un câble USB-C.

L’environnement de développement web fourni, conçu pour les débutants.

L’environnement de développement fourni est conçu pour accompagner progressivement les constructeurs. Il propose trois niveaux d’accès.

  • Le niveau 1 est en lecture seule. Il permet d’explorer l’intégralité du code source, de comprendre la logique du programme et d’apprendre à partir des commentaires sans risque de modification accidentelle.
  • Le niveau 2 déverrouille certaines variables précises. Il devient alors possible d’ajuster des paramètres comme la vitesse, les angles ou les délais afin de personnaliser le comportement de la tourelle, sans devoir analyser chaque ligne du programme.
  • Le niveau 3 offre un accès complet. Les constructeurs peuvent modifier n’importe quelle partie du code ou le remplacer entièrement. Ce niveau convient à ceux qui souhaitent expérimenter, tester de nouvelles idées ou développer leurs propres fonctionnalités à partir de zéro.

Chaque projet Hack Pack inclut également quelques variantes optionnelles du code. Pour la tourelle IR, l’une d’elles exige l’entrée d’une séquence précise de boutons sur la télécommande avant d’activer le système, à la manière d’un code PIN. Ces exemples permettent d’enseigner les structures conditionnelles, le flux logique et la gestion des entrées utilisateur dans un contexte concret et ludique.

switch(IrReceiver.decodedIRData.command){

  case up: //pitch up
    upMove(1);
    break;
            
  case down: //pitch down
    downMove(1);
    break;

  case left: //fast counterclockwise rotation
    leftMove(1);
    break;
            
  case right: //fast clockwise rotation
    rightMove(1);
    break;
            
  case ok: //firing routine 
    fire();
    break;
              
  case star:
    fireAll();
    delay(50);
    break;
}

Le comportement par défaut de la tourelle IR est contrôlé par cette instruction switch.

En arrière-plan, le code s’exécute sur un clone d’Arduino Nano compatible avec l’écosystème Arduino. Cela signifie qu’il utilise la syntaxe et les bibliothèques standards d’Arduino. Pour les utilisateurs plus avancés, le code source est disponible sur GitHub, et certains membres de la communauté ont configuré des environnements de développement locaux avec l’IDE Arduino ou Visual Studio Code. Puisque la carte est essentiellement un clone Arduino, il est simple d’intégrer le projet à un flux de travail plus avancé ou de le porter vers d’autres plateformes sans repartir de zéro.

void rightMove(int moves){ // function to move right
  for (int i = 0; i < moves; i++){
      //subtracting the servo speed = 0 (full clockwise rotation speed)
      yawServo.write(yawStopSpeed - yawMoveSpeed); 
      delay(yawPrecision);
      yawServo.write(yawStopSpeed);
      delay(5);
      Serial.println("RIGHT");
  }
}

void upMove(int moves){ // function to tilt up
  for (int i = 0; i < moves; i++){
        if((pitchServoVal+pitchMoveSpeed) < pitchMax){
        //increment the current angle and update
        pitchServoVal = pitchServoVal + pitchMoveSpeed;
        pitchServo.write(pitchServoVal);
        delay(50);
        Serial.println("UP");
      }
  }
}

Le contrôle des servomoteurs positionnels et à rotation continue diffère dans le code.

Le code d’origine de la tourelle IR repose sur une boucle d’événements simple. Il commence par initialiser le récepteur infrarouge et positionner les servomoteurs à leur position de départ. Dans la boucle principale, le programme écoute les signaux IR et les décode à l’aide de la bibliothèque IRremote. Chaque signal reconnu est associé à une commande par une instruction switch, qui appelle la fonction appropriée comme upMove(), rightMove(), ou fire(). Ces fonctions contrôlent directement les servomoteurs en écrivant des valeurs de vitesse ou d’angle, selon le type de servo utilisé. Toutes les variables et constantes, y compris l’affectation des broches et les paramètres de vitesse, sont clairement définies au début du fichier, ce qui facilite l’ajustement du comportement matériel. Après chaque action, le récepteur IR est réinitialisé afin de pouvoir capter la commande suivante sans interruption.

Au-delà de l’assemblage

Une fois la tourelle IR complètement assemblée et fonctionnelle, elle devient une plateforme solide pour l’expérimentation. La combinaison de servomoteurs, d’un microcontrôleur programmable et d’une entrée par télécommande permet de tester de nouvelles idées sans repartir de zéro. Pour les constructeurs à l’aise avec le code, l’une des extensions les plus simples consiste à remapper les commandes de la télécommande ou à ajouter de nouvelles fonctions. Une variante appelée Roulette programme la tourelle pour qu’elle pivote et s’arrête périodiquement, simulant le lancer d’un dé à six faces à chaque arrêt. La tourelle ne tire que si le résultat aléatoire respecte une condition précise, introduisant ainsi un élément de hasard dans la logique de tir et transformant le système en mécanisme interactif.

Support imprimable en 3D pour capteur ultrasonique.

Le matériel peut également être modifié. Certains constructeurs ont ajouté des capteurs, comme des télémètres ultrasoniques, afin de créer un mode « sentinelle » où la tourelle balaie son environnement jusqu’à détecter un mouvement. Ces modifications exigent quelques ajustements logiciels, mais ouvrent la voie à des modèles d’interaction plus avancés.

Modification à quatre canons de la tourelle IR, telle que partagée sur Printable.

La personnalisation peut aussi s’étendre à la conception physique. Puisque le châssis est fait de bois et de plastique, il peut être reconstruit, peint ou remplacé par des pièces imprimées en 3D. Un exemple est cette version à quatre canons partagée sur Printable. CrunchLabs encourage ces initiatives créatives et invite les utilisateurs à partager leurs réalisations et leurs badges sur le site du projet.

Pour ceux qui souhaitent aller plus loin, des développeurs ont publié le code source sur GitHub. Le micrologiciel peut être modifié dans l’IDE Arduino ou dans des outils plus avancés comme Visual Studio Code. Le téléversement de versions personnalisées demeure simple, et la structure claire du code facilite sa compréhension et son extension. Qu’il s’agisse d’ajuster le comportement de tir ou d’inventer une nouvelle mécanique de jeu, le projet offre un environnement souple pour expérimenter avec les systèmes embarqués.

Réflexions finales

La tourelle IR constitue une véritable invitation à apprendre. Elle aborde des concepts fondamentaux en électronique, en contrôle mécanique et en programmation embarquée dans un cadre structuré et progressif. La structure en bois est solide et agréable à assembler, et le micrologiciel préchargé élimine plusieurs obstacles techniques qui freinent souvent les débutants.

Ce qui distingue ce projet est son accessibilité. Les constructeurs ne reçoivent pas seulement des instructions, mais des outils et un cadre qui favorisent l’exploration. Le code est lisible et bien organisé, le matériel est fiable, et les exemples partagés par la communauté démontrent le potentiel au-delà de la configuration par défaut. Que l’on débute avec Arduino ou que l’on cherche une manière concrète d’améliorer ses compétences en prototypage, la tourelle IR représente une première étape solide dans l’écosystème Hack Pack.

🙏
Remerciements à WKoA du Discord Hack Pack pour son aide dans la clarification des détails concernant les servomoteurs et la carte Arduino.