BTS Mesure BTS Mesure
Robot 1Robot 2PortailGPS & AlarmeCapteursTracker solaire

Capteurs connectés :

Voici quelques pistes pour commencer :

  • Objectif 1 : détecter la présence d'une voiture sur une place de parking
                        et signaler à un ordinateur central si la place est libre.

  • Test de différentes solutions à cout réduit : magnétomètre, capteurs inductifs...

  • Objectif 2  : détecteur de niveau dans des containers ou silos à l'aide d'un capteur à ultrason. Test de fiabilité.

  • Objectif 3 : réalisation de capteur de débit communiquants.

Le blog de Hugo et Adrien

Le projet que nous avons choisi est un projet de capteur utilisé pour les places de parkings.
En effet notre projet consiste à détecter la présence  ou non d’une voiture, soit une masse d'acier.

L'objectif est de détecter la variation de champ magnétique induite par la présence d'une voiture au dessus du capteur.
Si cela fonctionne on pourra détecter la présence d'une voiture sans contact avec un capteur à bas coût.

Les applications sont alors nombreuses : on peut imaginer une application qui signale à un automobiliste la place de parking libre la plus proche...

Eléments mis a disposition :

  • Magnétomètre GY-271.

  • Une carte Arduino.

Le programme principal :

Ce programme consiste à récupérer les coordonnées (X;Y;Z) puis calculer la somme quadratique des trois valeurs obtenues juste avant.

Si cette somme varie c'est qu'il y a un objet ferromagnétique ( voiture ) au dessus qui modifie la valeur de B.

Puis le programme ci dessous permet de récupérer les information de l'arduino, ainsi on peut voir si un emplacement est occupé.

    Somme quadratique lorsqu’il n’ a aucun objet influant sur le magnétomètre.

    Somme quadratique lorsqu’il y a un objet ( voiture ) influant sur le magnétomètre.

  • On observe bien un net changement de la Somme Quadratique ce qui prouve que la place est occupée.

 

Les conseils du Prof et ressources diverses :

Test du Module boussole 3 axes HMC5883L

Site à tester.

Programme exemple :

/*
An Arduino code example for interfacing with the HMC5883

by: Jordan McConnell
 SparkFun Electronics
 created on: 6/30/11
 license: OSHW 1.0, http://freedomdefined.org/OSHW

Analog input 4 I2C SDA
Analog input 5 I2C SCL
*/

#include <Wire.h> //I2C Arduino Library

#define address 0x1E //0011110b, I2C 7bit address of HMC5883

void setup(){
  //Initialize Serial and I2C communications
  Serial.begin(9600);
  Wire.begin();
  
  //Put the HMC5883 IC into the correct operating mode
  Wire.beginTransmission(address); //open communication with HMC5883
  Wire.write(0x02); //select mode register
  Wire.write(0x00); //continuous measurement mode
  Wire.endTransmission();
}

void loop(){
  
  int x,y,z; //triple axis data

  //Tell the HMC5883 where to begin reading data
  Wire.beginTransmission(address);
  Wire.write(0x03); //select register 3, X MSB register
  Wire.endTransmission();
  
 
 //Read data from each axis, 2 registers per axis
  Wire.requestFrom(address, 6);
  if(6<=Wire.available()){
    x = Wire.read()<<8; //X msb
    x |= Wire.read(); //X lsb
    z = Wire.read()<<8; //Z msb
    z |= Wire.read(); //Z lsb
    y = Wire.read()<<8; //Y msb
    y |= Wire.read(); //Y lsb
  }
  
  //Print out values of each axis
  Serial.print("x: ");
  Serial.print(x);
  Serial.print("  y: ");
  Serial.print(y);
  Serial.print("  z: ");
  Serial.println(z);
  
  delay(250);
}

Le capteur de proximité :