Outils pour utilisateurs

Outils du site


wiki:projets:echolocation

Projet écholocation

  • Lyna Saoucha
  • Hela Menzli
  • Alexandre Janin
  • *Ce projet vise a recréer l’écholocation utilisée par les chauve-souris (ainsi que certains cétacés) pour se repérer dans leur environnement. [GitHub du projet](https://github.com/alexandrejanin/echolocation) Le 7 Mars 2019: * Présentation du projet : concept, idée et conception primaire de l prothèse. Lors de cette séance, nous avons présenté une première idée de notre projet. * Initiation à Processing, un environnement de développement libre specialisé dans l'interface graphique. Le 14 Mars 2019: * Conception d'une prmeière prothèse * Réalisation d'une première maquette papier * Ecriture du notre premier code sur Processing qui visualise le phénomène de l’écholocation (aspect visuel). Nous avons crée un “jeu” où une balle rebondit sur un rectangle invisible et avec le rebondi, on doit retrouver où le rectangle se situe. Le 21 Mars 2019: Initiation à Arduino: * Prise en main d'Arduino à l'aide d'une série d'exercice proposé par les encadreurs (lien) * Différent test des capteurs: - Photoresistor → Lumière → capteurLDR - Force Sensitive Resistor → Force (pression) → capteurFSR - Flex sensor → Flexion → capteurFLEX - Pulse sensor → Pouls → capteurPOULS - Ultrasonic Range Finder → Distance → capteurSONAR - Humidity sensor → Humidité → humidity et temperature * Changement du code fourni, travail sur le code Sonar (ce qui nous intéresse pour notre projet)

    Le 4 Avril 2019: * Rappel sur la manipulation de l'Arduino et sa liaison à Processing. * Début de l'écriture de notre propre code où on travaille avec le capteur Sonar (modele Ultrasonic Range Finder - LV-MaxSonar-EZ1 SEN-00639 RoHS) qu'on associera avec un buzzer * Code Arduino qui permet de changer la fréquence du buzzer à l'aide d'un potentiomètre * Code arduino pour contrôler l’intensité de la led en fonction du sonar: #include <sensorShieldLib.h> SensorShield board; int sonarPin = 10; sonar pin int ledPin = 11; led pin int minDist = 10; distance min du capteur int maxDist = 100; distance max du capteur void setup() { initialises and start Serial with 9600 baudrate board.init(); add sonar functions as sensors to sensorShield board.addSensor(“capteurSONAR”, cmValue); LED display pinMode(ledPin, OUTPUT); } int cmValue() { pinMode(sonarPin, INPUT); float pulse = pulseIn(sonarPin, HIGH); float inches = pulse / 147; 147 uS per inch float cm = inches * 2.54; 2,54 cm per inch return (int) cm; } int cmToLum(int cm){ on limite la distance aux bornes definies plus haut avec constrain() int constrainedCm = constrain(cm, minDist, maxDist); on associe la distance a la luminosite avec map() return map(constrainedCm, minDist, maxDist, 255, 0); } void loop() { read the value, if there are changes update it and send it through serial board.update(); distance du capteur en cm int dist = cmValue(); luminosite de la led qui correspond int lum = cmToLum(dist); analogWrite(ledPin, lum); } * Simulation:

    Le 11 Avril 2019: * Retour sur la conception de la forme de la prothese * Montage avec le sonar (gauche) et un vibreur (droite): * Code: #define sonarPin 10 #define vibrPin 6 #define distMin 15 #define distMax 200 #define delayMin 0 #define delayMax 2000 int currentDelay = 0; int lastTime = 0; void setup() { Serial.begin(9600); pinMode(vibrPin, OUTPUT); } Distance du sonar en cm int sonarCm() { pinMode(sonarPin, INPUT); float pulse = pulseIn(sonarPin, HIGH); float inches = pulse / 147; 147 uS per inch float cm = inches * 2.54; 2,54 cm per inch return (int) cm; } void loop() { int cm = sonarCm(); Serial.print(“distance: ”); Serial.print(cm); Serial.print(“\n”); int constrainedCm = constrain(cm, distMin, distMax); int del = map(constrainedCm, distMin, distMax, delayMin, delayMax); int currentTime = millis(); currentDelay += currentTime - lastTime; lastTime = currentTime; analogWrite(vibrPin, 0); if (currentDelay >= del){ analogWrite(vibrPin, 153); currentDelay = 0; } } Le 18 Avril 2019: moodboard d'inspiration: Passage au fablab et travail sur la finition de la maquette aprés avoir choisir les points d'inspiration de départ. * Les dernières modifications, tous les mises a jour sont sur le répertoire github mentionné au tout début de cette page wiki, ou tout est organisé par thème, type de données et date de mise à jour.

wiki/projets/echolocation.txt · Dernière modification: 2020/10/05 16:39 (modification externe)