Tu as rêvé de donner vie à ton animal de compagnie électronique et de le faire interagir ? Dans ce projet, le capteur de lumière de l’UNIHIKER K10 simule la « tête » de l’animal, tandis que les capteurs de lumière gauche et droit du Maqueen Plus simulent ses « pattes ». Grâce à ce dispositif, tu peux interagir avec ton animal par de simples mouvements : il perçoit ta « présence » et réagit en conséquence. Découvrons ensemble comment rendre ton animal de compagnie électronique plus vivant et amusant !
Objectif de la tâche
Grâce à des capteurs de lumière, configure des modes interactifs pour ton animal de compagnie électronique afin qu’il réagisse différemment selon tes interactions. Lorsque tu touches le capteur de lumière du UNIHIKER K10, l’animal affiche une expression joyeuse et tourne sur lui-même ; lorsque tu touches le capteur de lumière gauche du Maqueen Plus, l’animal affiche une expression espiègle et recule pour t’éviter.

Points de connaissance
- Comprendre le rôle des capteurs dans l’interaction avec les robots
- Comprendre le rôle du flux « entrée-traitement-sortie » dans la conception d’interaction
- Apprendre à obtenir des valeurs à partir de capteurs de lumière et à effectuer une évaluation du seuil
Liste du matériel

Exercice pratique
Ce défi se déroule en deux étapes, chacune comprenant deux tâches, afin de concevoir et de mettre en œuvre le mode interactif de l’animal de compagnie électronique. La première tâche consiste à acquérir les données des capteurs et à initialiser les expressions de l’animal, tandis que la seconde améliore la logique interactive et le retour d’information dynamique de l’animal en fonction des données des capteurs.
Tâche 1 : Collecte de données et initialisation de l’expression
En lisant les données des capteurs de lumière, on comprend les conditions d’éclairage ambiant et on initialise l’expression de l’animal.
Tâche 2 : Concevoir une logique interactive
En se basant sur les variations des données recueillies par les capteurs de lumière, concevoir et implémenter la logique de réaction dynamique de l’animal de compagnie électronique. Ceci permet à l’animal d’afficher différentes émotions ou actions en fonction des changements environnementaux, renforçant ainsi l’interactivité et le dynamisme.
L’implémentation concrète est la suivante :
- Lorsque l’on touche le capteur de lumière du UNIHIKER K10, l’animal tourne sur lui-même et affiche une expression joyeuse.
- Lorsque l’on touche le capteur de lumière gauche du Maqueen Plus, l’animal recule pour éviter la lumière, simulant une réaction timide ou d’évitement, et affiche une expression espiègle.
Tâche 1 : Collecte de données et initialisation de l’expression
1. Connexion matérielle
Utilise un câble de données USB 3.0 vers Type-C pour connecter la voiture robot à l’ordinateur.
Remarque : L’extrémité de type C doit être connectée au UNIHIKER K10.

2. Préparation du logiciel
Ouvrez Mind+ et terminez la configuration du logiciel comme indiqué dans les illustrations suivantes.

3. Programmation
(1) Lire les valeurs du capteur de lumière
Pour cette tâche, il est nécessaire de visualiser les valeurs du capteur de lumière via la sortie série. Par conséquent, la commande « serial write string Wrap » doit être utilisée pour afficher les résultats de lecture du capteur.

Pour obtenir l’intensité lumineuse ambiante sur l’UNIHIKER K10, utilisez la commande « read light » dans la « zone de commande UNIHIKER K10 » et intégrez-la dans la commande « serial write string Wrap » pour afficher le résultat sur le port série.

Pour obtenir les données du capteur de luminosité de la voiture Maqueen Plus, accédez à la zone de commandes « Carte d’extension » et sélectionnez la commande « read light intensity laft ». De même, intégrez-la dans la commande « write in string » pour afficher le résultat.

Pour obtenir les données du capteur de lumière droit, il suffit de remplacer « gauche » par « droite » dans la commande « read light intensity left ».

(2) Initialiser l’affichage de l’expression
Lorsque l’animal est inactif, son expression initiale est « ennuyé ». Dans la leçon 2, tous les fichiers image d’expression ont déjà été téléchargés. Dans ce défi, nous utiliserons directement l’image d’expression « 7 – Boring ».
Utilise la commande « cache local image » et affiche l’image à la position (X : 0, Y : 0). Clique sur l’icône « Paramètres » au centre de la commande, sélectionnez « Ouvrir » dans le menu déroulant, puis choisissez l’image de l’expression dans le dossier local. Dans les propriétés de l’image, définie la largeur à 240 et la hauteur à 320 pour qu’elle s’affiche correctement à l’écran.
123CODAGE\10 PROJETS ROBOTS\MAQUEEN\14-defi03


Ensuite, utilise la commande « show cached content » pour actualiser l’image mise en cache à l’écran. L’expression étant affichée dynamiquement, la commande « wait 0.1 seconds » doit être utilisée pour contrôler la durée d’affichage de chaque image.

Les trois images restantes peuvent être définies une à une selon la même méthode : chargées et affichées successivement pour former une expression animée « ennuyeuse ». Le programme complet est présenté ci-dessous :

4. Exécution du programme
Avant d’exécuter le programme, veille à t’assurer que le UNIHIKER K10 est correctement connecté à l’ordinateur via un câble USB. Une fois la connexion établie, cliquez sur le bouton « Télécharger ». Une fois l’exécution du programme terminée, l’image exprimant l’ennui s’affichera dynamiquement sur l’écran du UNIHIKER K10.


Pour visualiser les valeurs détectées par le capteur de lumière, ouvrez simplement la fenêtre du port série dans la zone d’affichage du terminal de Mind+. Vous pourrez ainsi observer les données de sortie du capteur en temps réel. Essayez de couvrir l’un des capteurs de lumière avec votre main et observez si les valeurs changent !
Remarque : Pour visualiser les données via le port série, l’UNIHIKER K10 doit être connecté à l’ordinateur à l’aide d’un câble USB.

5. Essayez
Étant donné la rapidité de mise à jour des valeurs des capteurs de lumière sur le port série, il est difficile de déterminer directement à quel capteur correspond chaque valeur. Existe-t-il un moyen de distinguer rapidement l’intensité lumineuse détectée par chaque capteur ? Essaye de trouver une solution créative : une méthode d’affichage plus claire ou une stratégie d’étiquetage pourraient-elles résoudre ce problème ?
Tâche 2 : Concevoir une logique interactive
1. Programmation
En t’appuyant sur la tâche 1, continue d’améliorer le programme en ajoutant une logique interactive. Cette logique peut être divisée en trois parties : interaction avec la tête, interaction avec le pied gauche et interaction avec le pied droit.




(1) Interaction de la tête
Lorsque l’utilisateur couvre le capteur de lumière du UNIHIKER K10 (simulant une action de « caresse sur la tête »), l’animal réagit par une réaction « joyeuse » : il tourne d’abord sur lui-même, puis adopte une expression « joyeuse » et affiche cet état à l’écran.
Créez une nouvelle fonction appelée « Interaction avec la tête » et effectue les opérations suivantes :

· Contrôle de mouvement
Utilise le bloc « set left motor direction rotate forward » de la section « Expansion Board » pour faire tourner les moteurs gauche et droit dans des directions opposées à la même vitesse (100), permettant ainsi à l’animal de tourner sur place.

Tourner à gauche : Régle le sens de rotation du moteur gauche sur arrière et celui du moteur droit sur avant

Tourner à droite : Régle le sens de rotation du moteur gauche sur avant et celui du moteur droit sur arrière, puis maintien cette position pendant 3 secondes.

Arrêt : Utilise la commande « set all motor stop » pour arrêter tous les moteurs.

· Commutateur d’expression
Utilise l’instruction « cache local image » pour charger les fichiers image , puis l’instruction « show cached content » pour afficher ou mettre à jour le contenu à l’écran.



• Déclencher la fonction « Interaction avec la tête »
Ajoute une logique conditionnelle dans le programme principal pour utiliser la commande « read light » afin d’obtenir la valeur actuelle du capteur de lumière.

Utilise l’instruction « si… alors » pour appeler la fonction « Interaction de la tête » lorsque la valeur détectée est inférieure à 50 (c’est-à-dire que la lumière est atténuée parce que la main couvre le capteur).

(2) Interaction du pied gauche
Lorsque l’utilisateur touche la zone « pied gauche » sur la carte mère Maqueen Plus V3 (en touchant le capteur photoélectrique Light-L), l’animal se déplace d’abord vers la gauche, puis vers la droite pour simuler un mouvement d’évitement, puis prend une expression « coquine ».
Créez une nouvelle fonction appelée « Left foot interaction ».

· Contrôle de mouvement
Utilise le bloc « set motor direction rotate speed » de la section « Expansion Board » pour régler le moteur gauche afin qu’il se déplace vers l’arrière à une vitesse de 200 pendant 0,2 seconde, puis utilisez le bloc « set all motor » pour arrêter tous les moteurs.

Utilise ensuite le bloc « set motor direction rotate speed » pour configurer le moteur droit afin qu’il recule à une vitesse de 200 pendant 0,2 seconde, et utilisez le bloc « set all motor » pour arrêter tous les moteurs.


· Commutateur d’expression




• Déclencher la fonction « Interaction du pied gauche »
Ajoutez une logique conditionnelle au programme principal. Utilise la commande « lire l’intensité lumineuse gauche » de la carte d’extension pour obtenir la valeur du capteur de luminosité gauche du véhicule.

Utilise la commande « si…alors ». Lorsque la valeur détectée est inférieure à 50 (indiquant que la lumière a faibli, par exemple lorsqu’une main couvre le capteur Light-L), appelez la fonction « Left foot interaction ».


Le programme complet est le suivant :

2. Exécution du programme
Avant d’exécuter le programme, assure toi que l’UNIHIKER K10 est correctement connecté à l’ordinateur à l’aide d’un câble USB. Une fois la connexion établie, clique sur le bouton « Télécharger» et patiente pendant le chargement du programme.
Une fois le programme lancé, l’écran du UNIHIKER K10 affichera dynamiquement une expression « ennuyeuse ».
Lorsque vous couvrez le capteur de lumière situé sur le dessus de l’UNIHIKER K10 (simulant une tape sur la tête), la voiture tournera à gauche sur place pendant 3 secondes, puis à droite pendant 3 secondes, et adoptera une expression de « rire ».
Lorsque tu couvres le capteur lumineux Light-L du côté gauche de la voiture (en simulant le fait de toucher son pied gauche), la voiture effectuera trois mouvements d’évitement vers l’arrière gauche et l’arrière droit, puis adoptera une expression « coquine ».

3. Essaye
Dans la tâche 2, tu as déjà terminé la programmation pour « Interaction avec la tête » et « Interaction avec le pied gauche ». Ensuite, essaye d’utiliser la même méthode pour compléter la fonction « Interaction avec le pied droit » !
Conseil : Lors de l’interaction avec le pied droit, la voiture doit d’abord reculer vers la droite et afficher une expression appropriée.
Coin des connaissances
1. Comprendre le rôle des capteurs dans l’interaction avec les robots
Qu’est-ce qu’un capteur ? Un capteur est comparable à l’organe sensoriel d’un robot, lui permettant de percevoir le monde extérieur. Les capteurs convertissent des informations telles que la lumière, la distance et la température en signaux envoyés à la carte de contrôle principale pour traitement. Voici quelques exemples de capteurs de base.

Comment les capteurs permettent-ils aux robots d’interagir ? Pour interagir, un robot doit d’abord percevoir les actions humaines ou les changements dans son environnement. Les capteurs servent de passerelle, de canal d’information, pour ce processus.
- Acquisition d’informations externes : Permet au robot de détecter les interactions.
- Déclenchement de réponses comportementales : Lorsque des changements spécifiques sont détectés, le robot effectue des actions correspondantes (comme se tourner ou changer d’expression).
- Interaction homme-robot : Le robot réagit à nos actions grâce aux données de ses capteurs, pour une expérience à la fois ludique et intelligente.
2. Le rôle du flux « Entrée – Traitement – Sortie » dans la conception d’interaction
Dans l’interaction entre les robots et les humains, tout processus comportemental complet comprend généralement trois étapes clés : l’entrée, le traitement et la sortie.

Le flux « Entrée – Traitement – Sortie » est au cœur de la conception d’interactions. Sans une évaluation correcte des entrées, le robot ne peut pas répondre avec précision. On peut concevoir chaque interaction comme un flux de données : il suffit de déterminer quel capteur utiliser pour percevoir quoi, dans quelles conditions l’interaction est « déclenchée » et comment le robot doit « répondre ». Grâce à cette approche, tu peux concevoir des interactions robotiques ludiques et captivantes !

Relevez le défi
Dans nos précédentes expériences d’interaction, l’animal de compagnie électronique réagissait par de nombreuses actions : rotation, recul, changement d’expression… grâce à différents capteurs lumineux. Ajoutons maintenant du son pour qu’il puisse exprimer ses émotions par différentes tonalités, pour une expérience interactive encore plus immersive ! À toi de jouer !
- Ajoute un bip joyeux à l’interaction « Tête », pour que l’animal émette un joyeux « bip bip » en tournant ;
- Ajoute un effet sonore espiègle à l’interaction « Patte gauche », par exemple en alternant des tonalités aiguës et graves pour plus de fun ;
- Conçoit ta propre « bibliothèque d’expressions sonores », pour que chaque interaction soit accompagnée d’une tonalité émotionnelle unique.
Essaye ! Ton animal de compagnie électronique peut-il exprimer des émotions et des réactions par une combinaison d’actions, d’expressions et de sons ?
