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 du prothèse
  • Initiation au processing

Le 14 Mars 2019:

  • Premiere conception du prothèse

  • Réalisation d'une premiere maquete papier

  • Ecriture du notre premier code sur processing qui visualise le phénomène de l’écholocation (aspect visuel)

Le 21 Mars 2019: Initiation a l'arduino:

  • Faire les 5 workshops proposés par les encadreurs sur github (lien)
  • Prise en main 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 fournis, travail sur le code Sonar (ce qui nous interesse pour notre projet)

Le 4 Avril 2019:

  • Travailler sur encore 3 worshops du ChevalVert ou on s'est rappelé un peu de la manipulation de l'arduino et sa laison au processing
  • L'ecriture du notre propre code ou on travaillé sur le capteur Sonar (modele Ultrasonic Range Finder - LV-MaxSonar-EZ1 SEN-00639 RoHS) et eu l'idée de l'associer à un buzzer
  • Faute du modele qu'on a eu qui est imbriqué sur une plaque qui utilise tous les ports d'entrée et de sortie, on a pensé a simuler avec la LED qui est deja insérée sur la plaque à la place du buzzer
  • Une fois réussi a simuler avec la led, on est parti chercher un autre modele de Sonar avec quoi on peut insérer le buzzer
  • Code arduino pour controler l'intensite 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);
  }
LDAP: couldn't connect to LDAP server
wiki/projets/echolocation.1554393195.txt.gz · Dernière modification: 2019/04/04 15:53 de hela