Outils pour utilisateurs

Outils du site


wiki:projets:gantsboussole

Porteur(s) du projet: gants boussole
Biampinga Yann-Daniel (contact : yann_biampinga@hotmail.fr)

  • * Pauline BEALU (contact : pauline.bealu@gmail.com)
    Date de début : Septembre/2018-2019. ====== Cahier des charges ====== <fc #ff0000>I/ Description du projet</fc> L'objectif du projet est de concevoir et réaliser un dispositif capable d'ajouter un nouveau sens à l'utilisateur, celui de détecter des instruments du quotidien. Notre projet aura pour but de retrouver la position d'objets, grâce à un système lié directement à une partie de notre corps. On a choisi comme partie la main (le toucher) et comme système l'arduino. Un gant possédant un capteur hall grove (101020046), des aimants et un système de vibration, pourront indiquer la position exacte de n'importe quelle objet perdu (clés,voiture, portable etc ). II/ Expression fonctionnel du besoin Pour répondre à notre problème on a étudié les besoins. III/ Veille IV/Description de l’expérience vécue J’ai perdu mes clés dans mon appartement, impossible de me souvenir d’où j’ai pu les poser. En temps normal, j’aurai perdu beaucoup de temps à les chercher, cependant, aujourd’hui j’enfile mon gant COMGLOVE. Je l’allume, et je dirige ma main autour de moi. Le gant vibre jusqu’à ce que je pointe en direction de mes clés, que je ne vois toujours pas. Je sais qu’elles sont dans cette direction, j’avance vers mon canapé. Pas de signe de clé, je dirige ma main à nouveau pour vérifier, et je réalise qu’elles sont tombées derrière le canapé. V/ Description des étapes de notre questionnement sur la perception Après avoir eu plusieurs cours à propos de la perception nous avons commencé à avoir une idée de ce que c’était. En premier lieu, cela était assez flou, percevoir était un verbe destiné surtout à l’usage de nos yeux dans notre esprit « je perçois une légère lumière au loin ». Nous avons réalisé que la perception touchait tous nos sens. De ce fait on s’est d’abord questionné sur quel sens nous allions utiliser et qu’est-ce que nous voulions modifier pour l’usager. Le toucher nous ai directement venu à l’esprit, étant donné qu’on avait toujours fait des projets en lien avec la vision, nous avons trouvé ça plus intéressant de changer de moyen de perception. On a ensuite dû réfléchir à un moyen de stimuler le toucher, on a pensé à un gant en premier lieu car on pensait davantage à une utilisation externe pour notre projet de base. On aurait pu faire une bague, qui aurait pris moins de place, mais nous n'aurions pas pu intégrer l'Arduino dedans. De ce fait on a choisi un prototype de gant, car plus facile à intégrer. ====== Liens ====== Liens avec les cours de Charles et Gunnar Si l’être humain est capable d’intégrer des objets c’est parce que son corps propre n’est pas figé. Le corps propre n’est pas défini, il se reconfigure constamment et correspondant donc à un système plastique. Notre gant Comglove, s’intègre au corps de l'utilisateur et ce dernier ne le perçoit plus comme un objet supplémentaire mais plutôt comme une partie de son corps. Le gant Comglove qui autrefois était objet posé devient un objet saisi. La perception est considérée comme un système de traitement de l’information sensorielle. Le sens du toucher défini par une vibration, aura une influence sur notre perception. Selon la théorie de la perception que l'on considère, les outils et prothèses reconfigurent le champ des possibles. Il existe 3 théories de la perception. Il y a tout d'abord la théorie Active puis l'Affordances et et enfin l’économie de l’action. Mais nous allons nous intéresser à la première théorie, autrement dit, la théorie de la perception active qui correspond à celle utilisé par notre gant. La théorie de la perception active est la plus proche de notre gant Comglove Cette théorie repose sur le fait que l’action est constructive de la perception. Pour le Compass, le mouvement est nécessaire à l’exercice des capacités perceptives. Le déplacement de notre main est nécessaire pour la perception d'objet autrefois perçut par nos yeux. Donc on peut alors parler de théorie sensorimotrice qui correspond à la perception des distances, d'objets ou de l'environnement. On parle alors de loi de contingence sensorimotrice. Avec cette théorie on peut se diriger sans forcément passer par la vue. Notre gant Comglove permet donc de changer complètement la perception de l’utilisateur, lui qui au départ cherché des objets avec la vue. Inspiration Exposition Illusions Palais De La Découverte A l'occasion d'une sortie au Palais de la découvert nous avions testé plusieurs expériences en lien la perception du cerveau : le cerveau sensible, le cerveau interprétatif et le cerveau expert. Dans cet exposition nous avions trouvé une expérience, qui nous a inspiré pour notre gant Comglove. C'est celle des filets en velours, trois filets sont disposés les uns après les autres. Ils sont identiques entre eux. Ce dispositif nous a inspiré car il crée la sensation d'une surface d'objet virtuelle à partir d'une illusion tout comme notre gant Comglove qui par le virtuel à travers les vibrations permet à l'utilisateur de déterminer ce qu'il ne parvient pas à trouver. On a voulu crée la même sensation, lorsque l'utilisateur rentre sa main dans le Comglove, il aura l'impression de rentrer sa main dans un gant ordinaire. Son cerveau va percevoir un gant ordinaire mais les vibrations serons trompeuses et vont provoquer une illusion du touché similaire à celle des filets de velours. Donc le module qui nous a inspiré est celui du cerveau interprétatif. Photographie de l’expérience filets de velours Science Le dispositif s'explique par le fait que le traceur va émettre un champ magnétique autour de lui et c'est le capteur à effet de hall intégré directement au gant qui va percevoir ce champ. Par la suite cette information transmise par le capteur va être donné à l'utilisateur sous forme de signal continu. Le signal est perçu ainsi car il n'y a aucun obstacle entre le capteur et l’émetteur. Mais aussi, car le capteur perçoit faiblement les autres champs magnétiques, cela s'explique par le fait que ce dernier capte en premier ceux émis par l'émetteur. Donc le sens de l'information s’effectue en premier lieu par le traceur, ensuite l'information passe par le capteur à effet de hall et enfin finie sur le gant sous forme de vibration. Cependant, il est impossible de modifier ce sens. ====== Liste de Matériaux ====== Carte arduino uno Gant électrique/ Simple gant qu'on va transformer par la suite Capteur hall grove Moteur vibreur Machine pour faire des soudure à l'étain ====== Code ====== <code> constants won't change. They're used here to set pin numbers: const int hallPin = 1; the number of the hall effect sensor pin const int ledPin = 4; the number of the LED pin variables will change: int hallState = 0; variable for reading the hall sensor status void setup() { initialize the LED pin as an output: pinMode(ledPin, OUTPUT); initialize the hall effect sensor pin as an input: pinMode(hallPin, INPUT); } void loop(){ read the state of the hall effect sensor: hallState = digitalRead(hallPin); attention la LED marche à l'envers if (hallState == LOW) { turn LED on: digitalWrite(ledPin, LOW); } else { turn LED off: digitalWrite(ledPin, HIGH); } } </code> ====== Journal de Bord ====== Début du projet : Notre idée de commencement fut de concevoir un gant qui permettra à l'utilisateur de se repérer dans l'espace. Le gant indiquera le Nord, le Sud, l'Ouest et Est par différentes vibrations : une vibration pour le Nord, deux pour le Sud, trois pour l'Ouest et 4 pour l'Est. Avec ce gant l'utilisateur pourra par exemple faire son jogging, se déplacer vers le Nord en forêt, permettre au aveugle de se situer vers le Nord …le but premier fut de modernisé la boussole traditionnel. Mais cette idée fut abandonné pour être remplacé par la détection du Nord uniquement, car on pensait qu'avec la perception du Nord il est facile de retrouver les autres directions. 26/11/18 Nous avons commencé à programmer le code pour le magnétomètre, il sera intégré au gant. Voici un le code : <code> /* This is a library example for the HMC5883 magnentometer/compass Designed specifically to work with the Adafruit HMC5883 Breakout http://www.adafruit.com/products/1746 * You will also need to install the Adafruit_Sensor library! * These displays use I2C to communicate, 2 pins are required to interface. Adafruit invests time and resources providing this open source code, please support Adafruit andopen-source hardware by purchasing products from Adafruit! Written by Kevin Townsend for Adafruit Industries with some heading example from Love Electronics (loveelectronics.co.uk) This program is free software: you can redistribute it and/or modify it under the terms of the version 3 GNU General Public License as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <Wire.h> #include <Adafruit_Sensor.h> #include <Adafruit_HMC5883_U.h> /* Assign a unique ID to this sensor at the same time */ Adafruit_HMC5883_Unified mag = Adafruit_HMC5883_Unified(12345); void displaySensorDetails(void) { sensor_t sensor; mag.getSensor(&sensor); Serial.println(“————————————”); Serial.print (“Sensor: ”); Serial.println(sensor.name); Serial.print (“Driver Ver: ”); Serial.println(sensor.version); Serial.print (“Unique ID: ”); Serial.println(sensor.sensor_id); Serial.print (“Max Value: ”); Serial.print(sensor.max_value); Serial.println(“ uT”); Serial.print (“Min Value: ”); Serial.print(sensor.min_value); Serial.println(“ uT”); Serial.print (“Resolution: ”); Serial.print(sensor.resolution); Serial.println(“ uT”); Serial.println(“————————————”); Serial.println(“”); delay(500); } void setup(void) { Serial.begin(9600); Serial.println(“HMC5883 Magnetometer Test”); Serial.println(“”); /* Initialise the sensor */ if(!mag.begin()) { /* There was a problem detecting the HMC5883 … check your connections */ Serial.println(“Ooops, no HMC5883 detected … Check your wiring!”); while(1); } /* Display some basic information on this sensor */ displaySensorDetails(); } void loop(void) { /* Get a new sensor event */ sensors_event_t event; mag.getEvent(&event); /* Display the results (magnetic vector values are in micro-Tesla (uT)) */ Serial.print(“X: ”); Serial.print(event.magnetic.x); Serial.print(“ ”); Serial.print(“Y: ”); Serial.print(event.magnetic.y); Serial.print(“ ”); Serial.print(“Z: ”); Serial.print(event.magnetic.z); Serial.print(“ ”);Serial.println(“uT”); Hold the module so that Z is pointing 'up' and you can measure the heading with x&y Calculate heading when the magnetometer is level, then correct for signs of axis. float heading = atan2(event.magnetic.y, event.magnetic.x); Once you have your heading, you must then add your 'Declination Angle', which is the 'Error' of the magnetic field in your location. Find yours here: http://www.magnetic-declination.com/ Mine is: -13* 2' W, which is ~13 Degrees, or (which we need) 0.22 radians If you cannot find your Declination, comment out these two lines, your compass will be slightly off. float declinationAngle = 0.22; heading += declinationAngle; Correct for when signs are reversed. if(heading < 0) heading += 2*PI; Check for wrap due to addition of declination. if(heading > 2*PI) heading -= 2*PI; Convert radians to degrees for readability. float headingDegrees = heading * 180/M_PI; Serial.print(“Heading (degrees): ”); Serial.println(headingDegrees); delay(500); } </code> Nous avions par la même occasion commandé un magnétomètre au Fablab et on devra le recevoir début décembre. 14/12/18 : On a changé la fonction du gant suite à une discussion avec notre professeur de projet, suite à ces remarque on trouva que la perception du Nord n'est pas vraiment pratique pour l'utilisateur, car le fait de ressentir une vibration en continue peut être gênant à la longue. De plus, il aura fallu instauré la vibration lorsque l'utilisateur n'est pas face au Nord, pour lui indiquer qu'il se trompe ou alors pour le rediriger en direction du Nord. En fin de séance, on a trouvé une nouvelle idée pour le projet. Cela représente le même principe que précédemment, sauf qu'à la place du Nord le gant indiqua par vibration la position d'objet que l'utilisateur aurait égaré. Le principe, est simple, l’utilisateur devra placer un traceur sur des object qui perd au quotidien comme des clés, le portable ou encore une voiture (place de parking). Ce traceur sera composé d'aimant puissant et le gant d'un capteur de champ magnétique. Le gant transmettra une vibration jusqu'à la détection du traceur, une fois détecté les vibrations s'arrêtent. 17/12/18: On a trouvé au Fablab un capteur à effet Hall grove permettant la détection du des champs magnétiques. Il marche une fois branché à l'arduino, voici une photo de nos branchement : Branchement final de la carte arduino Il nous reste seulement à trouver des aimant beaucoup plus puissant, un moteur vibreur et un gant simple. 18/12/18 : Voici le gant qui permettra la détection et les soudure de notre vibreur moteur : moteur vibreur à la suite d'une soudure à l'étain 19/12/18 : On rencontre des problèmes au niveau des soudures qui ne tiennent pas, on développera cela dans la parti “problème(s) rencontré(s)”. On a acheté un autre moteur vibreur car l'autre ne fonctionne plus car cause des multiples soudures effectués, il vibre un fois sur deux. Le deuxième marche beaucoup mieux. Ensuite, on a crée un socle pour caché la carte arduino et les multiples fil pour des raisons d'esthétique : Première structure de notre socle Arduino Ensuite, on a cousu le moteur vibreur au gant avec du fil d'étain utilisé pour les soudures : Voici le résultat final : Montage final ====== Problèmes rencontrés ====== Premièrement, nous avons eu un problème au niveau de la fonction du dispositif, on a pris du temps pour concrètement trouver une fonction au gant. La première idée fut un gant qui détecte la direction du Nord à partir de vibration continue. Les vibrations devaient se déclenchées lorsque l'utilisateur se dirige vers le Nord, par la suite on a remarqué que les vibrations continues pouvaient être dérangeantes pour l'utilisateur.Ensuite on a eu un problème au niveau du matériel, on a commandé un magnétomètre mais ce capteur n'a jamais était livré. Ensuite, nous avions rencontré des difficultés au niveau des soudures du moteur vibreur. Les soudures n'étaient pas assez résistantes. ====== Posters ======
wiki/projets/gantsboussole.txt · Dernière modification: 2020/10/05 16:39 (modification externe)