Ceci est une ancienne révision du document !
* 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:
Lors de cette séance, nous avons présenté une première idée de notre projet.
Le 14 Mars 2019:
Le 21 Mars 2019: Initiation à Arduino:
Le 4 Avril 2019:
#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);
}
Le 11 Avril 2019:
#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;
}
}
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.
Le 18 Avril 2019:
Passage au fablab et travail sur la finition de la maquette aprés avoir choisir les points d'inspiration de départ.