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

De Wiki de Projets IMA
(Partie Informatique)
(Partie Informatique)
Ligne 172 : Ligne 172 :
  
 
===Partie Informatique===
 
===Partie Informatique===
Afin de savoir combien de point un joueur a obtenu, nous avons choisi de trouver où la fléchette a frappé. Pour ce faire, nous avons donc utilisé 5 capteurs piézo-électrique, un au centre et 4 à 0 + k*pi/2, chacun au maximum des extrémités de la cible. Afin de trouver la position de la fléchette, nous avons fait une analogie avec le calcul du centre de masse sur un système discret, ainsi la cible est munie d'un repère, et en connaissant l'emplacement des capteur et leur amplitude au moment de la frappe, nous pouvons calculer la position, puis le nombre de points obtenu grâce à ce tir.
+
Afin de savoir combien de points un joueur a obtenu, nous avons choisi de trouver où la fléchette a frappé. Pour ce faire, nous avons donc utilisé 5 capteurs piézo-électrique, un au centre et 4 à 0 + k*pi/2, chacun au maximum des extrémités de la cible. Afin de trouver la position de la fléchette, nous avons fait une analogie avec le calcul du centre de masse sur un système discret, ainsi la cible est munie d'un repère, et en connaissant l'emplacement des capteur et leur amplitude au moment de la frappe, nous pouvons calculer la position, puis le nombre de points obtenu grâce à ce tir.
  
 
== Bilan ==
 
== Bilan ==

Version du 14 juin 2018 à 09:56

Projet IMA3-SC 2017-2018

Cahier des charges

Jeu de fléchettes intelligent

Description du système

Le jeu de fléchettes sera équipé de capteurs piézo afin de détecter les impacts réalisés sur le jeu. Les données seront traitées et envoyées en wifi à un ordinateur.
L'utilisateur aura accès à une interface web pour consulter les données en temps réel :

  • le score
  • les pressions mesurées sur le plateau

Matériel nécessaire

  • Carte Arduino
  • Shield pour Arduino
  • Carte Raspberry avec adaptateur wifi
  • Capteurs piézo (pour le moment nous n'en avons que deux mais c'est suffisant pour faire les tests)
  • Breadboard
  • Jeu de fléchettes


Séance 1

Nous avons résumé les différentes parties du système afin de nous partager le travail :


Principe jeuFlechettes.png


Partie Informatique

Carte Raspberry

  • Envoi du signal brut en wifi en temps réel
  • Affichage en temps réelle du site web


Interface web

  • réception du signal brut
  • évaluation des points
  • visualisation des données de pression et des points

Partie Electronique

Nous avons finalement choisi d'utiliser une carte Arduino pour le convertisseur analogique -> numérique.

Jeu de fléchettes

  • minimum 3 zones de touches
  • utilisation de capteurs piézo pour déterminer la touche
  • plutôt souple pour aider à la localisation de la touche

Carte électronique

  • amplification du signal
  • filtrage du signal
  • CAN (Arduino)

Nous avons constaté des pics de tension détectés par l'Arduino lorsque des chocs étaient infligés au capteur piézo.
Il est important de noter que le capteur piézo était plus efficace d'un côté que de l'autre, ceci était du à une soudure présente que d'un seul côté qui surélevait le capteur. Cette soudure rendait le capteur asymétrique et favorisait la concentration de contrainte, amplifiant ainsi les résultats. Il sera donc important d'avoir ceci à l'esprit sur le système réel en ajoutant un petit objet entre le capteur piézo et le jeu de fléchette afin d'amplifier la sensibilité au besoin.

ConcentrationContrainte.png

Séance 2

Partie Informatique

Nous nous sommes aussi occupés de la configuration de la Raspberry pi en point d'accès Wifi.
Pour cela, nous nous sommes connectés à la Rapsberry via ssh et son adresse IP ethernet : 172.26.145.110 (différente de l'adresse IP wifi : 192.168.100.1).
Une fois connectés sur la carte, il nous suffit de configurer cette dernière en pont d'accès.
Pour cela, nous avons utilisé le paquetage hostapd et nous avons modifié les paramètres suivants :


  • le nom de notre point d'accès via ssid="..."
  • le code de la France via country_code=FR
  • le canal pour éviter que toutes les Raspberry soit sur le même canal via channel=5;
  • le WPA via wpa=1
  • le mot de passe du point d'accès via wpa_passphrase = **********
  • la protection de la Wifi via wap_key_mgmt = WPA-PSK


Une fois la configuration terminée, nous avons dû configurer les IP des clients du point d'accès afin d'avoir la possibilité de se connecter sur la Wifi.
Pour cela, nous avons utilisé le paquetage isc-dhcp-server et nous avons modifié les paramètres suivants :

  • le nom de notre domaine via option domain-name
  • l'adresse du serveur DNS (192.168.100.1)
  • l'état de légitimité de notre serveur DHCP via authoritative


Ensuite, nous avons ajouter, dans le code, ce bloc réseau :

 subnet 192.168.100.0 netmask 255.255.255.0 
 {range 192.168.100.100 192.168.100.200;
 option routers 192.168.100.1;}


Partie Electronique

Nous avons réalisés plusieurs essais avec la carte Arduino afin de mesurer les données envoyées par les capteurs piézo

Le problème que nous avions rencontré à la séance précédente était une impédance trop forte du capteur piézo lorsque aucune variation de pression n'est faite, donnant des valeurs erronées lors d'une mesure de tension.

Solution 1 - utilisation d'un AOP
Ceci est le premier montage essayé, nous avons utilisé un LM324 (non sujet au problème de "phase reversal" dans notre cas) afin de comparer la tension captée à une tension de référence modifiable par un potentiomètre.
Ce montage était supposé augmenter l'impédance d'entrée du montage après le capteur piézo tout en permettant des erreurs de mesures plus fortes (car seulement deux signaux possibles en sortie tout ou rien), cependant cela n'a pas suffit à stabiliser la mesure qui, bien que plus fiable pouvait s'avérer tout de même fausse car on devait parfois ré-ajuster la tension de référence.

Solution 2 - utilisation d'une résistance de faible valeur en parallèle du capteur piézo
Ceci est la solution retenue car elle permet l'utilisation d'une entrée analogique. La résistance ajoutée permet à l'entrée analogique d'être reliée à la masse lorsque le capteur piézo n'est pas sollicité.
Nous avons également trouvé un modèle qui nous à permis, avec deux capteurs posés à la base d'une règle de trouver à quelle coordonnées la pression était faite en analysant les deux signaux trouvés.
Ceci s'avère donc une solution efficace qui permettra d'utiliser plusieurs capteurs pour augmenter la précision de la mesure des coordonnées de l'impact.



Séance 3

Partie Informatique

Durant cette séance, nous avons commencé à créer notre site internet.


Site Web.png

Il est composé d'un bloc Menu, avec les entrées, et d'un bloc d'affichage, avec les sorties.


Notre bloc Menu possède 2 boutons :

  • Un bouton "RESET"
  • Un bouton "JOUER"

Site Web Menu.png

Notre bloc d'affichage affiche une cible et le résultat des 2 joueurs.


Site Web Affichage.png

Partie Electronique

Séance supplémentaire

Partie Mécanique


Pour réaliser notre projet, nous devions faire une cible afin de tester. Pour ce fait, nous avons décidé d'utiliser le Fabricarium (1).
Nous avons utilisé la découpeuse-laser pour créer notre cible.

(1) http://www.fabricarium.fr/mediawiki-1.23.5/index.php/Accueil

(1) https://fr-fr.facebook.com/fabricarium/

Partie Informatique

Afin de savoir combien de points un joueur a obtenu, nous avons choisi de trouver où la fléchette a frappé. Pour ce faire, nous avons donc utilisé 5 capteurs piézo-électrique, un au centre et 4 à 0 + k*pi/2, chacun au maximum des extrémités de la cible. Afin de trouver la position de la fléchette, nous avons fait une analogie avec le calcul du centre de masse sur un système discret, ainsi la cible est munie d'un repère, et en connaissant l'emplacement des capteur et leur amplitude au moment de la frappe, nous pouvons calculer la position, puis le nombre de points obtenu grâce à ce tir.

Bilan