Porteur(s) du projet: Robin Gueguen (contact : robin.gueguen@upmc.fr)
Contexte : Le projet rentre dans le cadre de l’encadrement d’une semaine pluridisciplinaire de médiation scientifique pour les lycéens de la Science Académie. Ce programme, créé par l’association Paris-Montagne, vise à initier à la recherche des jeunes socialement éloignés de la sphère scientifique. Des conférences, visites de laboratoires et ateliers en encourageant la participation d'unités rattachées au LABEX FIRST-TF. Cette semaine permettra aux lycéens de s'approprier l'histoire des mesures de précisions, les principes de fonctionnement ainsi que les applications. Cette semaine implique un groupe d'une quinzaine de jeunes issus de toute l'Ile-de-France.
- 1 Arduino Uno ou similaire fournisseur : Electrodragon 9.64 €
- Bluetooth Wireless Module esclave serie HC-06
Lentille :
https://www.thorlabs.com/thorproduct.cfm?partnumber=LA1700
Plaque plexiglas : http://www.conrad.fr/ce/fr/product/530778/Vitre-en-verre-acrylique-530778-L-x-l-100-mm-x-100-mm-Epaisseur-du-materiau-3-mm-transparent-1-pcs
Quincaillerie :
http://fr.rs-online.com/web/p/tire-fond-boulons/5121045/
http://fr.rs-online.com/web/p/ecrous-hexagonaux/1224403/
http://fr.rs-online.com/web/p/ecrous-a-ailes/0521872/
http://fr.rs-online.com/web/p/rondelles-plates/1224387/
Lampe :
Vidéo : http://www.123dapp.com/catch
Plans :
Interrupteur (Taille de découpe panneau 19.2 x 13mm):
Pile 9V: 0900766b802756cd.pdf
Communication bluetooth : http://www.zem.fr/controler-votre-arduino-en-bluetooth/ Module à acheter : http://www.lextronic.fr/P38651-module-io-de-transmission-bluetooth.html
/* * Code pour clignotement d'une LED et d'un buzzer plus ou moins rapide en fonction de la distance d'une cible avec un capteur à ultrasons HC-SR04. Envoi des données sur un périphérique bluetooth */ /* Constantes pour les broches */ const byte TRIGGER_PIN = 2; // Broche TRIGGER const byte ECHO_PIN = 3; // Broche ECHO //const byte STATUS_PIN = 4; // Broche STATUS /* Constantes pour le timeout */ const unsigned long MEASURE_TIMEOUT = 25000UL; // 25ms = ~8m à 340m/s /* Vitesse du son dans l'air en mm/us */ const float SOUND_SPEED = 340.0 / 1000; /* Bluetooth */ #include <SoftwareSerial.h> #define BT_SERIAL_TX_DIO 10 #define BT_SERIAL_RX_DIO 11 SoftwareSerial BluetoothSerial(BT_SERIAL_TX_DIO, BT_SERIAL_RX_DIO); void setup() { /* Initialise le port série */ Serial.begin(9600); BluetoothSerial.begin(9600); /* Initialise les broches */ pinMode(TRIGGER_PIN, OUTPUT); digitalWrite(TRIGGER_PIN, LOW); // La broche TRIGGER doit être à LOW au repos pinMode(ECHO_PIN, INPUT); //pinMode(STATUS_PIN, INPUT); // LED pinMode(13,OUTPUT); } void loop() { /* 1. Lance une mesure de distance en envoyant une impulsion HIGH de 10µs sur la broche TRIGGER */ digitalWrite(TRIGGER_PIN, HIGH); delayMicroseconds(10); digitalWrite(TRIGGER_PIN, LOW); int delayLED = 10; /* 2. Mesure le temps entre l'envoi de l'impulsion ultrasonique et son écho (si il existe) */ long measure = pulseIn(ECHO_PIN, HIGH, MEASURE_TIMEOUT); /* 3. Calcul la distance à partir du temps mesuré */ float distance_mm = measure / 2.0 * SOUND_SPEED; if (distance_mm > 1000) { distance_mm = 0; } /* // Affiche les résultats en mm, cm et m sur le terminal série Serial.print(F("Distance: ")); Serial.print(distance_mm); Serial.print(F("mm (")); Serial.print(distance_mm / 10.0, 2); Serial.print(F("cm, ")); Serial.print(distance_mm / 1000.0, 2); Serial.println(F("m)")); */ // Serial.println(digitalRead(STATUS_PIN)); //debug // Délai d'attente pour éviter d'afficher trop de résultats à la seconde //delay(500); //Allumage LED si détection if (distance_mm > 0) { digitalWrite(13,HIGH); delayLED = (int) distance_mm; delay(distance_mm); digitalWrite(13,LOW); delay(delayLED); } else { digitalWrite(13,LOW); delay(500); } /* Bluetooth */ /* // Commande depuis le smartphone * if (BluetoothSerial.available()) { //Serial.write(BluetoothSerial.read()); } */ /* if (digitalRead(STATUS_PIN) == 1) { */ // Affiche les résultats en mm, cm et m sur le smartphone BluetoothSerial.print(F("Distance: ")); BluetoothSerial.print(distance_mm); BluetoothSerial.print(F("mm (")); BluetoothSerial.print(distance_mm / 10.0, 2); BluetoothSerial.print(F("cm, ")); BluetoothSerial.print(distance_mm / 1000.0, 2); BluetoothSerial.println(F("m)")); //} }
30 Novembre 2016 - Création du Wiki + test Arduino
03 Janvier 2017 - Ajout des tutoriels
08 Janvier 2017 - Montage du prototype de détecteur de présence (fonctionnel) + ajout BOM
24 Janvier 2017 - Ajout des schémas et du code pour communication bluetooth