Spécification d’un système de relaxation


Projet GE4a-GE5a : Spécification d’un système de relaxation
Entreprise / Client : Zebulle
Auteurs : Samuel Defrance / Damien Genty / Jérémy Heyne
Responsable Projet : M Laffont
Tuteur industriel : M Chazelle

1. Résumé
2. Abstract
3. Introduction
4. Présentation du Sujet
5. Cahier des charges
6. Développement

1. Problématiques

2. Faisabilité

3. Solutions

1. La carte électronique

2. L’interface Homme/Machine

3. Design de la tablette

7. Gestion de Projet

1. W.B.S.

2. Gantt

8. Bilan
9. Bibliographie
10. Documents
11. Notes d'application


Résumé

Le projet professionnel s’inscrit dans un cursus d’élève ingénieur et relève de 202h de travail. L’entreprise ZeBulle souhaite finaliser son dispositif de relaxation pour entreprises et particuliers. Il s’agit d’un espace restreint regroupant fauteuil massant, diffuseur d’huiles essentielles, enceintes musicales et dispositif de chromothérapie, commandés par tablette tactile, à disposition de l’utilisateur. Dans cette démarche, l’entreprise a proposé comme sujet la réalisation d’un système permettant de contrôler, par l'intermédiaire de la tablette, l’ensemble des composants. Il est également demandé de réaliser un programme émettant les séquences de chromothérapie. Ce système sera alors proposé aux entreprises, hôtels et particuliers pour assurer leurs moments de détente et réconfort.

Mots clefs : gestion, communication, organisation, recherche.


Abstract

This professional project is a part of an engineering student curriculum and reports above 202 hours of work. The company ZeBulle wants to finalize its relaxation device for businesses and individuals. This is a small space including massage chair, essential oil diffuser, music speakers and chromatherapy system, controlled by touch pad, available to the user. The purpose of the subject is to control the system via the tablet. It is also asked to code a program emitting sequences chromatherapy. This system will be offered to companies, hotels and individuals to ensure their moments of relaxation and comfort.

Keywords: management, communication, organization, research.


Introduction

La démarche du projet professionnel est d’acquérir les compétences et l’expérience nécessaires au métier d’ingénieur. Très apprécié par les entreprises, ce projet permet aux étudiants d’obtenir un aperçu du travail qu’ils devront réaliser une fois entrés dans la vie active. Le projet regroupe un travail pratique, qui vise à réaliser le dispositif demandé, une gestion de projet, des présentations orales et un rapport final.

Dans un monde en perpétuelle évolution, le salarié se doit de donner le meilleur de lui-même pour satisfaire aux exigences de son entreprise. Cette quête de perfection peut pousser certains à se donner corps et âme dans leur travail, ou à l’inverse, à douter de ses capacités, à perdre ses moyens, et perdre l’envie de mener à bout une quelconque réalisation. Ainsi, aujourd’hui, plus de 1/5 des salariés souffrent de stress, ou de dépression au travail.
C’est dans cette optique que l’entreprise auvergnate ZeBulle, dirigée par M. Robert Llambrich et M. Jean-Luc Debrion, a décidé de créer un dispositif permettant de prévenir ces symptômes. Du fait de son faible encombrement, le système peut être directement installé chez le client. Il permet ainsi, aux salariés le désirant, de bénéficier d’une séance de relaxation, directement au sein de l’entreprise. Par ailleurs, le dispositif est prévu pour des installations plus fixes telles que les hôtels, lieux de détente ou chez des particuliers.

Le dispositif comprend un fauteuil massant, un diffuseur d’huiles essentielles, des enceintes et des panneaux de LEDs pour diffuser de la lumière. Une tablette tactile permet à l’utilisateur de choisir ses programmes. La relaxation s’effectue par la stimulation simultanée des cinq sens, si l’opérateur le désire.

Le sujet proposé par l’entreprise est donc de synchroniser la lumière émise par le panneau et par le fauteuil, ainsi que de contrôler par l'intermédiaire de la tablette, le massage, la diffusion d'huiles essentielles et l’émission de musique. La tablette permet d’interfacer le fauteuil et tous les autres composants ensemble.
Ce rapport a pour objectif la présentation du cahier des charges fixé et les avancées techniques réalisées.
La première partie présentera le sujet en détail et le cahier des charges final. Viendra par la suite la problématique et l’avancement du projet. La troisième section décrira l’organisation qu’a suivie le projet. Enfin sera présenté le bilan personnel des réalisateurs du projet.


Présentation du Sujet

L’entreprise ZeBulle désire réaliser un dispositif permettant aux usagers de se relaxer n’importe où et n’importe quand en minimisant le temps dépensé pour cette activité. Ce système permettra de lutter contre le stress au travail, mais aussi simplement, de se détendre chez soi ou dans les lieux spécialisés.

Le dispositif comprend un fauteuil massant, un diffuseur d’huiles essentielles, des enceintes, et des panneaux de LEDs pour diffuser de la lumière.

La relaxation s’effectue par la stimulation simultanée des cinq sens, si l’opérateur le désire.

Le sujet proposé par l’entreprise est donc de faire collaborer ces différents éléments n'étant à l'origine pas créés pour fonctionner ensemble. Il faut donc :
- synchroniser la lumière émise par le panneau et par le fauteuil,
- contrôler par l'intermédiaire de la tablette, le massage, la diffusion d'huiles essentielles et l’émission de musique.

La tablette permet d’interfacer le fauteuil et tous les autres composants ensemble.
Elle permettra de choisir les composantes que le client souhaite activer durant sa séance. Les informations seront envoyées à un microprocesseur qui activera la ou les composantes sélectionnées.

La constitution du fauteuil est la suivante :
- Une partie d'alimentation située à la base du fauteuil et constituée d'un transformateur 230V/12V, d'un convertisseur 230V/12V continu et d'un module de communication radiofréquence comme visible sur la figure suivante :

- Une partie d'éclairage et de massage composée de deux rubans de LEDs RGB alimentées en 12V continu et de huit moteurs à courant continu comme vu sur la figure suivante :

Les huit moteurs sont associés par paires. Deux massent au niveau des épaules deux autres dans le bas du dos, deux autres aux cuisses et enfin les deux derrière les mollets. Il y a donc 4 lignes de 2 colonnes de moteurs.
Il est à noter qu'à l'origine la diffusion lumineuse sur le fauteuil s'effectue via une télécommande RF (Radio Fréquence), le massage quant à lui s'effectue via une télécommande filaire permettant un massage rapide ou lent.

La seconde partie des LEDs constitue les panneaux réfléchissants qui seront placés de part et d'autre du fauteuil, derrière un mur de brique de sel rouge (figure 4) et sont aussi commandables par une télécommande radiofréquence. Le système d'origine est donc constitué de trois télécommandes différentes. Le but du projet est donc de s'affranchir de ses différentes télécommandes pour contrôler les différents éléments de relaxation via une unique tablette de la marque Qilive.

Le sujet regroupe donc une partie dite hardware, qui traite des aspects matériels, comme la réalisation de cartes électroniques, et une partie software, importante, qui représente les codes qui seront implémentés dans les différents composants tels que les tablettes ou les microprocesseurs.


Cahier des charges

La définition du cahier des charges est la partie primordiale de tout projet. Elle s’effectue en amont de celui-ci, et nécessite une communication constante entre les clients et le chef de projet. Son objectif est de définir les livrables finaux qui seront fournis aux clients à la date de fin de réalisation. Il est donc important que clients et chef de projet se mettent en accord et surtout que toutes les parties soient clarifiées afin d’éviter toutes incompréhensions.

Cette phase constitue principalement la première partie du projet dit d'avant projet. Lors de cette phase, deux réunions ont eu lieue avec les clients pour clarifier et mettre au point le cahier des charges suivant, d'une part, la compréhension des désirs des clients par les étudiants et d'autre part, les études de faisabilité relatives aux domaines du produit réalisées. Le cahier des charges définitif est le suivant :

La première fonction à mettre en œuvre est la diffusion de lumière simultanée sur les LEDs du fauteuil et du panneau. Un critère sur le retard de diffusion a été fixé à moins d'une seconde.
Dans cette fonction principale, la diffusion synchrone doit pouvoir être effectuée via, d'une part, les télécommandes RF du fauteuil ou des panneaux et d’autre part par l’application tablette.

La seconde fonction concerne la communication entre la tablette et la carte électronique. Ici plusieurs types de communication sont possibles entre des protocoles utilisant un système filaire ou non. Le protocole de communication choisi a été la communication Bluetooth. La communication se devant être rapide pour permettre à l’utilisateur de profiter de sa séance le plus rapidement possible, il a été choisir de fonctionner à une vitesse de 115200 bauds. Les bauds représentent le nombre de bits émis par secondes.

La troisième fonction que doit effectuée le système est le massage. Cette fonction doit permettre à l’utilisateur de se faire masser par les moteurs présents sur le fauteuil. Un critère concernant les vitesses possibles de massages a été émis et engagent les réalisateurs du projet a fournir des programmes identiques à ceux présent dans la télécommande de massage.

La quatrième fonction concerne l’interface tablette permettant à l’utilisateur de lancer sa séance de relaxation. Cette application doit donc permettre à l’utilisateur de choisir si celui-ci veut une relaxation par l’odorat, par un massage et par de la lumière.
Dans cette fonction principale, une fonction secondaire jugée comme moins critique par le client a été émise, il s’agit de la diffusion musicale qui doit pouvoir être émise via des haut-parleurs ou un casque.

La dernière fonction concerne la diffusion d’huiles essentielles. Le système doit être capable d’émettre des huiles essentielles quand l’utilisateur souhaite en avoir. Les clients ont indiqué que cette option était moins importante que la synchronisation des lumières et que le programme tablette.


Développement

Cette partie définit la problématique, l'étude de faisabilité du projet et les solutions retenues pour la réalisation du système. Une bonne définition de la problématique et de la faisabilité permet de fixer le matériel à utiliser et l'organisation à adopter lors de la réalisation.


Problématique

Les différentes problématiques reprennent les fonctions définies dans le cahier des charges.

Tout d’abord, il a fallu réfléchir à la méthode permettant de synchroniser la couleur du fauteuil et celle des panneaux. Le fauteuil dispose d’une télécommande permettant de choisir la couleur du fauteuil. Une seconde télécommande permet de choisir la couleur des panneaux. Chaque télécommande est couplée à son matériel avec un identifiant. La solution qui a été retenue consiste à connaitre tous les identifiants des télécommandes utilisées. L’utilisateur choisit ensuite un programme sur la tablette, le dispositif détecte les identifiants manquants et les génère afin que panneaux et fauteuils reçoivent le même signal.

La question de l’implémentation d’un code dans la tablette s’est également posée par la suite. Quels logiciels choisir ? Cette problématique a été résolue, une première version de l'apllication aillant été codée sous QT Android il a été décider de continuer avec ce même logiciel.

Vient également la question de l’interfaçage du fauteuil et des autres composants. Certains seront reliés en filaire, d’autre avec une connexion sans fil.

---

Faisabilité

L’étude de faisabilité d’un projet cherche à vérifier, avant définition finale du cahier des charges, que chacune des tâches qui seront proposées pourra être réalisée. Cette phase permet de choisir entre autres les logiciels qui seront utilisés, le matériel et d’estimer le temps que chaque partie prendra.

Pour cela, divers processus d’études et de manipulations ont été réalisés.

Concernant la première fonction, celle de chromothérapie, il s’agissait de vérifier que chaque télécommande possède un identifiant unique qui soit couplé à un matériel unique, par exemple fauteuil 1, 2 ou panneau 1, 2 … Pour cela les signaux de deux télécommandes ont été relevés à l’oscilloscope. Il a était constaté que chaque télécommande possède bien un identifiant unique, et que la télécommande du fauteuil par exemple ne permet de pas de contrôler le panneau de LEDs.

Par ailleurs, la télécommande utilise une communication sans fil. La fréquence a donc été relevée sur le récepteur présent dans le fauteuil. La communication s’effectue à 433.92 Mhz. Les panneaux et le fauteuil utilisent la même fréquence de communication ce qui ne nécessite aucune adaptation.
Concernant la génération des couleurs, fauteuils et panneaux sont équipés de LEDs RGB. Sept teintes par couleurs ont pu être établies ce qui représente une variation de 350 couleurs. Ceci a été possible grâce à une PWM (Pulse Width Modulation) implantée dans le programme. L’état haut correspond à l’état éteint pour les LEDS.

Enfin, voulant intégrer des programmes spécifiques à la chromothérapie, des recherches sur les couleurs ou les fréquences à émettre ont été menées. Un rendez-vous avec le Docteur Adrianarisoa, psychiatre au CHU de Clermont-Ferrand, a permis d'exclure du cahier des charges ces recherches. En effets, celles-ci requièrent une connaissance précise du domaine. Le client devra se renseigner auprès d’un professionnel dans la thérapie par les couleurs. Le programme permettra l’émission de n’importe quelle couleur et le scintillement à la fréquence souhaitée.

La deuxième fonction concerne le programme de la tablette. Pour cela, il s’agissait principalement de savoir s’il était possible de faire communiquer ladite tablette avec les autres composants du système. Il existe des dispositifs Bluetooth pouvant s’intégrer sur des cartes électroniques, et la tablette possédant elle aussi un émetteur récepteur Bluetooth, cette technologie a été choisie.

Par ailleurs, l’ergonomie présente sur la tablette joue un rôle important dans les sensations que ressentira le client. Il s’agira de sa première sensation. Une ergonomie fine et travaillée permettra ainsi de le mettre en condition pour la suite. Ce design a été réalisé par un professionnel. L’objectif maintenant est de l’implanter par code dans la tablette. Pour cela la série QT Android sera utilisée. Une première prise en main a déjà été réalisée.

Enfin, un programme permettant le choix des fonctions, du système de relaxation, avait été testé avant l’affectation des projets. Il sera réutilisé et réadapté en fonction des besoins et du nouveau matériel pour correspondre aux demandes du client.

Le nouveau fauteuil n’a pas encore été livré. L’objectif est de regarder ses signaux de contrôle et quel support il utilise pour dialoguer. En effet, il semble posséder une liaison sans fil. Le circuit interne peut également donner des informations sur son fonctionnement. En effet, le fauteuil possède des LEDs intégrées, et celles-ci devront ou non être utilisées par le processus de chromothérapie.

Enfin, la dernière étude concerne la tablette secondaire. Celle-ci ne devant contenir qu’un programme, il sera donc possible de la programmer tout comme pour la première.


Solutions

La carte électronique

La carte électronique permet le contrôle du fauteuil (massage et LEDs) et des panneaux de LEDs, en rapport avec les informations reçues par la télécommande d'un des deux modules haute-fréquence ou de la tablette tactile.
Lors du processus de développement, une première version fonctionnelle de la carte électronique a été développée, permettant le contrôle des LEDs et la communication Bluetooth. Dans la version suivante, finale, a été intégrée la gestion des moteurs (fonction testée auparavant sur breadboard), ainsi que celle des télécommandes haute-fréquence (testée elle sur la carte de synthèse propre à l'école).
La communication Bluetooth ne sera pas évoquée ici, faisant l'objet d'un point important dans la grande partie suivante.

La commande des LEDs et des moteurs

Le microcontrôleur choisit pour la carte finale, le PIC18F27J53, possède jusqu'à 4 sorties pouvant fonctionner sur PWM (Pulse Width Modulation, ou Modulateur de Largeur d'Impulsion, MLI, en français) de périodes indépendantes. Trois de ces sorties sont utilisées afin de sélectionner la couleur souhaitée sur nos bandeaux de LEDs (une pour chaque couleur, rouge, vert et bleu) : en effet, ces LEDs sont considérées comme éteintes lorsque notre carte émet du 12V sur la sortie correspondante (soit un état logique "haut" en sortie de notre microcontrôleur), et allumées lorsqu'elle n'émet rien (soit un état logique "bas"). Les PWM nous permette de faire varier la durée des états allumés et éteints de nos LEDs, à une fréquence telle que le scintillement est invisible à l'oeil nu et donne une sensation d'intensité de la lumière sur la LED (un état haut long suivi d'un état bas court donnera l'impression que la LED est faiblement allumée, et inversement).
En jouant sur l'intensité de chaque couleur (rouge, vert et bleu donc), il est possible de proposer une large gamme de couleurs sur les bandeaux de LEDs. Chaque composante pouvant prendre 256 valeurs différents, nous pouvons obtenir un total de 16 777 216 couleurs différentes. Une fonction permet ensuite, au choix, d'afficher une couleur sélectionnée directement, ou alors de générer un dégradé allant de la couleur initiale à la couleur choisie.

Pour ce qui est des moteurs, la carte demandait à nouveau 4 PWM, permettant cette fois-ci de sélectionner la vitesse des moteurs. Le microcontrôleur sélectionné ne possédant plus assez de sorties PWM hardware, il a fallu en programmer manuellement. La demande client était originellement de pouvoir reproduire les programmes de base du fauteuil (2 vitesse, et massant sur une ligne de moteur à la fois, allant du haut vers le bas et revenant). Avec la solution développée, il est maintenant possible de sélectionner jusqu'à 16 vitesses différentes, et d'activer plusieurs lignes selon les demandes qui seront effectuées.
Deux broches du microcontrôleur sont utilisées pour activer les colonnes moteurs. Il s'agit de l'alimentation. Quatre autres broches viennent sélectionner la ligne à activer. Ainsi les moteurs fonctionnent deux par deux. La ligne qui est toujours au niveau au correspond à l'alimentation, le 12V. Les quatre autres lignes permettent de mettre à un niveau bas ou haut le retour du moteur, donc activer ou non son massage. La carte finale est présentée ci dessous:

La partie haute-fréquence

Les bandeaux de LEDs du fauteuil et des panneaux étant commandées par différentes télécommandes haute-fréquences, il fallait par le biais de notre carte garder cette fonction mais en se limitant à une seule télécommande, permettant ainsi la synchronisation des couleurs sélectionnées sur les différents modules.
Pour cela, la carte électronique intègre un récepteur et un émetteur haute-fréquence. Le récepteur est relié à une broche possédant une fonction interrupt-on-change, permettant la détection d'un changement d'état sur ce dernier. Le programme attend la réception de la même trame a plusieurs reprises afin de s'assurer de la validité de la commande.
Chaque trame possède deux parties principales : la première est une adresse qui permet de faire le lien entre une télécommande donnée et son récepteur, et la seconde est universelle entre chaque module et contient la fonction a effectuer (par exemple "affiche du rouge"). En cas d'appui long sur le bouton d'une télécommande inconnue, le programme détecte l'adresse de celle-ci et l'enregistre comme nouveau module (par exemple, si le client ajoute un panneau à son système). Enfin, la commande reçue est diffusée sur toutes les adresses mémorisées par le microcontrôleur.


L'interface Homme/Machine

L’application tablette doit permettre à l’utilisateur de choisir le type de séance de relaxation qu’il souhaite démarrer.
Pour cela, l’application doit permettre un choix des différentes solutions de relaxation (Massage, Aromathérapie, Musicothérapie et/ou Chromothérapie). Une fois le choix fait, ces informations doivent être communiquées au microcontrôleur pour que celui-ci active ou non les différentes solutions de relaxation.
La tablette fonctionnant sous le système d’exploitation Android 4.4, l’application aurait pu être codée sous plusieurs environnements de développement comme Android Studio ou QT Creator.
Une première version, appelée ici version alpha, de l’application ayant déjà été développée sous QT Creator, il a été décidé de continuer sous le même environnement le développement de l’application. Ici la version de QT Creator utilisée est la 5.5 qui intègre un module appelé QT Android permettant l’export des applications sur les smartphones de type Android.
QT Creator a l’originalité de pouvoir développer des applications qui peuvent être codées soit en C++ soit en QML, un langage créé spécialement pour QT pour développer plus facilement une interface graphique. Ce langage a d’ailleurs été utilisé pour développer une interface ne servant qu’a représentée un design possible pour l’application. La version alpha quant à elle a été codée entièrement en C++. Les améliorations apportées ont donc également été codées en C++.

La communication Bluetooth

Comme dit précédemment, la communication utilisée entre la carte électronique et la tablette est de type Bluetooth. Cette communication est apparue comme la plus simple à mettre en place, car elle permet un envoi et une réception rapide de données et de manière non filaire. La note d’application n° 3 est disponible pour une explication détaillée de cette communication.
Le schéma de fonctionnement et de l’interaction entre la tablette et le microcontrôleur est le suivant : (du point de vue de la tablette)

Au niveau du microcontrôleur:

La communication mise en place est réglée pour être en mode asynchrone. Cette configuration a été choisie pour permettre un envoi et une réception sans l’utilisation d’une horloge commune. En effet, au niveau de l’application, il est impossible de savoir la manière dont les utilisateurs vont appuyer sur les différents boutons émettant un signal Bluetooth et donc il serait impossible au microcontrôleur de réceptionner ces informations de manière synchrone.

Sur le PIC18F27J53 deux ports séries peuvent être utilisé pour communiquer avec le module Bluetooth.

Ces ports séries sont des UARTs (Universal Synchronous Asynchronous Receiver Tansmitter) et permettent le transfert et la réception de données par le microcontrôleur. Nous utilisons une seule UART, la pin de réception étant la pin 18 et de transmission la pin 17.
L’UART a été configuré pour fonctionner à une vitesse de transmission de 115200 bauds.

Une trame est composée d’un bit de Start annonçant le début d'un envoi ou d'une reception, de huit bits de données et d’un bit de Stop indiquant la fin de la transmission.

Au niveau de l’application:

-La classe btport :

La configuration du Bluetooth au niveau de l’application Android est réalisée au travers d’une classe appelée btport.
Cette classe permet d’initialiser le Bluetooth de la tablette, de se connecter à un autre périphérique Bluetooth, mais permet également l’envoi et la réception de données. Les données transmissibles et recevables sont des caractères ASCII. Il faut noter que lors d’une transmission, les caractères compris entre ‘1’ et ‘9’ sont considérés comme une temporisation. L’intérêt est de pouvoir assurer une bonne réception des caractères par le microcontrôleur, celui-ci fonctionnant en mode asynchrone.

-La fonction d’auto connexion

L'application contient également une fonction d’auto-connexion. Cette fonction permet d’identifier le nom des modules Bluetooth détectés par l’application et permet à la tablette de se connecter à un identifiant particulier. Dans le code développé, le module Bluetooth identifié s’appelle PIC.

Cette fonction a été mise en place pour simplifier l’utilisation de l’interface par l’utilisateur, elle peut néanmoins poser un inconvénient. En effet, la connexion automatique peut se faire uniquement lorsque le module Bluetooth PIC est découvert par l’application. En fonction du nombre de périphériques Bluetooth activés dans le champ d’action de la tablette, la durée d’auto connexion peut donc varier de moins de 5 secondes à plus d’une minute. Cela pose problème lors d’une utilisation rapide de l’application et donc d’un lancement rapide de la séance. Les informations de la séance étant envoyées au début de la séance, il est obligatoire que la connexion Bluetooth soit effectuée. Pour pallier cet inconvénient, une contrainte a été ajoutée sur l’envoi des données, obligeant la connexion à être effectuée avant l’envoi des données et avant le début de la séance de relaxation.

L’architecture de l’application :
L’application est basée sur une machine à état. Chaque état représentant une page de l’application et les boutons représentant les conditions de transition.
Les pages les plus importantes concernant la communication et le lancement du système électronique sont :

la page suivante de choix d’options :

L’appui des cases à cocher va permettre de mettre à jour une structure Info qui contient les éléments booléens suivant :
valider_massage, valider_color, valider_aroma, valider_musique et Bt_connection_ok qui permettent l’enregistrement des différents choix de l’utilisateur. Le booléen Bt_connection_ok permettant de vérifier qu'une connexion est établie.
L’appui du bouton Continuer amènera l’utilisateur à la page du choix des programmes uniquement si celui-ci a choisi au minimum une solution de relaxation. Sinon le changement d’affichage suivant sera effectué. Cette page restera active tant que l’utilisateur n’aura pas choisi un type de relaxation.

Une autre page va permettre à l'utilisateur de choisir son programme de relaxation et qui en rappelle sa durée.
En cliquant sur un des boutons, une séance débutera et durera autant de temps qu’indiqué sur le bouton.
Seuls les boutons proposant une lumière continue peuvent fournir une séance utilisant la chromothérapie.
L’appui sur l’un de ses boutons ouvre la page suivante :

La page contient un ensemble de boutons permettant à l’utilisateur d’arrêter les différentes solutions de relaxation activées. Par défaut, seuls les boutons de désactivation des solutions choisies par l’utilisateur sont affichés. Dans la figure précédente, le massage n’a pas été activé, cela s’observe grâce à la case massage n’ayant pas été cochée. L’utilisateur pouvant arrêter les différentes solutions de relaxations faisant appel à sa vision, son odorat et à son ouïe pouvant en fonction des personnes être considéré comme gênant seules ces solutions possèdent un bouton de désactivation. Il a été décidé de laisser uniquement libre l’activation et le changement de vitesse du massage comme le prouve la figure précédente.

Cette page contient donc un affichage dynamique. En plus de la désactivation, l’utilisateur est libre de gérer le volume de la musique lancée directement via le slider vertical présent sur la page ou via les boutons de gestion du volume de la tablette. De plus lors de l’activation des différentes lignes de moteurs un label indiquant la ligne d’activation apparait.

La gestion musicale se fait grâce à la libraire QMediaPlayer. Cette librairie permet notamment de lancer un fichier.mp3 à l’intérieur d’une application.
Les fichiers musicaux ont été insérés directement sur l’application. Les fichiers musicaux ne sont donc pas visibles sur la tablette. Ce choix est apparu évident, une majorité des applications Android disponibles utilisant le même procédé.

Ce programme permet donc de dialoguer avec le reste du dispositif, bien qu’il présente un design de la tablette sommaire. La partie suivante traite de la nouvelle mise en forme de l’application.

p(((( Design de la tablette

Comme mentionné plus haut, cette partie traite du rendu visuel de l’application et est réalisée dans un langage de programmation développé par Nokia qui est le QML (QT Meta Language). Ce langage permet de concevoir des interfaces allant de la simple fenêtre avec un bouton, à des objets plus élaborés réagissant en fonction du comportement de l’utilisateur.

Le langage est inclus à la version de QT Creator utilisée, la 5.5. Par ailleurs, son exportation sur appareils android tels que téléphones ou tablettes est également possible grâce à QT Android.
Il est possible de réaliser des interfaces complètes et fonctionnelles pour ordinateur en QML. En effet, il est possible d’inclure du Java et du C++ au code, ce qui laisse au développeur une marge d’adaptabilité importante. Cependant, son utilisation est de plus en plus répandue pour les Smartphones.

Principe

Le Qml permet donc de séparer la partie relevant du design de la partie logique de l’application, réalisée en C++. Le fonctionnement du QML repose sur l’utilisation d’ « objets ». Ces objets sont les éléments de base du code et donc de l’interface. Le développeur trouvera par exemple l’objet « Rectangle » qui permet d’afficher un rectangle dans la fenêtre principale. Les objets sont définis avec une majuscule. Chaque objet peut être défini par des propriétés comme, un identifiant, une hauteur et une largeur, ainsi qu’une position fixe ou non, etc.

L’objectif est de créer une arborescence simple, d’objets que l’on veut faire apparaître dans la fenêtre ou après une action d’un utilisateur. Ainsi pour intégrer une image par exemple, il suffit de définir un rectangle avec ses propriétés et d’ajouter l’objet « Image » à l’intérieur de l’objet « Rectangle ». Image sera donc l’ « enfant » de « Rectangle » comme le montre la figure suivante.

L’objet ApplicationWindow? permet de charger la fenêtre principale. Les imports sont des « types » et permettent de charger les objets qu’ils contiennent tel qu’ApplicationWindow? qui est contenu dans QtQuick?.Window 2.2.
Par la suite, les objets peuvent être placés grâce à des propriétés. Il est possible de définir leur position en x et y ou de la définir par rapport au parent, par exemple la hauteur du rectangle rect1.
Il est également possible de créer ses propres objets et définir les attributs que le programmeur souhaite leur approprier. Deux objets ont été créés de cette façon, il s’agit de « Fenetre » qui est défini dans le fichier Fenetre.qml, et de « Bouton », qui est défini dans le fichier Bouton.qml.
Cette méthode permet de personnaliser l’objet créé en vue d’une utilisation fréquente de celui-ci. Par exemple, la figure suivante montre la différence entre l’objet « Button » développé par QML et l’objet « Bouton » cité ci-dessus.

L’avantage d’un tel fichier est de fixer les propriétés de l’objet et de ne modifier que celles souhaitées, contrairement à l’objet développé par QML où il est nécessaire de redéfinir à chaque appel les propriétés.
Il en va de même pour l’objet « Fenetre ». Il s’agit de la fenêtre qui se lance lors du lancement d’un des programmes de la tablette. Or le graphisme de cet objet ne changera pas en fonction du programme appelé ce qui justifie l’utilisation de ce procédé.

Le choix a également été fait de n’avoir qu’une seule fenêtre principale chargée les pages à l’intérieur de celle-ci. Ainsi, chaque page est en réalité un rectangle dont les dimensions sont ajustées à la fenêtre principale. Les rectangles sont chargés en utilisant la fonction loader développée par QT. Elle est initialisée dans le fichier main.qml qui permet de charger la fenêtre principale et la page d’accueil. Lors d’un appui sur un bouton ou une zone, définie par l’objet « MousArea? », la page suivante sera chargée. Cela permet d’avoir une unique fenêtre ouverte pour le programme en cours. L’agencement de ces fenêtres et leur design est défini dans la partie suivante.

Graphisme

Cette partie dévoile le graphisme de chaque page et l’agencement entre elles. Ainsi, l’appui sur les boutons tels que suivant ou retour permettent de changer de page, mais la sélection d’un programme ne l’exécutera pas. Seule la fenêtre sera chargée, ceci afin d’avoir une vue d’ensemble du design pour ensuite pouvoir exécuter les programmes dans un second temps.

Au lancement de l’application, la page d’accueil apparaît.

En appuyant sur le texte Zebulle, l’utilisateur accède alors à la page d’avertissement, pour les huiles essentielles.

Ainsi, l’utilisateur est informé des effets des huiles et peut désactiver cette option en cochant la checkbox en bas à droite. Si cette option n’est pas cochée et que le bouton suivant est activé, une page de rappel concernant les huiles s’affiche afin d’éviter tout mal entendu.

Encore une fois l’utilisateur a le choix de désactiver ou non l’option d’huiles.
La fenêtre suivante permet de choisir le programme.

L’utilisateur peut alors choisir les options qu’il souhaite activer. Le premier bouton Choix couleur ouvre la fenêtre suivante.

Les quatre checkboxs du bas rappellent les options choisies par l’utilisateur. Les 2 checkboxs du haut permettent de choisir si la couleur est émise en continue ou en pulsée. L’utilisateur peut ensuite choisir la couleur qu’il désire. La fenêtre du programme s’ouvre alors.

Se trouve sur la droite un slider permettant de régler le volume. Lorsque celui-ci dépasse les 75%, le slider devient rouge pour prévenir du niveau sonore élevé . Le bouton central permet de mettre fin au programme complet, l’utilisateur revient alors à la fenêtre du choix de la couleur (figure 5). Les quatre boutons du bas contrôlent la musique.

Dans le cas où le programme choisi est palette de couleurs (figure 4), la fenêtre présentée en image 8 s’ouvre.

Cette fenêtre permet à l’utilisateur de choisir la couleur qu’il désire. Il vient toucher avec son doigt un endroit de l’image. La couleur du pixel sélectionné est alors identifiée. Il serait alors possible d’envoyer la couleur en commande afin que les LEDs du fauteuil et du panneau s’illuminent. L’utilisateur peut également glisser son doigt et ainsi obtenir un « train » de couleurs. Le rectangle rose en haut à gauche affiche la position du curseur, et les composantes rouge vert et bleu du pixel choisi. Le bouton stop permet de revenir à la fenêtre des choix des programmes. Toutes les autres fenêtres ont la possibilité de revenir à la précédente.


Gestion de Projet

Cette partie regroupe l’organisation du projet. Elle constitue un point clef du travail. Une bonne organisation permet d’avoir les idées claires sur le travail à réaliser et de prévoir d’éventuels contretemps. C’est aussi un document qui permet au client et aux responsables du projet de connaître l’avancement du projet et les dates importantes.


W.B.S.

Afin de découper le projet en différentes sous-fonctions plus simples pour l’organisation principale de celui-ci, il convient de réaliser un W.B.S. La figure suivante présente l'organisation qu'a suivi le projet.

Le projet a donc été découpé en 3 principales parties. L'une traitant de la tablette, une autre du fauteuil, et enfin la dernière des LEDs.

L'intégration du design QML au code est une tâche compliquée qui nous a fait perdre du temps. Pour cette raison, son avancement n'est pas a 100%.


Gantt

Le Gantt est l’agenda du projet. Il permet d’avoir une vue d’ensemble sur la durée globale du projet, mais aussi sur celle de chaque sous-tâche. Il doit en permanence être revu et réajusté en fonction des retards ou des avancées. De plus, il contient la distribution de chaque sous-tâche aux différents partis du projet.

Le projet a commencé le 16 février 2015. Il se terminera en janvier 2016.


Bilan

Pour conclure quant au projet, celui-ci n'a pas pu être finaliser dans le temps comme le montre le gantt. Certaines parties du cahier des charges n'ont pas pu être réalisées entièrement et limitent donc le fonctionnement global du système. Un manque de temps, dû à une mauvaise analyse de risques, a conduit à un retard au niveau du fonctionnement final du système et de l'interaction des différents éléments le composant.
Néanmoins, Il est a noter que toutes les parties techniques du projet concernant la commande des LEDs, des moteurs et l'interface graphique ont pu être réalisés indépendamment les unes des autres et fonctionnent correctement.

Samuel

La réalisation de projet est un travail qui permet de mettre en application toutes les connaissances acquises jusque-là. Il faut s’organiser et découper les tâches complexes en sous tâches plus aisées à élaborer. Cette partie du projet m’a beaucoup apporté, car je n’avais jamais été confronté à ce travail auparavant.

La gestion de projet a été une nouvelle discipline et elle s’est avérée primordiale pour la gestion du projet. Cet aspect est très important, car c’est exactement le travail que nous demandera notre futur employeur. Il nous faut organiser notre temps en fonction du délai fixé avec le client, des priorités dans les tâches, et des jalons établies. Il faut également prévoir les risques potentiels qui pourraient affecter le projet et proposer une solution pour y remédier. C’est donc un travail comprenant plusieurs dimensions et de ce fait, il est nécessaire d’apprendre à s’organiser et à hiérarchiser son travail.

Mis à part les aspects organisation de projet, ce travail m’a également apporté de nombreuses compétences en programmation. J’ai effectivement découvert le langage python et la programmation par QT Android.
Une autre part importante est la relation avec le client. Il s’agit d’un aspect décisif, car une mauvaise communication mène souvent à un produit non fini ou non conforme aux envies du client. Il faut pouvoir estimer son temps de travail, savoir fixer des dates buttoir, et prendre des décisions.

De plus, ce travail demande une grande autonomie, car les professeurs ne nous suivent pas comme dans le cadre de travaux pratiques. Ils jouent ici, un rôle de tuteur technique afin de proposer des solutions en cas de besoin.
Ainsi, cette première partie de projet a été très enrichissante et a vraiment permis de se détacher du travail scolaire, pour pouvoir se mettre en situation de travail que nous demandera notre métier futur.


Jérémy

Étape importante lors de la réalisation d’un projet, la gestion de projet est la partie qui a été mise à l’honneur lors du second semestre de quatrième année.

Ayant un peu de mal à planifier mon travail, je dois avouer que j’étais un peu réticent quant à cette première partie du projet. Finalement, au cours des différentes réunions que nous avons eues, que ce soit avec notre tuteur industriel ou notre client, j’ai réussi à comprendre mieux le déroulement de cette étape, cruciale dans le cadre de mon travail futur.

Cette première étude nous a aussi permis de mettre en avant certaines des compétences que nous avons développées en cours. De mon côté, il s’agit principalement de programmation en C. En faisant un ratio sur le travail réalisé par rapport au temps passé, j’ai trouvé que cela aidait bien à se faire une idée du temps demandé pour les prochaines étapes, contribuant ainsi à l’avancée du Gantt.

De plus, nous avons eu la chance d’avoir un client industriel pour notre projet. Cela est important puisque j’ai pu découvrir de cette façon le rapport client / réalisateur d’un projet, et donc les conséquences que cela implique : respect du temps imparti, communication et compréhension mutuelle, entre autres.

Pour conclure, j’ai trouvé cette introduction au projet industriel de cinquième année très enrichissante, que ce soit pour les compétences qu’elle permet de développer, la liberté qu’elle apporte en comparaison avec les cours, ou encore l’aspect découverte du milieu industriel.

Damien

Aillant commencé ce projet en septembre 2015, je n’ai pas eu l’occasion de participer à la partie d’avant-projet.
Le fait d’avoir eu à m’intégrer au groupe en cours de projet m’a permis de voir qu’un temps d’adaptation à l’intégration de toute équipe de projet est nécessaire et celui-ci a pu être facilité grâce à l’aide de mes collègues.
Ce projet a aussi été l’occasion de découvrir et d’apprendre des connaissances qui m’étaient totalement inconnues début septembre. Développer sous QT Creator, créer des applications Android ou même coder en C++ sont des éléments qui début septembre m’étaient impossibles de réaliser. Ce projet a donc été l’occasion d’apprendre des connaissances que je n’aurais pas pu acquérir autrement.
Ce projet a aussi été l’occasion de s’immerger entièrement dans un réel travail d’ingénieur en réalisant un projet alliant les demandes des clients et les solutions techniques que nous pouvons développer.
Je me suis également aperçu que la gestion de projet est très importante. En effet, bien que nous suivions au maximum les jalons que nous nous sommes fixés, nous n’avons pas réussi à finaliser totalement le projet, ce qui prouve à quel point cette gestion est importante car sans elle nous aurions sans doute eu plus de retard.


Bibliographie


Documents

Première présentation ge4a : Première présentation Ge4a

Revue d'appel d'offre ge4a : Revue d'appel d'offre Ge4a

Rapport fin ge4a : Rapport fin Ge4a

Revue de lancement ge5a : Revue de lancement Ge5a

Revue d'avancement ge5a : Revue d'avancement Ge5a

Revue de Projet ge5a : Revue de Projet Ge5a

Soutenance de Projet ge5a : Soutenance de Projet Ge5a

Poster Ge5a? : Poster Ge5a

Archives contenant les codes sources des programmes qml: projet design appl tablette qml

Archives contenant les codes sources des programmes tabelette c++: code.zip?

Archives contenant les codes sources des programmes LEDs: code.zip?

Archives contenant la C.A.O. : cao.zip?


Note d'application

Note d'application n°1 :
Note d'application n°2 : Note d'application du code qml
Note d'application n°3 : Note d'application sur la mise en place d'une communication Bluetooth sous QT Android


polytech_20150703131159_20150703131208.PNG (3.84 KB) axel BARRIEUX, 04/02/2021 08:57 AM

logo_zebulle_20150703131503_20150703131513.PNG (25.6 KB) axel BARRIEUX, 04/02/2021 08:57 AM

lotus_20150703131736_20150703131748.PNG (368 KB) axel BARRIEUX, 04/02/2021 08:57 AM

salle_relax_20160111134153_20160112175935.PNG (452 KB) axel BARRIEUX, 04/02/2021 09:16 AM

capture8_20160112180653_20160112180822.PNG (247 KB) axel BARRIEUX, 04/02/2021 09:18 AM

leds_fauteuil_20160115152335_20160115152353.PNG (290 KB) axel BARRIEUX, 04/02/2021 09:18 AM

Capture3_20160112181049_20160112181113.PNG (169 KB) axel BARRIEUX, 04/02/2021 09:19 AM

brique_sel_20160112181049_20160112181126.PNG (76.6 KB) axel BARRIEUX, 04/02/2021 09:19 AM

cahier_des_charges_20160112181049_20160112181427.PNG (26.2 KB) axel BARRIEUX, 04/02/2021 09:21 AM

Capture7_20160112181049_20160112181541.PNG (144 KB) axel BARRIEUX, 04/02/2021 09:24 AM

fig4_20150703124206_20150703124216.PNG (266 KB) axel BARRIEUX, 04/02/2021 09:25 AM

Capture22_20160113214820_20160113214906.PNG (129 KB) axel BARRIEUX, 04/02/2021 09:29 AM

schemabt_20160112193447_20160112193502.PNG (37.2 KB) axel BARRIEUX, 04/02/2021 09:34 AM

Capture11_20160112182723_20160112182755.PNG (145 KB) axel BARRIEUX, 04/02/2021 09:37 AM

Capture13_20160112183704_20160112184000.PNG (14.7 KB) axel BARRIEUX, 04/02/2021 09:39 AM

Capture14_20160112183704_20160112184013.PNG (19.4 KB) axel BARRIEUX, 04/02/2021 09:39 AM

Capture15_20160112183704_20160112184029.PNG (37.6 KB) axel BARRIEUX, 04/02/2021 09:40 AM

Capture17_20160112184118_20160112184212.PNG (59.2 KB) axel BARRIEUX, 04/02/2021 09:43 AM

Capture18_20160112184813_20160112185026.PNG (6.33 KB) axel BARRIEUX, 04/02/2021 09:44 AM

Capture19_20160112184813_20160112185046.PNG (32.2 KB) axel BARRIEUX, 04/02/2021 09:45 AM

Capture20_20160112184813_20160112185108.PNG (13.8 KB) axel BARRIEUX, 04/02/2021 09:46 AM

avertissement_20160112185633_20160112185721.PNG (24.7 KB) axel BARRIEUX, 04/02/2021 09:48 AM

rappel_20160112185633_20160112185900.PNG (104 KB) axel BARRIEUX, 04/02/2021 09:49 AM

choix_pro_20160112185633_20160112185925.PNG (88.5 KB) axel BARRIEUX, 04/02/2021 09:50 AM

choix_coul_20160112185633_20160112185946.PNG (115 KB) axel BARRIEUX, 04/02/2021 09:50 AM

fen_20160112185633_20160112190106.PNG (32.2 KB) axel BARRIEUX, 04/02/2021 09:51 AM

fen2_20160112190222_20160112190240.PNG (32.1 KB) axel BARRIEUX, 04/02/2021 09:52 AM

palette_20160112190222_20160112190302.PNG (329 KB) axel BARRIEUX, 04/02/2021 09:52 AM

WBS_avancement_20160112192344_20160112192401.PNG (123 KB) axel BARRIEUX, 04/02/2021 09:53 AM

gantt_20160112192344_20160112192735.PNG (52.9 KB) axel BARRIEUX, 04/02/2021 09:55 AM

P1.pdf (1.15 MB) axel BARRIEUX, 04/02/2021 09:58 AM

RAO.pdf (1.18 MB) axel BARRIEUX, 04/02/2021 09:58 AM

RapportGe4a.pdf (554 KB) axel BARRIEUX, 04/02/2021 09:59 AM

P3.pdf (948 KB) axel BARRIEUX, 04/02/2021 09:59 AM

P4.pdf (1.18 MB) axel BARRIEUX, 04/02/2021 10:00 AM

RP.pdf (1.38 MB) axel BARRIEUX, 04/02/2021 10:01 AM

S.pdf (1.38 MB) axel BARRIEUX, 04/02/2021 10:02 AM

Poster.pdf (597 KB) axel BARRIEUX, 04/02/2021 10:02 AM

code_qml.zip (193 KB) axel BARRIEUX, 04/02/2021 10:03 AM

Note_d_application_qml.pdf (549 KB) axel BARRIEUX, 04/02/2021 10:05 AM

Mise_en_place_d_une_communication_bluetooth_sous_Android_QT.pdf (672 KB) axel BARRIEUX, 04/02/2021 10:05 AM