====== 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 =====