Table des matières
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 <Wire.h> 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 <Wire.h> #include <Digital_Light_TSL2561.h> 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); }