Dans la continuation de nos dernières publications, nous proposons une nouvelle extension Makecode pour Micro:bit, résolvant quelques difficultés rencontrées au cours des ateliers de chasse au trésor.
Lors de ces ateliers, il faut retrouver des cartes émettant un signal radio régulier dissimulées dans un grand espace. L'enjeu est de fabriquer son propre détecteur affichant la puissance du signal sous forme de barres, pour estimer la position relative des cartes cachées par une mécanique de chaud-froid. S'il faut trouver 8 cartes, le détecteur recevra régulièrement plusieurs signaux en même temps. Avec une implémentation naïve, il traitera ces messages séquentiellement, trompant l'intuition des participants : le signal faible d'une carte éloignée s'affichera juste après un signal fort d'une carte proche. Couplé aux incertitudes de mesures, cela rend la tâche ardue, surtout pour de jeunes participants.
Une nouvelle fois, une solution uniquement en blocs à portée des débutants n'est pas envisageable. C'est pourquoi nous publions une nouvelle extension Makecode, nommée tresor, qui propose un unique bloc « lorsqu'un signal de puissance p est détecté ». En coulisse, le module se charge de n'afficher que le plus puissant des signaux récemment reçus. Ce bloc personnalisé permet également d'occulter la transformation de la puissance du signal en un nombre entier entre 0 et 5, chose difficile à expliquer dans la première version de l'atelier.
Comme toujours, le code est disponible sur GitHub. L'extension peut être intégrée dans un projet Makecode en recherchant « ychalier-rlv/tresor » dans la barre de recherche d'extensions. Le déroulé complet de l'atelier est disponible sur notre wiki. Si vous tentez l'expérience, nous sommes preneurs de retours !