Outils pour utilisateurs

Outils du site


wiki:projets:echolocation

Ceci est une ancienne révision du document !


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.

Le 7 Mars 2019:

  • Présentation du projet: du concept, idée et conception primaire de la prothèse
  • 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:
  1. Photoresistor → Lumière → capteurLDR
  2. Force Sensitive Resistor → Force (pression) → capteurFSR
  3. Flex sensor → Flexion → capteurFLEX
  4. Pulse sensor → Pouls → capteurPOULS
  5. Ultrasonic Range Finder → Distance → capteurSONAR
  6. 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:
LDAP: couldn't connect to LDAP server
wiki/projets/echolocation.1554988907.txt.gz · Dernière modification: 2019/04/11 13:21 de hela