{"id":5863,"date":"2020-01-06T16:19:45","date_gmt":"2020-01-06T15:19:45","guid":{"rendered":"https:\/\/telefab.fr\/?p=5863"},"modified":"2026-04-30T17:33:32","modified_gmt":"2026-04-30T15:33:32","slug":"article-de-blog-sur-la-solution-technique-mindpeace","status":"publish","type":"post","link":"https:\/\/hub.imt-atlantique.fr\/fablab\/article-de-blog-sur-la-solution-technique-mindpeace\/","title":{"rendered":"MindPeace &#8211; Solution Technique"},"content":{"rendered":"<p><span style=\"font-weight: 400;\">Auteurs:\u00a0 GHANDI Sanaa- LAFEUILLADE Timoth\u00e9e- Ilona MALLEIN-GERIN<\/span><\/p>\n<p>&nbsp;<\/p>\n<h3><b>Plan:<\/b><\/h3>\n<h4>I-Contexte<\/h4>\n<h4>II-Pr\u00e9sentation de la solution technique de mani\u00e8re synth\u00e9tique<\/h4>\n<h4>III-Pr\u00e9sentation de la solution de mani\u00e8re d\u00e9taill\u00e9e<\/h4>\n<h4>IV-Lien vers le code<\/h4>\n<h4>V-Protocole de communication<\/h4>\n<h4>VI-Justification des choix techniques<\/h4>\n<h4>VII-Perspectives<\/h4>\n<h4>VIII-Sources<\/h4>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h4><b>I-Contexte<\/b><\/h4>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">Dans le cadre de notre projet TAF COOC, nous \u00e9tions amen\u00e9s \u00e0 r\u00e9aliser un objet permettant d\u2019optimiser l\u2019apprentissage des enfants atteints de troubles d\u2019attention. Ces derniers sont souvent sujets \u00e0 des crises de panique et ont une faible capacit\u00e9 de concentration, ce qui les freine dans leur \u00e9ducation. Nous avons ainsi con\u00e7u un objet communicant qui a pour fonction de rassurer ces enfants et de raviver ponctuellement leur attention, lorsqu\u2019ils doivent effectuer une t\u00e2che par exemple.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Nous avons r\u00e9alis\u00e9 un prototype de cet objet qui gr\u00e2ce \u00e0 une LED et un \u00e9cran LCD affiche des messages et diffuse des lumi\u00e8res douces. Nous avons aussi d\u00e9velopp\u00e9 une application permettant aux parents de choisir les couleurs et les messages \u00e0 afficher sur l\u2019objet. Gr\u00e2ce \u00e0 cela, l\u2019objet est personnalisable pour chaque enfant.<\/span><\/p>\n<p>&nbsp;<\/p>\n<h4><b>II-Pr\u00e9sentation de la solution technique de mani\u00e8re synth\u00e9tique<\/b><\/h4>\n<p>&nbsp;<\/p>\n<h5>1) L\u2019objet<\/h5>\n<p><span style=\"font-weight: 400;\">L\u2019objet a la forme d\u2019une boule. D\u2019un c\u00f4t\u00e9, l\u2019objet repr\u00e9sente une t\u00eate d\u2019ours. Du tissu doux est coll\u00e9 sur toute cette moiti\u00e9 de l\u2019objet. De l\u2019autre c\u00f4t\u00e9, la place est laiss\u00e9e pour l\u2019\u00e9cran qui peut afficher des messages. Le chapeau, fait d\u2019un mat\u00e9riau translucide, s\u2019illumine gr\u00e2ce \u00e0 une LED Neopixel.<\/span><\/p>\n<p><a href=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2019\/12\/n1.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-5892\" src=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2019\/12\/n1-300x225.jpg\" alt=\"\" width=\"399\" height=\"299\" \/><\/a><a href=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2019\/12\/n2.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-5893\" src=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2019\/12\/n2-225x300.jpg\" alt=\"\" width=\"225\" height=\"300\" \/><\/a><\/p>\n<p><em>Fig1: Face arri\u00e8re de l&rsquo;objet: ours (\u00e0 gauche),\u00a0 Face devant de l&rsquo;objet contenant l&rsquo;\u00e9cran (\u00e0 droite)<\/em><\/p>\n<p><a href=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2019\/12\/IMG_3834.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-5894\" src=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2019\/12\/IMG_3834-300x225.jpg\" alt=\"\" width=\"323\" height=\"242\" \/><\/a><\/p>\n<p><em>\u00a0Fig2: La face avant de l&rsquo;objet est personnalisable<\/em><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h5>2) L\u2019application<\/h5>\n<p><span style=\"font-weight: 400;\">Sur l\u2019\u00e9cran d\u2019accueil, il faut d\u2019abord se connecter en BlueTooth \u00e0 l\u2019objet. Le menu propose ensuite deux actions possibles : choisir les couleurs du chapeau et programmer un message.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Pour le chapeau, l\u2019utilisateur choisit 3 couleurs qui vont d\u00e9filer en continu sur l\u2019objet. Il s\u00e9lectionne les couleurs sur la roue des couleurs. Pour les messages, seuls les messages de 32 caract\u00e8res sont compatibles avec l\u2019\u00e9cran. L\u2019utilisateur rentre le message directement dans le champs de saisie et clique sur valider.<\/span><\/p>\n<p><a href=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2019\/12\/a1.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-5886\" src=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2019\/12\/a1-169x300.jpg\" alt=\"\" width=\"169\" height=\"300\" \/><\/a><a href=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2019\/12\/a2.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-5888\" src=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2019\/12\/a2-169x300.jpg\" alt=\"\" width=\"169\" height=\"300\" \/><\/a><a href=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2019\/12\/a3.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-5889\" src=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2019\/12\/a3-169x300.jpg\" alt=\"\" width=\"169\" height=\"300\" \/><\/a><\/p>\n<p><em>Fig3: L&rsquo;application: fonctionnalit\u00e9 de changement de couleur<\/em><\/p>\n<p><a href=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2019\/12\/IMG_3843.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-5895\" src=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2019\/12\/IMG_3843-300x225.jpg\" alt=\"\" width=\"300\" height=\"225\" \/><\/a><\/p>\n<p><em>Fig4: Le chapeau s&rsquo;illumine par les couleurs choisies<\/em><\/p>\n<p><a href=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2019\/12\/a4.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-5890\" src=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2019\/12\/a4-169x300.jpg\" alt=\"\" width=\"169\" height=\"300\" \/><\/a><a href=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2019\/12\/IMG_3844.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-5896\" src=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2019\/12\/IMG_3844-300x225.jpg\" alt=\"\" width=\"300\" height=\"225\" \/><\/a><\/p>\n<p><em>Fig5: Fonctionnalit\u00e9 d&rsquo;envoi de message, affichage du message sur l&rsquo;\u00e9cran LCD<\/em><\/p>\n<p>Voici une vid\u00e9o du fonctionnement (qui est pas mal! )<\/p>\n\n<p>\u00a0<\/p>\n<p>\u00a0<\/p>\n<h4><b>III-Pr\u00e9sentation de la solution de mani\u00e8re d\u00e9taill\u00e9e<\/b><\/h4>\n<p>&nbsp;<\/p>\n<h5>1)Diagramme d\u2019architecture mat\u00e9rielle\/logicielle<\/h5>\n<p>&nbsp;<\/p>\n<p><a href=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2019\/12\/graphe.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-5871\" src=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2019\/12\/graphe-300x162.png\" alt=\"\" width=\"520\" height=\"281\" \/><\/a><\/p>\n<p><em>Fig6: Diagramme d&rsquo;architecture mat\u00e9rielle et logicielle<\/em><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">Liste du mat\u00e9riel<\/span><\/p>\n<p><span style=\"font-weight: 400;\">&#8211; Une carte Arduino UNO Rev3<\/span><\/p>\n<p><span style=\"font-weight: 400;\">&#8211; Un afficheur LCD 2&#215;16 I2C<\/span><\/p>\n<p><span style=\"font-weight: 400;\">&#8211; Une LED Neopixel Unique<\/span><\/p>\n<p><span style=\"font-weight: 400;\">&#8211; Un mini haut-parleur dynamique 2W<\/span><\/p>\n<p><span style=\"font-weight: 400;\">&#8211; Un module BlueTooth HC-05<\/span><\/p>\n<p><span style=\"font-weight: 400;\">&#8211; Des c\u00e2bles<\/span><\/p>\n<p>&nbsp;<\/p>\n<h5>2)Mat\u00e9riel utilis\u00e9 et montage \u00e9lectronique<\/h5>\n<p>&nbsp;<\/p>\n<h6>a-Carte Arduino UNO [4]<\/h6>\n<p><a href=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2019\/12\/arduino.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-5873\" src=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2019\/12\/arduino-300x207.png\" alt=\"\" width=\"372\" height=\"257\" \/><\/a><\/p>\n<p><em>Fig7: Carte Arduino Uno<\/em><\/p>\n<p>&nbsp;<\/p>\n<h5>b-Afficheur LCD 2&#215;16 I2C [3]<\/h5>\n<p>&nbsp;<\/p>\n<p><a href=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2019\/12\/lcd.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-5874\" src=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2019\/12\/lcd-300x218.png\" alt=\"\" width=\"300\" height=\"218\" \/><\/a><\/p>\n<p><em>Fig8: Afficheur LCD<\/em><\/p>\n<p><span style=\"font-weight: 400;\">ll se compose de deux parties: un \u00e9cran LCD \u201cclassique\u201d et au dos un module d\u2019interface I2C.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">La communication avec une carte Arduino se fait avec le protocole I2C (voir internet pour plus de d\u00e9tails) sur deux lignes d\u00e9nomm\u00e9es SCL et SDA. Il faut ajouter les lignes d\u2019alimentation Vcc et GND.<\/span><\/p>\n<p><strong>Pour le c\u00e2blage:<\/strong><\/p>\n<p><span style=\"font-weight: 400;\">on relie le VCC au 5V et le GND au GND de l\u2019Arduino<\/span><\/p>\n<p><span style=\"font-weight: 400;\">le SDA sur A4<\/span><\/p>\n<p><span style=\"font-weight: 400;\">le SCL sur A5<\/span><\/p>\n<p><a href=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2019\/12\/cabl-lcd.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-5875\" src=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2019\/12\/cabl-lcd-300x170.png\" alt=\"\" width=\"300\" height=\"170\" \/><\/a><\/p>\n<p><em>Fig9: Cabl\u00e2ge du LCD<\/em><\/p>\n<p><strong>Biblioth\u00e8ques install\u00e9es:\u00a0<\/strong><\/p>\n<p><span style=\"font-weight: 400;\">LiquidCrystal_I2C<\/span><\/p>\n<p><span style=\"font-weight: 400;\"><strong>Fonctions utilis\u00e9es:<\/strong>\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u00a0\u00a0lcd.init();\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \/\/ initialise le lcd<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u00a0\u00a0lcd.backlight();<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u00a0\u00a0lcd.print(\u00ab\u00a0Hello, MindPeace!\u00a0\u00bb);\u00a0 \/\/ Affiche le message sur le LCD.<\/span><\/p>\n<p>&nbsp;<\/p>\n<h5>c-LED Neopixel Unique<\/h5>\n<p>&nbsp;<\/p>\n<p><a href=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2019\/12\/led.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-5876\" src=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2019\/12\/led-297x300.png\" alt=\"\" width=\"125\" height=\"126\" \/><\/a><\/p>\n<p><em>Fig10: Neopixel<\/em><\/p>\n<p>&nbsp;<\/p>\n<p><strong>Pour le c\u00e2blage:<\/strong><\/p>\n<p><span style=\"font-weight: 400;\">On relie le 5V au VCC<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Le GND au GND\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Et le in au Pin\u00a0 5<\/span><\/p>\n<p><a href=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2019\/12\/cabl-led.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-5877\" src=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2019\/12\/cabl-led-300x184.png\" alt=\"\" width=\"329\" height=\"202\" \/><\/a><\/p>\n<p><em>Fig11: Cabl\u00e2ge du Neopixel<\/em><\/p>\n<p>&nbsp;<\/p>\n<p><strong>Biblioth\u00e8ques install\u00e9es:\u00a0<\/strong><\/p>\n<p><span style=\"font-weight: 400;\">Adafruit_NeoPixel<\/span><\/p>\n<p><strong>Fonctions utilis\u00e9es:\u00a0<\/strong><\/p>\n<p><span style=\"font-weight: 400;\">\u00a0\u00a0Adafruit_NeoPixel strip = Adafruit_NeoPixel(24, PIN, NEO_GRB + NEO_KHZ800);<\/span><\/p>\n<p><i><span style=\"font-weight: 400;\">\/\/ Pour d\u00e9finir qu\u2019on utilise bien l\u2019ordre GRB et non pas RGB, et pour dire qu\u2019on travaille \u00e0 800KHz<\/span><\/i><\/p>\n<p><span style=\"font-weight: 400;\">\u00a0\u00a0strip.begin(); <\/span><i><span style=\"font-weight: 400;\">\/\/ initialisation des neopixels<\/span><\/i><\/p>\n<p><span style=\"font-weight: 400;\">\u00a0\u00a0strip.show(); <\/span><i><span style=\"font-weight: 400;\">\u00a0\/\/ applique l\u2019effet sur le neopixel ici il va s\u2019\u00e9teindre<\/span><\/i><\/p>\n<p><span style=\"font-weight: 400;\">\u00a0\u00a0strip.setPixelColor(0, strip.Color(0, 0, 255));<\/span><i><span style=\"font-weight: 400;\"> \/\/ on choisit la couleur qu\u2019on veut afficher ici le \u00a0 \u00a0 bleu , c\u2019est un code GRB ( green,red, blue)<\/span><\/i><\/p>\n<p><span style=\"font-weight: 400;\">\u00a0\u00a0strip.show();<\/span><i><span style=\"font-weight: 400;\"> \/\/ ici le neopixel s\u2019allume en bleu<\/span><\/i><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h5><\/h5>\n<h5>d-Mini Haut Parleur dynamique 2W <span style=\"font-weight: 400;\">[2]<\/span><\/h5>\n<p>&nbsp;<\/p>\n<h5><a href=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2019\/12\/hp.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-5878\" src=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2019\/12\/hp-205x300.png\" alt=\"\" width=\"205\" height=\"300\" \/><\/a><\/h5>\n<p><em>Fig12: Haut-parleur<\/em><\/p>\n<p><strong>Pour le c\u00e2blage:<\/strong><\/p>\n<p><span style=\"font-weight: 400;\">On relie un pin au VCC et l\u2019autre au pin 8 de l\u2019arduino.<\/span><\/p>\n<h5><a href=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2019\/12\/cabl-hp.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-5879\" src=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2019\/12\/cabl-hp-300x214.png\" alt=\"\" width=\"300\" height=\"214\" \/><\/a><\/h5>\n<p><em>Fig13: Cabl\u00e2ge du Haut-parleur<\/em><\/p>\n<p><strong>Fonctions utilis\u00e9es:\u00a0<\/strong><\/p>\n<p><span style=\"font-weight: 400;\">tone(8, 293, 112.5);\u00a0<\/span><\/p>\n<p><i><span style=\"font-weight: 400;\">Ce qui veut dire \u00e9mettre le son de fr\u00e9quence 293 Hz pendant 112.5 ms sur le pin 8\u00a0<\/span><\/i><\/p>\n<h5><\/h5>\n<p><strong>Autres possibilit\u00e9s:\u00a0<\/strong><\/p>\n<p><span style=\"font-weight: 400;\">Programmer des musiques comme en utilisant le format midi puis en le convertissant en un code arduino sous forme de suite de commande tone. [6]<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Ou d\u2019utiliser une carte SD qui contient d\u00e9j\u00e0 des sons sous format .wav [7]<\/span><\/p>\n<h5><\/h5>\n<p>&nbsp;<\/p>\n<h5>e-Module Bluetooth HC-05 [1]<\/h5>\n<p>&nbsp;<\/p>\n<h5><a href=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2019\/12\/cabl-bluet.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-5880\" src=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2019\/12\/cabl-bluet-300x170.png\" alt=\"\" width=\"339\" height=\"192\" \/><\/a><\/h5>\n<p><em>Fig14: Cabl\u00e2ge du module Bluetooth<\/em><\/p>\n<p><span style=\"font-weight: 400;\">Le comportement utilis\u00e9 est \u00ab\u00a0ma\u00eetre\/esclave\u00a0\u00bb. Un esclave pourra parler avec un seul ma\u00eetre, mais un ma\u00eetre pourra dialoguer avec plusieurs esclaves. Son utilisation, se passe en plusieurs \u00e9tapes\u202f:<\/span><\/p>\n<h5><\/h5>\n<p><span style=\"font-weight: 400;\">Le ma\u00eetre se met en mode \u00ab\u00a0reconnaissable\u00a0\u00bb<\/span><\/p>\n<p><span style=\"font-weight: 400;\">L\u2019esclave trouve le ma\u00eetre et demande \u00e0 s\u2019y connecter<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Le ma\u00eetre accepte la connexion<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Les p\u00e9riph\u00e9riques sont alors appair\u00e9s (ou associ\u00e9s)<\/span><\/p>\n<p><span style=\"font-weight: 400;\">La communication peut commencer [5]<\/span><\/p>\n<h5><\/h5>\n<p><strong>Remarque:<\/strong><\/p>\n<p><span style=\"font-weight: 400;\">Quand vous appareillez votre module Bluetooth sur votre t\u00e9l\u00e9phone le code que vous devez entrer est souvent 1234\u00a0<\/span><\/p>\n<p><strong>Pour le c\u00e2blage: [1]<\/strong><\/p>\n<p><span style=\"font-weight: 400;\">On relie le GND au GND, le 5V au VCC<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Et nous avions reli\u00e9 le RX au pin 11 et le TX au pin 12<\/span><\/p>\n<p><strong>Biblioth\u00e8ques install\u00e9es:\u00a0<\/strong><\/p>\n<p><span style=\"font-weight: 400;\">SoftwareSerial<\/span><\/p>\n<p><strong>Fonctions utilis\u00e9es:\u00a0<\/strong><\/p>\n<p><span style=\"font-weight: 400;\">SoftwareSerial bt(11, 10); \/\/ (RX, TX) (pin Tx BT, pin Rx BT) ( nous avons choisi d&rsquo;appeler notre module bluetooth bt )<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Serial.begin(9600); \/\/ Sur les PCs du fablab il faut choisir 9600 Bauds afin que les messages que vous imprimer puissent s\u2019afficher\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">bt.begin(9600);\u00a0 \/\/ d\u00e9marrage du bluetooth \u00e0 9600 bauds<\/span><\/p>\n<p><span style=\"font-weight: 400;\">while(bt.available() &gt; 0) \/\/ v\u00e9rifie qu\u2019il y\u2019a encore des donn\u00e9es \u00e0 lire re\u00e7ues par bluetooth<\/span><\/p>\n<p><span style=\"font-weight: 400;\">l_char = bt.read() \/\/ lis le caract\u00e8re re\u00e7u et le stock dans la variable l_char<\/span><\/p>\n<p>&nbsp;<\/p>\n<h4><b>3)Sch\u00e9ma de l\u2019application<\/b><\/h4>\n<p>&nbsp;<\/p>\n<p><a href=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2019\/12\/scem-app.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-5881\" src=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2019\/12\/scem-app-161x300.png\" alt=\"\" width=\"328\" height=\"611\" \/><\/a><\/p>\n<p><em>Fig15: Sch\u00e9ma du fonctionnement de l&rsquo;application<\/em><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h4><b>IV-Lien vers le code<\/b><\/h4>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">Vous trouverez le code arduino, le code MIT sur Github par ici<\/span><\/p>\n<p><a href=\"https:\/\/github.com\/Ghandisanaa\/MindPeace\">https:\/\/github.com\/Ghandisanaa\/MindPeace<\/a><\/p>\n<p>&nbsp;<\/p>\n<h4><b>V-Protocole de communication<\/b><\/h4>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">Nous avions choisi pour l\u2019envoi de nos propres messages une communication unidirectionnelle de l\u2019application vers arduino via bluetooth car nous n\u2019avions pas estim\u00e9 n\u00e9cessaire l\u2019envoi d\u2019acquittements ou autres messages de confirmations par le programme impl\u00e9ment\u00e9 sur l\u2019Arduino.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Nous n\u2019avons pas pr\u00e9vu de correction d\u2019erreurs ni de num\u00e9rotation de messages pour d\u00e9tecter si un paquet a \u00e9t\u00e9 perdu.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">En effet, l\u2019existence d\u2019une latence due au Bluetooth faisait que le syst\u00e8me n\u2019arrivait plus \u00e0 bien d\u00e9chiffrer les messages re\u00e7us s\u2019il re\u00e7oit plusieurs requ\u00eates de suite dans le cas o\u00f9 l\u2019utilisateur manipule trop vite l\u2019application. Ce qui fait qu\u2019il serait peut \u00eatre int\u00e9ressant de mettre en place un syst\u00e8me d\u2019acquittement et de num\u00e9rotation des messages envoy\u00e9s.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Nous avons par contre opt\u00e9 pour une classification des messages par types ( Texte, changement de couleur 1 ou 2 ou 3) afin de faciliter le traitement de ces requ\u00eates par la carte arduino, ce qui fait que pour l\u2019envoi des rappels nous avions mis au d\u00e9but de chaque message une lettre \u201cT\u201d et pour l\u2019envoi du changement de lumi\u00e8re nous avons mis pour la premi\u00e8re couleur la lettre \u201cI\u201d, pour la deuxi\u00e8me \u201cJ\u201d et \u201cK\u201d pour la derni\u00e8re.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Le codage \u00e9tait en utf_8<\/span><\/p>\n<p><span style=\"font-weight: 400;\">La taille des diff\u00e9rents messages envoy\u00e9s \u00e9tait limit\u00e9e:\u00a0 15 bits pour les couleurs car nous avions utilis\u00e9 un code RGB,\u00a0 et 34 bits pour les messages textes (ou rappels) car nous \u00e9tions limit\u00e9s par la taille de l\u2019\u00e9cran LCD utilis\u00e9 qui ne pouvait afficher que 32 caract\u00e8res.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Afin de pouvoir d\u00e9limiter les diff\u00e9rentes parties de chaque message nous avons opt\u00e9 pour de point-virgules afin de faciliter l\u2019 unpacking du message\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">La nature des messages \u00e9tait \u00e9galement toujours\u00a0 connu au pr\u00e9alable des int ou des char et donc on convertissait les informations extraites si cela est n\u00e9cessaire.<\/span><\/p>\n<p>&nbsp;<\/p>\n<h4><b>VI-Justification des choix techniques<\/b><\/h4>\n<p>&nbsp;<\/p>\n<h5>Bluetooth<\/h5>\n<p><span style=\"font-weight: 400;\">Nous avons choisi Bluetooth comme technologie de communication car celle-ci est relativement facile d\u2019acc\u00e8s et d\u2019utilisation. En effet, nous avions \u00e0 disposition des modules Bluetooth compatibles avec Arduino et notre langage de programmation disposait de fonctions pr\u00e9d\u00e9finies permettant la communication via la technologie Bluetooth.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Cependant, cette technologie de communication a une tr\u00e8s faible port\u00e9e qui n\u2019est pas adapt\u00e9 \u00e0 l\u2019utilisation finale de notre objet. Dans un futur d\u00e9veloppement de notre objet, il faudrait changer de protocole de communication. Pour notre premier prototype ici pr\u00e9sent\u00e9, utiliser le Bluetooth suffisait amplement.<\/span><\/p>\n<p>&nbsp;<\/p>\n<h5>Arduino uno<\/h5>\n<p><span style=\"font-weight: 400;\">Nous avons choisi comme microcontr\u00f4leur une carte Arduino UNO car sa programmation est relativement simple et de nombreuses ressources sont pr\u00e9sentes sur internet. Elle est de plus compatible avec un grand nombre de composants ce qui nous laissait une large marge de man\u0153uvre dans le choix des autres composants. Enfin, chaque membre de notre \u00e9quipe avait d\u00e9j\u00e0 travaill\u00e9 avec Arduino, ce qui r\u00e9duisait notre temps de formation.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">pourquoi uno voir c\u2019est quoi la diff\u00e9rence\u00a0<\/span><\/p>\n<p>&nbsp;<\/p>\n<h5>Afficheur LCD<\/h5>\n<p><span style=\"font-weight: 400;\">Nous voulions au d\u00e9part utiliser un \u00e9cran LCD graphique couleur afin de pouvoir afficher des photos et des images. Toutefois suite \u00e0 un probl\u00e8me de mat\u00e9riel, nous n\u2019avons eu \u00e0 disposition qu\u2019un \u00e9cran LCD permettant d\u2019afficher du texte uniquement. Suite \u00e0 un \u00e9change avec des clients potentiels nous avons \u00e9tabli que cet afficheur \u00e9tait amplement suffisant pour un premier prototype. De plus, la petite taille du message possible \u00e0 afficher sur l\u2019\u00e9cran n\u2019est pas un probl\u00e8me car cela convient mieux aux enfants cibl\u00e9s, des messages trop grands pouvant les perturber ou les rebuter.\u00a0<\/span><\/p>\n<p>&nbsp;<\/p>\n<h5>Neopixel unique<\/h5>\n<p><span style=\"font-weight: 400;\">Nous avons choisi d\u2019utiliser une LED neopixel car celle-ci peut changer de couleur, ce qui permet d\u2019avoir \u00e0 la fois des lumi\u00e8res douces et vives afin d\u2019attirer l\u2019attention de l\u2019enfant. De plus, ce composant est facile d\u2019utilisation, poss\u00e8de une forte luminosit\u00e9 (une seule LED est n\u00e9cessaire) et compatible avec arduino.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u00a0<\/span><\/p>\n<h5>Imprimer en 3D<span style=\"font-weight: 400;\">\u00a0<\/span><\/h5>\n<p><span style=\"font-weight: 400;\">Nous avons d\u00e9cid\u00e9 d\u2019imprimer l\u2019objet avec une imprimante 3D pour ce premier prototype pour des raisons pratiques. Ce proc\u00e9d\u00e9 est simple, rapide et disponible directement au fablab de notre \u00e9cole. Il est aussi compatible avec nos besoins puisque nous avons choisi de faire nous m\u00eame le design.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Le plastique imprim\u00e9 est assez solide pour prot\u00e9ger tout le mat\u00e9riel \u00e9lectronique, et donc adapt\u00e9 \u00e0 une utilisation par des enfants.<\/span><\/p>\n<p>&nbsp;<\/p>\n<h5>MIT App Inventor<\/h5>\n<p><span style=\"font-weight: 400;\">Pour programmer l\u2019application sur smartphone, nous avons utilis\u00e9 le langage de programmation propos\u00e9e par le MIT qui s\u2019appelle App Inventor. Ce langage de programmation est assez limit\u00e9 dans ses possibilit\u00e9s, tant techniques qu\u2019esth\u00e9tiques. Nous avons toutefois choisi d\u2019utiliser cela \u00e0 cause de contraintes de temps. App Inventor \u00e9tait le seul langage de programmation d\u2019application que les membres de notre groupe connaissaient. Au vu du temps qui \u00e9tait consacr\u00e9 \u00e0 ce projet, nous n\u2019avions pas le temps de nous former \u00e0 d\u2019autres langages. Nous nous sommes donc tourn\u00e9s vers App Inventor qui est facile d\u2019utilisation et qui offre des possibilit\u00e9s suffisantes pour les besoins d\u2019un prototype.<\/span><\/p>\n<p>&nbsp;<\/p>\n<h4><b>VII-Perspectives<\/b><\/h4>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">Apr\u00e8s la conception de ce premier prototype, notre objet est encore loin d&rsquo;\u00eatre termin\u00e9, et nous pourrions non seulement am\u00e9liorer les fonctionnalit\u00e9s d\u00e9j\u00e0 existante, mais aussi en d\u00e9velopper d\u2019autres.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Afin d&rsquo;am\u00e9liorer les fonctionnalit\u00e9s existantes, nous pourrions :<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Int\u00e9grer une batterie \u00e0 l\u2019int\u00e9rieur de l\u2019objet<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Utiliser une autre technologie r\u00e9seau, adapt\u00e9e \u00e0 la communication longue distance (de l\u2019ordre du kilom\u00e8tre)\u00a0<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Impl\u00e9menter des fonctionnalit\u00e9s temporelles, qui permettraient aux parents de programmer des rappels \u00e0 l\u2019avance\u00a0<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Utiliser plusieurs neopixels et LED, avec la possibilit\u00e9 de programmer des motifs lumineux<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">De plus, afin d\u2019am\u00e9liorer notre objet, nous pourrions d\u00e9velopper d\u2019autres fonctionnalit\u00e9s :<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Remplacer l\u2019\u00e9cran existant avec un \u00e9cran couleur, qui pourraient afficher des photos et des pictogrammes en plus du texte<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">D\u00e9velopper la possibilit\u00e9 d&rsquo;\u00e9mettre des musiques, ou bien des messages vocaux pr\u00e9-enregistr\u00e9s<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Utiliser un autre langage de programmation, afin d\u2019avoir plus de libert\u00e9 et de possibilit\u00e9 pour le d\u00e9veloppement de l\u2019application mobile<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Retravailler le design, avec en particulier la possibilit\u00e9 de faire un objet enti\u00e8rement translucide<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Faire une base de donn\u00e9es permettant aux parents d\u2019utiliser des musiques d\u00e9j\u00e0 existantes, ou d\u2019en rajouter<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">D\u00e9velopper des fonctionnalit\u00e9s de localisation, comme un suivi GPS ou une aide pour faire des trajets habituels<\/span><\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<h4><b>VIII-Sources:\u00a0<\/b><\/h4>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">[1]Arduino UNO Home Automation using Bluetooth HC05 module:<\/span><\/p>\n<p><a href=\"https:\/\/create.arduino.cc\/projecthub\/iot-enthusiast\/arduino-uno-home-automation-using-bluetooth-hc05-module-12f2aa\"><span style=\"font-weight: 400;\">https:\/\/create.arduino.cc\/projecthub\/iot-enthusiast\/arduino-uno-home-automation-using-bluetooth-hc05-module-12f2aa<\/span><\/a><\/p>\n<p><span style=\"font-weight: 400;\">consult\u00e9 le 17\/12\/2019<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">[2]Brancher un haut-parleur \u00e0 l&rsquo;Arduino:<\/span><\/p>\n<p><a href=\"http:\/\/electroniqueamateur.blogspot.com\/2015\/07\/brancher-un-haut-parleur-larduino.html\"><b>http:\/\/electroniqueamateur.blogspot.com\/2015\/07\/brancher-un-haut-parleur-larduino.html<\/b><\/a><\/p>\n<p><span style=\"font-weight: 400;\">consult\u00e9 le 17\/12\/2019<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">[3]Mise en oeuvre I2C vers LCD carte chinoise sur Arduino:<\/span><\/p>\n<p><a href=\"http:\/\/blog.f8asb.com\/2014\/03\/01\/mise-en-oeuvre-i2c-vers-lcd-carte-chinoise-sur-arduino\/\"><span style=\"font-weight: 400;\">http:\/\/blog.f8asb.com\/2014\/03\/01\/mise-en-oeuvre-i2c-vers-lcd-carte-chinoise-sur-arduino\/<\/span><\/a><\/p>\n<p><span style=\"font-weight: 400;\">consult\u00e9 le 17\/12\/2019<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">[4]Arduino &#8211; Apprendre \u00e0 d\u00e9velopper pour cr\u00e9er des objets intelligents:<\/span><\/p>\n<p><a href=\"https:\/\/www.editions-eni.fr\/open\/mediabook.aspx?idR=8457f073dc836b48a324c65a97bdc71b\"><span style=\"font-weight: 400;\">https:\/\/www.editions-eni.fr\/open\/mediabook.aspx?idR=8457f073dc836b48a324c65a97bdc71b<\/span><\/a><\/p>\n<p><span style=\"font-weight: 400;\">consult\u00e9 le 17\/12\/2019<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">[5]Utiliser un module Bluetooth HC-05 avec Arduino:\u00a0<\/span><\/p>\n<p><a href=\"https:\/\/eskimon.fr\/tuto-arduino-907-utiliser-un-module-bluetooth-hc-05-avec-arduino\"><span style=\"font-weight: 400;\">https:\/\/eskimon.fr\/tuto-arduino-907-utiliser-un-module-bluetooth-hc-05-avec-arduino<\/span><\/a><span style=\"font-weight: 400;\">,<\/span><\/p>\n<p><span style=\"font-weight: 400;\">consult\u00e9 le 17\/12\/2019<\/span><\/p>\n<p><span style=\"font-weight: 400;\">[6]HOW TO CONNECT SPEAKER TO ARDUINO | DIY | ARDUINO LESSONS:<\/span><\/p>\n<p><a href=\"https:\/\/www.youtube.com\/watch?time_continue=1&amp;v=MWwqIDTJSPY&amp;feature=emb_title\"><span style=\"font-weight: 400;\">https:\/\/www.youtube.com\/watch?time_continue=1&amp;v=MWwqIDTJSPY&amp;feature=emb_title<\/span><\/a><\/p>\n<p><span style=\"font-weight: 400;\">consult\u00e9 le 17\/12\/2019<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">[7]Audio Player using ARDUINO [sd card interface]:<\/span><\/p>\n<p><a href=\"https:\/\/www.youtube.com\/watch?v=uSUZbLlRi1g&amp;t=103s\"><span style=\"font-weight: 400;\">https:\/\/www.youtube.com\/watch?v=uSUZbLlRi1g&amp;t=103s<\/span><\/a><\/p>\n<p><span style=\"font-weight: 400;\">consult\u00e9 le 17\/12\/2019<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Auteurs:\u00a0 GHANDI Sanaa- LAFEUILLADE Timoth\u00e9e- Ilona MALLEIN-GERIN &nbsp; Plan: I-Contexte II-Pr\u00e9sentation de la solution technique de mani\u00e8re synth\u00e9tique III-Pr\u00e9sentation de la solution de mani\u00e8re d\u00e9taill\u00e9e IV-Lien vers le code V-Protocole de communication VI-Justification des choix techniques VII-Perspectives VIII-Sources &nbsp; &nbsp; I-Contexte &nbsp; Dans le cadre de notre projet TAF COOC, nous \u00e9tions amen\u00e9s \u00e0 r\u00e9aliser [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":5892,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[113],"tags":[],"class_list":["post-5863","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-couad"],"acf":{"article_projet":[10736]},"_links":{"self":[{"href":"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-json\/wp\/v2\/posts\/5863","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-json\/wp\/v2\/comments?post=5863"}],"version-history":[{"count":2,"href":"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-json\/wp\/v2\/posts\/5863\/revisions"}],"predecessor-version":[{"id":10739,"href":"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-json\/wp\/v2\/posts\/5863\/revisions\/10739"}],"acf:post":[{"embeddable":true,"href":"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-json\/wp\/v2\/projet\/10736"}],"wp:attachment":[{"href":"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-json\/wp\/v2\/media?parent=5863"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-json\/wp\/v2\/categories?post=5863"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-json\/wp\/v2\/tags?post=5863"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}