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.