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.