Hé! Vous semblez être en United States, souhaitez-vous utiliser notre site English ?
Switch to English site
Skip to main content

Mindful Droid - Sensibiliser et changer les niveaux de pollution de l'air : 3e Partie

Final working version of the Mindful Droid

Le Mindful Droid a été programmé avec des paramètres pour s'adapter à la qualité de l'air à l'intérieur et à l'extérieur, ainsi que pour être en corrélation avec le kit ESDK de RS DesignSpark.

L'utilisation de LED colorées adressables RVB a permis de créer des animations amusantes et faciles à comprendre, grâce à l'utilisation de Pixel Art, et qui changent en fonction des paramètres et des relevés spécifiques sur la qualité de l'air en direct. Dans mon dernier article, j'ai décrit les guides de construction, les composants et les objectifs. Ici, je décris comment le Droid final s'est assemblé, les tests en direct, le code et les sources utilisées pour obtenir l'animation Pixel, ainsi que ce que j'aurais pu faire de mieux.

Le Mindful Droid s'anime à différents niveaux de qualité de l'air, en décrivant les résultats des capteurs CO2 et CO : bon, correct, mauvais et extrêmement mauvais. Le niveau extrêmement mauvais se traduit par l'affichage d'un visage triste à pleurer smiley en plus du son d'une alarme sonore vous incitant à prendre des mesures, par exemple ouvrir la fenêtre, ou changer d'environnement.

Assemblage du Droid

Dans mon dernier article, il y avait un problème que j'ai identifié sur le Droid. J'avais des problèmes avec un capteur qui ne donnait pas de résultats précis. Il s'agissait du capteur de rupture de gaz MICS5524, qui ne figurait pas sur la liste des pièces, bien qu'il était sur la conception de la carte PCB.

Ce processus fut un véritable défi, car j'ai eu l'impression de devoir réviser beaucoup de choses pour tenir compte d'un nouveau capteur et me contenter de la conception existante du PCB. Avec beaucoup de détermination, de persévérance et de nombreux prototypes d'impression 3D ratés, j'ai pu trouver une solution et une nouvelle position sur le Droid pour accueillir le nouveau capteur de CO, me donnant ainsi le résultat souhaité.

Le câblage et la connexion des composants furent assez simples. J'ai veillé à ce que la polarité soit respectée avant de souder, ce qui m'a évité d'avoir des problèmes au cours du processus de construction et de test.

PCB constriction of the droid

Si c'était à refaire, je m'assurerais qu'il y ait moins de contraintes et plus de flexibilité dans la construction du Droid - l'une d'entre elles étant la conception de la carte PCB pour permettre des composants mobiles/interchangeables.

La vidéo ci-dessous montre comment j'ai assemblé les pièces et les composants :

 

Le développement de l'animation Pixel Art

J'ai dû utiliser une plateforme open-source PixelArt pour concevoir l'animation artistique du Droid. Le processus fut assez simple une fois que j'ai su le type d'animation que je voulais sur le Droid. La plateforme dispose de tutoriels sur la façon d'obtenir l'effet de conception souhaité. Pour ce processus, je vous recommande de commencer par dessiner vos idées sur du papier pour mieux comprendre comment les transposer en pixel art. J'ai eu du mal à obtenir des dessins proportionnels sur le Droid car la taille de la toile de pixel était restreinte à 18x10. Cependant, j'ai réussi à faire des dessins de 18 pixels pour le Droid et le plus amusant est que vous pouvez aussi le faire vous-même en suivant les étapes indiquées.

J'envisagerais d'opter pour une taille de pixel plus petite, afin de pouvoir manipuler facilement les images dans la toile de pixels.

L'exemple ci-dessous est un dessin de pixel de visage en colère qui apparaîtra et se reflétera dans une pièce ou un environnement très pollué.

angry face pixel design

Une fois le design réalisé, la phase suivante consiste à le convertir en Droid. Cela se fait à l'aide du logiciel Led Matrix Control (LMCS) du YouTuber Tyler Jones. Ce logiciel est utilisé pour contrôler la matrice de LED en temps réel.

Le logiciel de contrôle des LED permet de convertir les fichiers de conception de pixels, ce qui signifie que je peux enregistrer la conception au format « *.txt » qui sera lisible par le Droid lorsqu'il sera téléchargé sur Arduino. Une autre fonctionnalité intéressante de LMCS est que vous pouvez télécharger des images réelles et les convertir directement en pixel art en temps réel avec peu ou pas d'itérations.

Le lien ci-dessus sur son nom, vous dirige vers ses tutoriels vidéo YouTube sur la façon de réaliser la conception de pixel art souhaitable et les animations de votre choix.

Le développement du code et des tests

Je n'aurais pas été en mesure de réaliser cette partie sans les conseils d'Ahmsville et je suis super reconnaissant du soutien qu'il a apporté à ce projet.

En plus de l'animation et de la fonction d'affichage de mots de sensibilisation sur le Droid, il y a quelques autres fonctions comme un buzzer lorsque le niveau de pollution dépasse un certain seuil, une fonction d'affichage d'horloge qui peut servir d'horloge de table de chevet et une éventuelle fonction de jeu.

Les fonctions énumérées ci-dessus sont possibles grâce à la carte Arduino MKR WIFI 1010, qui possède la capacité Wi-Fi et se base sur la puce ATSAD21. Le Droid a de multiples fonctions et exécute plusieurs choses à la fois, ce qui veut dire que je dois trouver un moyen de régler les fonctions et de permettre à l'utilisateur de mettre ses préférences personnelles en ce qui concerne la qualité de l'air qu'il veut surveiller ou ce qui compte le plus pour sa santé et son environnement.

Le programme que je voulais faire fonctionner sur cette carte devait faire beaucoup de choses différentes à la fois. Ainsi, pour aider à le décomposer en étapes simples, j'ai énuméré ci-dessous les étapes que j'ai effectuées pour que ses fonctions principales répondent aux souhaits éventuels, au fur et à mesure de l'évolution des codes :

  • Test : Les LED fonctionnent-ils sur la carte PCB ?
  • Test : Les animations fonctionnent-elles sur les pixels d'affichage ?
  • Test : Les capteurs de qualité de l'air fonctionnent-ils en vérifiant le moniteur série sur Arduino ?
  • Faire fonctionner le wifi + MQTT sur le Droid
  • Modifier les animations sur le Droid en fonction des lectures et des valeurs des capteurs.
  • Transformer les animations du Droid en images sur Arduino.
  • Faire en sorte que les valeurs en direct de l'ESDK alimentent directement l'animation du Droid.
  • Collecter les données, les télécharger et les stocker dans le nuage Grafana.

 

Le Droid est piloté par le CO2 lorsqu'il est à l'intérieur et par le CO lorsqu'il est à l'extérieur. Il utilise également le capteur des COV.

int CO2thresh[4] = {500, 1000, 1500, 5000};

int VOCthresh[4] = {20, 50, 100, 150};

int COthresh[4] = {9, 35, 800, 12,800};

int GENERALAIRQUALITYthresh[4] = {65, 100, 150, 200};

À 400ppm de CO2, l'animation devrait avoir un smiley cool et heureux avec des lunettes. À plus de 500 ppm, dans un espace intérieur normal occupé avec un bon échange d'air, l'animation doit être un smiley vert à ambre ou jaune. À plus de 1200 ppm, l'utilisateur se rendra compte que l'animation du smiley triste passe du vert au rouge, et l'animation sera donc beaucoup plus fréquente. À 1600 ppm et plus, le Droid attire l'attention sur lui en émettant un signal sonore intermittent et en changeant l'animation en un visage triste et en larmes.

J'ai également un capteur de qualité de l'air général sur le Droid qui serait le paramètre par défaut lorsque le Droid est allumé. Les boutons situés de part et d'autre du Droid permettent d'alterner entre les capteurs AQ et peuvent également être programmés pour modifier les caractéristiques et les fonctions du Droid.

Le code du Droid peut être reprogrammé pour quelque chose de plus spécifique ou équipé de plus de caractéristiques et de fonctions pour sensibiliser et changer la pollution de l'air.

D'après la vidéo de démonstration, le système fonctionne bien et donne un résultat précis par rapport aux données recueillies par l'ESDK et par le Droid lui-même.

Ce que j'aurais aimé faire si j'avais eu le temps, c'est explorer davantage l'interface utilisateur et l'expérience sur le Droid pour assurer une interaction fluide et complète. J'aurais également aimé jouer avec l'animation un peu plus à l'avenir, car je pense qu'il y a de la place pour plus d'expérimentation et de meilleures conceptions de pixel art.

Dans l'ensemble, ce projet s'est avéré très intéressant et m'a permis de repousser les limites de ma zone de confort.  Je suis satisfait du résultat obtenu jusqu'à présent et je ne peux qu'espérer qu'il soit mené plus loin.

Mindful Droid sitting on a car dashboard

Mindful Droid being carried across shoulder

J'espère qu'à l'avenir, il y aura un Mindful Droid 2.0 modulaire, compact et plus petit, qui pourra être facilement accessible aux enfants, aux adultes, aux écoles et aux institutions pour aider à sensibiliser et à changer les effets de la pollution d'une manière interactive et amusante.

Vous trouverez ci-dessous une vidéo montrant le fonctionnement du Mindful Droid en temps réel et en connexion avec le kit ESDK.

Mise à jour de la structure de mode pour le Droid

Vous trouverez ci-dessous d'autres ajouts avec de nouvelles caractéristiques, fonctions et ajustements au code existant pour le Droid.

Michael is an Industrial Design Engineer, Maker and winner of the Young Innovators Award 2021, with over 9 years experience working in various industry sectors. Having a problem solving background, he is always enthusiastic about finding solutions to problems that challenge everyday living. His key focus points are inclusivity, functionality with consciousness, and sustainability.