Projet IMA3 P4, 2017/2018, TD1 : Différence entre versions

De Wiki de Projets IMA
(Séance complémentaire)
(Journal de bord)
Ligne 32 : Ligne 32 :
  
 
=<div class="mcwiki-header" style="border-radius: 15px; padding: 10px; font-weight: bold; text-align: center; font-size: 80%; background: #EEEEFF; vertical-align: top; width: 99%;">  Journal de bord</div>=
 
=<div class="mcwiki-header" style="border-radius: 15px; padding: 10px; font-weight: bold; text-align: center; font-size: 80%; background: #EEEEFF; vertical-align: top; width: 99%;">  Journal de bord</div>=
 +
  
 
== Séance 1 ==
 
== Séance 1 ==
Ligne 72 : Ligne 73 :
 
Le capteur piézoélectrique présent ci-dessus utilise l'effet piézoélectrique. La piézoélectricité est la propriété que possèdent certains corps de se polariser électriquement sous l’action d’une contrainte mécanique et réciproquement de se déformer lorsqu’on leur applique un champ électrique. Les deux effets sont indissociables. Le premier est appelé effet piézoélectrique direct; le second effet piézoélectrique inverse.
 
Le capteur piézoélectrique présent ci-dessus utilise l'effet piézoélectrique. La piézoélectricité est la propriété que possèdent certains corps de se polariser électriquement sous l’action d’une contrainte mécanique et réciproquement de se déformer lorsqu’on leur applique un champ électrique. Les deux effets sont indissociables. Le premier est appelé effet piézoélectrique direct; le second effet piézoélectrique inverse.
 
Dans notre cas le capteur piézoélectrique se polarisera lors d'un contact et permettra d'envoyer un signal électrique à l'un des ports de l'Arduino.
 
Dans notre cas le capteur piézoélectrique se polarisera lors d'un contact et permettra d'envoyer un signal électrique à l'un des ports de l'Arduino.
 +
 +
  
 
== Séance 2 ==
 
== Séance 2 ==
Ligne 109 : Ligne 112 :
  
 
À la fin de cette séance nous avons donc compris le fonctionnement des capteurs piézoélectriques et la façon dont il fallait les connecter. Lors de la prochaine séance nous procéderons à l'élaboration du Schield sur lequel nous retrouverons les capteurs.
 
À la fin de cette séance nous avons donc compris le fonctionnement des capteurs piézoélectriques et la façon dont il fallait les connecter. Lors de la prochaine séance nous procéderons à l'élaboration du Schield sur lequel nous retrouverons les capteurs.
 +
 +
  
 
== Séance 3 ==
 
== Séance 3 ==

Version du 18 juin 2018 à 23:24

Projet IMA3-SC 2017/2018 - GlovesPad Project

-- Le Wiki sera complet pour le Mardi 19 Juin --

Description du système

Étant passionnés de musique mais également d'électronique et d'informatique, nous avions eu l'idée de reproduire le principe du traditionnel Launchpad. Le LaunchPad est une planche de boutons, dont la fonction de chacun est de jouer un son, afin de composer une suite musicale, dans le même principe qu'une boîte à rythme. Cependant nous voulions trouver quelque chose d'innovant pour pouvoir jouer nos sons préférés. L'idée principale de ce projet était donc de créer un gant doté de capteurs piézoélectriques sur chaque doigt connecté à une Arduino, elle même connectée à une Raspberry PI 2 qui servira de point d'accès pour smartphone qui lui produira le son lors de la pression des capteurs.

L'utilisateur pourra choisir le son qu'il voudra produire à l'aide du smartphone. Il aura donc à sa disposition 5 sons différents, un pour chaque doigt.


Ceci serait la première idée du projet mais son évolution pourrait se diriger vers une multiplication des capteurs et les disposer sur le corps afin de jouer sur une plus grande base sonore un peu comme dans la vidéo ci-dessous:

--> Homme klaxon

Matériel nécessaire

Le matériel que nous utiliserons est le suivant :

  • Raspberry Pi 2
  • Arduino UNO
  • 5 capteurs piézoélectriques
  • Smartphone
  • 5 résistances d'1 MOhms chacune
  • Un gant
  • Un shield (PCB pour l'arduino)
  • Des fils de connexion


Journal de bord

Séance 1

La première étape de ce projet, et peut-être l'une des plus difficile, était la détermination du sujet. Nous nous sommes cependant rapidement mit d'accord sur l'idée du Gloves Pad et nous avons ensuite réfléchis au au matériel nécessaire à la réalisation du projet et à la répartition des tâches.

Nous nous sommes fortement inspiré du Lauchpad qui est un Pad de forme carrée composée de boutons qui permettent de jouer un son différent à chaque bouton. Les sons sont prédéfinis auparavant par l'utilisateur. Voici à quoi ressemble le Launchpad.

Launch.jpg

Notre projet sera donc une forme dérivée du Lauchpad qui permettrait de jouer sans Pad et sur n'importe quelle surface.

Partie Informatique

Première approche sur la configuration de la Raspberry comme un point d'accès Wi-Fi pour la connexion avec le smartphone qui servira à la configuration des sons que l'on veut jouer.

Pour cela un tutoriel était mis à notre disposition: [1]

Le premier objectif qu'on se fixe pour la Raspberry est la configuration des différentes connexions qui nous seront utiles à la conception du serveur.

Après les différentes mises à jour de la distribution Raspbian, on paramètre la Raspberry pour pouvoir se connecter en ssh, afin de ne pas passer perpétuellement par le port série.

On configure l'adresse de domaine sur 10.12.92.10 pour la Raspberry. On se connectera en SSH avec la commande suivante :

 ssh pi@10.12.92.10 

On commencera la configuration du point d'accès et de l'IP Wi-Fi qui permettra à l'utilisateur de se connecter tel que le tutoriel mis à disposition nous le propose.

Partie Électronique

Premièrement, nous avons réfléchis à la manière dont nous procéderons pour détecter les mouvements et les appuis de chaque doigt. Puis nous avons eu l'idée d'utiliser des capteurs piézoélectriques. Alors nous avons tout d’abord cherché à comprendre le fonctionnement des capteurs piézoélectriques qui serviront à la détection de la pression d'un doigt sur une surface pour jouer un son.


Voici à quoi ressemble un capteur piézoélectrique:

PiezoDisk.jpg


Le capteur piézoélectrique présent ci-dessus utilise l'effet piézoélectrique. La piézoélectricité est la propriété que possèdent certains corps de se polariser électriquement sous l’action d’une contrainte mécanique et réciproquement de se déformer lorsqu’on leur applique un champ électrique. Les deux effets sont indissociables. Le premier est appelé effet piézoélectrique direct; le second effet piézoélectrique inverse. Dans notre cas le capteur piézoélectrique se polarisera lors d'un contact et permettra d'envoyer un signal électrique à l'un des ports de l'Arduino.


Séance 2

Au cours de cette deuxième séance nous avons séparé le travail en deux. Un groupe travail sur la configuration de la Raspberry en point d'accès et l'autre groupe travail sur les piézoélectriques et leur fonctionnement.

Partie Informatique

Poursuite de la configuration de la Raspberry en point d’accès. On finit la configuration du point d'accès, du nom réseau et du mot de passe (protocole de sécurité WPA)

Nom : GlovesPad

Mot de Passe : NarutoUzumaki

Partie Électronique

Nous nous sommes documenté sur internet et pour utiliser correctement les capteurs nous avons donc câblé notre Arduino, une résistance et le piézoélectrique sur une plaque de test ce qui nous a permis de comprendre le fonctionnement du capteur grâce à un petit programme Arduino mis en place.

Voici le schéma de câblage:


ArduinoPiezoTest.png

ArduinoPiezoTest2.png


Voici l'élaboration d'un programme de test Arduino qui à pour but de tester et de comprendre le fonctionnement des capteurs piézoélectrique (Voir le branchement ci-dessus) :


ProgrammeTestArduino.png


La fonction void setup() nous permet d'utiliser le port série de l'Arduino. Dans la fonction void loop(), analogRead(CAPTEUR) nous permet de lire et d'entrer dans la variable lectureCapteur la valeur lue sur le port correspondant à la variable CAPTEUR. Puis nous testons si la valeur lue est positive et affichons cette valeur dans un terminal à l'aide de la fonction Serial.println.

À la fin de cette séance nous avons donc compris le fonctionnement des capteurs piézoélectriques et la façon dont il fallait les connecter. Lors de la prochaine séance nous procéderons à l'élaboration du Schield sur lequel nous retrouverons les capteurs.


Séance 3

Partie Informatique

Durant cette séance, on finalisera la configuration de la Raspberry. On procédera à l'installation d'un serveur Web, fonctionnant sous Apache. Après la création du serveur, on créé ce qui sera la première page du site, page d'index qui renverra directement sur la page d'accueil du site web.

 http://glovespad.glovespad.org/ 

La page renverra directement vers :

 http://glovespad.glovespad.org/Music.php 

La page servira d'accueil et permettra la reception de fichier. En effet, c'est dans cette page qu'on importera les fichiers sonores par le biais d'un formulaire HTML qui enverra le fichier vers une page de reception (reception.php), qui vérifiera la compatibilité de type de fichiers (wav ou mp3) et qui stockera dans une base de données les sons.

 
<!DOCTYPE html>

<html>

  <head>

    <link rel="stylesheet" href="style.css">

    <title>Music</title>

  </head>

  <body>

    <form action="reception.php" method="post" enctype="multipart/form-data">

      <input type="file" name="soundImport"/><br>

      <input type="submit" name="Importer"/>

    </form><br><br>

    <a href="sounds_player.php">Sounds Player</a>

  </body>

</html> 

Partie Électronique

Lors de cette séance nous avons réaliser le shield pour notre Arduino à l'aide du logiciel Fritzing. Le principe de notre shield est assez simple, il effectuera la liaisons entre les 5 broches analogique de l'Arduino et les 5 capteurs piézoélectriques ainsi que la broche de la masse de l'Arduino et les masses des capteurs. Le shield sera composé de 5 capteurs placés en parallèles à 5 résistances qui permettent de limiter le courant envoyé aux broches de l'Arduino.


Tout d'abord nous avons réalisé la vue schématique de notre shield, c'est à dire le schéma des différentes connections entre les différents composants de celui-ci. Voici ci-dessus un aperçu de notre schématique :


Schématique.png


Une fois le schématique terminé, nous avons procédé à l'élaboration du PCB, c'est à dire à la disposition des composants tels qu'ils seront sur la plaque électronique lors de l'impression de celle-ci. Nous avons tenté de faire un shield assez petit pour ne pas trop encombrer notre système. De plus, il ne fallait pas que les pistes se croisent ou qu'elles ne forment des angles droits. Voici un visuel de notre PCB final avant impression :


Pcb.png


Cette séance numéro trois étant la dernière, nous serons obligé de trouver d'autres créneaux afin de poursuivre ce projet. Nous procéderons donc à des séances complémentaires au cours desquelles nous réaliserons :

  • La soudure des composants sur le shield (résistances, capteurs piézoélectriques)
  • Un site internet ou de l'application qui permettra d'utiliser notre GlovesPad
  • Un support que nous pourrons attacher au bras et sur lequel nous retrouverons notre système Arduino/Raspberry
  • L'assemblage de notre système final et les différents tests sur notre GlovesPad

Séance complémentaire

Comment nous n'avions pas eu le temps de finir le GlovesPad durant les séances prévus, nous avons donc dû continué ce projet durant notre temps libre. Ces séances complémentaires ce sont donc étalés sur toute la fin de l'année

Soudure des composants

Après avoir reçu notre carte électronique, nous procédons à des tests afin de voir si il n’y aucun problème avant de commencer à souder les composants sur celle-ci.

Ces tests consiste à voir si les pistes sont toutes correctement tracées et si il n’y a pas de court-circuit. Pour ce faire, nous utilisons un multimètre que nous réglons sur un mode qui va permettre d’identifier si deux pistes sont interconnectées (si tel est le cas il y a court-circuit).

Suite à ces tests préliminaires nous nous sommes lancés dans la soudure. Tout d'abord nous avons commencé par souder les broches métalliques qui nous serviront à connecter le shield directement à l'Arduino. Ensuite nous avons soudé les 5 résistances d'1 MOhms chacune. Enfin nous avons terminé par souder les capteurs sur la carte électronique. Cependant cette étape nous a prit un peu plus de temps car nous avons reçu des piézoélectriques nus, nous avons donc du souder des fils de connexion de longueur adaptée sur ceux-ci. Voici un aperçu du résultat final de cette étape de soudure :


Soudure1.png Soudure3.png Soudure2.png


Réalisation du site de l'application GlovesPad

Conception 3D

Afin de rendre notre GlovesPad portatif et qu'il facilite les mouvements de la main, nous avons eu l'idée de réaliser un support que nous fixerons au bras pour rendre le système portatif. Tout d'abord nous avions penser à réaliser une boîte dans laquelle nous aurions introduit la raspberry, l'arduino et notre shield. Cependant ceci aurait été trop encombrant alors nous avons eu l'idée de simplement modéliser un support sur lequel nous fixerons nos différents composants. Nous avons donc prit les mesures des éléments que nous placerons sur le support et nous commençons à dessiner quelques croquis pour la modélisation.


Dessin1.png Dessin2.png


En effet, le support se divise en deux partie, une partie sur laquelle nous fixerons la raspberry à l'aide de vis et l'autre nous aurons un système rail dans lesquels nous viendrons insérer l'Arduino et le shield. Sur la partie inférieur du support nous pourrons retrouver une fente dans laquelle nous viendrons ajouter une sangle ou un scratch pour fixer le support sur notre bras.

Voici quelques aperçu de la modélisation 3D du support à l'aide du site internet tinkercad.com :


Modelisation.png

Assemblage du système et tests

Bilan du projet