edwige.calmon@etu.upmc.fr
marion.chevallier@etu.upmc.fr
matteo.chabbert@etu.upmc.fr
myriam.sidibe@etu.upmc.fr
Créer une expérience de perception à travers un prototype nommé “prothèse”.
Création d’une maquette qui permettera de rendre cette expérience réelle.
Animal choisi pour la création de la prothèse : la chouette
pourquoi ?
possède des particularités auditives et visuelles hors du commun.
La vue :
- Imposants qui recouvrent la moitié de la tête.
- Champ visuel de 70°sur 180°.
- Peut faire pivoter son cou à 270°.
(observe donc mieux les distances, reliefs et mouvements).
L’ouï :
- Situés asymétriquement (oreille droite plus haute que l’oreille gauche) pour entendre aussi bien en haut et en bas, localiser les proies.
Que concevoir pour la prothèse :
- Un cou permettant à la tête de tourner à 270° : periscope
- amplificateur de son
- orientation d’oreille
Découverte de processing :
- simulation de notre cou de chouette qui peut tourner. (Photo code + video fonctionnement).
Découverte d’Arduino :
- simuler une rotation à 160° d’un servo moteur avec des boutons. (Photo code + video fonctionnement).
- simuler une rotation à 160° d’un servo moteur avec 2 capteurs FLEX. (Photo code + video fonctionnement).
- test sur cobaye pour vérifier la validité de notre prothèse.
Composants Arduino nécessaires :
- 1 Servo moteur 5V
- 2 Résistances
- 2 FLEX sensor
- carte ARDUINO
- cable pour alimentation
====JEUDI 21 MARS====
Arduino test de plusieurs programmes et montages. * Codage flex #include <Servo.h> Servo servo1; const int flexpin = A0; le flex0 est connecte au pin A0 const int flexpin1 =A1; le flex1 est connecte au pin A1 void setup () { commande au lancement du programme Serial.begin(115200); servo1.attach(9); } void loop () { declaration des variables int flexposition; int flexposition1; int angle; flexposition = analogRead(flexpin); lecture des valeurs 770 - 900 plié > 850 flexposition1 = analogRead(flexpin1); if (flexposition>850) { si Flex0 est touché : servomotor tourne à 70° gauche angle = map(flexposition, 770, 900, 70, 140); angle = constrain(angle, 70, 140); } else if (flexposition1>800) { si Flex1 est touché : servomoteur tourne à 70° à droite angle = map(flexposition1, 770, 900, 0, 70); angle = constrain(angle, 70, 0); } else { sinon revient à sa position 0° (position initiale) angle = 70; } servo1.write(angle); Serial.print(“sensor: ”); Serial.print(flexposition); Serial.print(“—–”); Serial.print(flexposition1); Serial.print(“ servo:”); Serial.println(angle); delay(100); } * Codage bouton #include <Servo.h> Servo myServo; const int button1Pin = 2; Le bouton-poussoir 1 est connecté au pin digital 2 const int button2Pin = 4; Le bouton-poussoir 2 est connecté au pin digital 4 int angle = 0; const int angmin = 0; const int angmax = 160; int button1State; int button2State; Déclaration de deux variables entières pour stocker l'état des boutons-poussoirs void setup() { commandes exécutées une seule fois, au lancement du programme myServo.attach(9); Configuration des broches des boutons-pressoirs comme des entrées pinMode(button1Pin, INPUT); pinMode(button2Pin, INPUT); Serial.begin(9600); Configuration de la broche du LED comme une sortie } void loop() { lecture des valeurs venant des broches des boutons-pressoirs, qui seront HIGH (btn non appuyé) ou LOW (btn appuyé) button1State = digitalRead(button1Pin); button2State = digitalRead(button2Pin); si button1 est appuyés (mais pas les deux en même temps) if (button1State == HIGH) { angle = constrain(angle+ 1, angmin, angmax);; } else if (button2State == HIGH) { angle = constrain(angle- 1, angmin, angmax); } delay(10); myServo.write(angle); } Objectif avancer sur les montages et programmes adéquats pour réussir à prototyper le dispositif rotationnel souhaité. Nous avons eu un montage/ programme final permettant d’actionner le moteur et faire tourner l’hélice d’un côté ou de l’autre en appuyant sur l’interrupteur. ====JEUDI 28 MARS==== 20 ans de MARION Après nos calculs, Essais du programme avec différents moteurs car le 1er est beaucoup trop faible pour ce que nous voulons faire. Moteur “ magnétique ” trop lourd, non fonctionnel ; moteur avec vice infinie préférable choix de moteur? Reflexion sur la rotation pour le periscope ====JEUDI 4 AVRIL==== Arduino : capteur de flexion ( flex sensor) Dans un premier temps, nous avons fait un montage avec une led (quand on appuis sur le flex, la led devient de plus en plus lumineuse) (photo + video). Nous avons reussi à faire fonctionner le capteur flex sensor avec le servo motor. 1- Le principe est que plus on courbe le capteur, plus la rotation de l’hélice du servo motor est grande. Lorsqu’on “déflex”, le servo revient à son angle 0°. La rotation pouvait aller de 0 à 90°. 2- Nous avons pu alimenter le circuit avec une batterie portative. Cela nous montre que nous pourrons par la suite avoir un produit final facilement transportable. 3- Nous tentons de créer un code qui permet de mettre en œuvre deux flex sensors avec un seul moteur (ou 2 si on n'y arrive pas). 4- Commencement de la phase de design (apparence du prototype final…) Questions- Pour cette expérience, nous avons voulu trouver une solution pour remplacer le servo motor qui est trop faible????====JEUDI 11 AVRIL==== 8h: Nous avons commencé à mettre sur papier comment chacun voit les différents dispositifs, le moyen d’assembler les pièces. Nous avons également fait un premier prototype du périscope avec les deux miroirs, nous avons testé plusieurs façons d’agencer les miroirs entre eux. Problème : le carton (cadre) gêne la vision panoramique. ====JEUDI 18 AVRIL==== -Utilisation des FLEX validé -Utilisation du servo moteur suffisant et validé -Soudure de tous les fils électriques au FLEX -Utilisation des flex et mise en place sur les joues/machoire validé -Reflexion sur un design/un modèle ergonomique
====VACANCES FIN AVRIL/MAI==== *week at the FABLAB* -*CONCEPTION* de la boîte inférieure et supérieure en bois peuplier avantages : léger, solide, customisable, facile d'entretien, durable, agréable au touché découpage laser
-*CONCEPTION* des pièces de pivot en plastique avantages : léger, solide, facile d'entretien imprimante 3D
modélisation AUTOCAD -*NOUVELLE SOUDURE* pour l'aspect
-*DERNIERE RETOUCHE PEINTURE* -*Public*
====RENDU : JEUDI 9 MAI==== *Présentation de la prothèse* *Reality* ======BONUS+SOURCES====== *Vidéos*