====== Capteurs Grove ======
===== Télémetre Ultrasonic ranger =====
Ce capteur se connecte sur un port digital.
#include "Ultrasonic.h"
Ultrasonic telemetre(7); // Déclare un objet de type Ultrasonic connecté sur D7
ensuite
long distance; // En centimetres, plage de mesure : 0 - 400
distance = telemetre.MeasureInCentimeters(); // La fonction MeasureInInches() existe aussi
===== Baromètre BMP085 =====
Basé sur le composant Bosch BMP085 qui mesure pression atmosphérique et température. Ce capteur se connecte en i2c. La température et la pression atmosphérique sont mesurées, l'altitude est calculée sans compensation (la pression au niveau de la mer est considérée être de 1013,25 Pa).
#include "Barometer.h"
#include
float temperature;
float pression;
float altitude;
float atm;
Barometer monBarometre;
void setup(){
monBarometre.init();
}
void loop()
{
// Valeurs mesurées par le capteur
temperature = monBarometre.bmp085GetTemperature(monBarometre.bmp085ReadUT()); // En degrés Celsius
pression = monBarometre.bmp085GetPressure(monBarometre.bmp085ReadUP()) ; // En Pa
// Valeurs calculées par le capteur
altitude = monBarometre.calcAltitude(pression); // En metres
// Valeurs calculées par le programme
atm = pression / 101325; // En atmosphères
// Si besoin on peut calculer la pression réduite au niveau de la mer (voir programme complet)
}
===== Capteur de luminosité TSL2561 =====
Ce capteur transforme l'intensité lumineuse en signal digital. Il dispose de deux diodes photosensibles, couvrant l'infra-rouge et le spectre complet.
Il produit une mesure du spectre visible, en lux, mais fournit également les valeurs brutes des deux capteurs, dans l'infrarouge et dans le spectre complet. Il se connecte en i2c.
#include
#include
void setup() {
Wire.begin();
Serial.begin(9600);
TSL2561.init();
}
void loop() {
Serial.print("The Light value is: ");
Serial.println(TSL2561.readVisibleLux()); // Spectre visible, en lux
Serial.print("The Infrared value is: ");
Serial.println(TSL2561.readIRLuminosity()); // Infrarouge, valeur brute
Serial.print("The Full Spectrum value is: ");
Serial.println(TSL2561.readFSpecLuminosity()); // Spectre complet, valeur brute
delay(1000);
}
===== Détecteur de mouvement =====
Il s'agit d'un capteur infrarouge passif (PIR). Il existe plusieurs modules grove de ce type. Celui dont nous disposons est équipé de deux micro-potentiomètres permettant de régler la distance de détection ainsi que le délai avant déclenchement, et d'un micro-switch permettant de choisir le mode re-déclenchable ou pas (retrigger).\\
Ce capteur se connecte sur une entrée digitale.
#define PIR_MOTION_SENSOR 2 // Détecteur PIR sur pin 2
void setup() {
pinMode(PIR_MOTION_SENSOR, INPUT);
}
void loop() {
if (digitalRead(PIR_MOTION_SENSOR))
// Un mouvement a été détecté
else
// Rien n'a été détecté
delay(200);
}
===== Accéléromètre digital 3 axes =====