Outils pour utilisateurs

Outils du site


wiki:projets:mesurestempsfrequence

Mesures temps fréquence

Porteur(s) du projet: Robin Gueguen (contact : robin.gueguen@upmc.fr)

  • Date de début : Décembre/2016.
  • Les objectifs de ce projet : Proposer des expériences pour des lycéens afin qu'ils apprendent le monde de la pesure de précision. Trois composantes :
  • Impression 3D d'un objet numérisé par photogrammetrie.
  • Réalisation d'un détecteur de présence par ultra-son
  • Réalisation d'un microscope avec smartphone
  • Date de fin estimée : Juillet/2017.

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.

Machines nécessaires

s.3dnatives.com_imprimante_replicator-2x.jpeg
- imprimante 3D (Ici Makerboot Replicator 2X ou Ultimaker²) avec PLA ou ABS

Matériels nécessaires

BOM

Construction

Impression 3D d'un objet numérisé par photogrammetrie

Vidéo : http://www.123dapp.com/catch

Plans :

Arduino UNO : media2.pladiscount.com_4104-thickbox_default_arduino-uno-board-rev-3.jpg

HC-SR04 : raw.githubusercontent.com_arduinolibrary_dfrobot_ultrasonic_sensor_master_urm37_20img.jpg

Interrupteur (Taille de découpe panneau 19.2 x 13mm):

Pile 9V: 0900766b802756cd.pdf

Détecteur de présence par ultra-son

Réalisation d'un microscope via smartphone

Détecteur de présence

/* 
  * 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)"));
//}
 
 
}

Journal de bord

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

wiki/projets/mesurestempsfrequence.txt · Dernière modification: 2020/10/05 16:37 (modification externe)