diy:grove:capteurs
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédenteDernière révisionLes deux révisions suivantes | ||
diy:grove:capteurs [2020/04/04 10:58] – [Baromètre] jbpuel | diy:grove:capteurs [2020/04/04 17:50] – [Baromètre BMP085] jbpuel | ||
---|---|---|---|
Ligne 16: | Ligne 16: | ||
</ | </ | ||
- | ===== Baromètre ===== | + | ===== Baromètre |
- | 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 | + | 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 |
<code C++> | <code C++> | ||
Ligne 36: | Ligne 36: | ||
void loop() | void loop() | ||
{ | { | ||
- | | + | |
temperature = monBarometre.bmp085GetTemperature(monBarometre.bmp085ReadUT()); | temperature = monBarometre.bmp085GetTemperature(monBarometre.bmp085ReadUT()); | ||
pression = monBarometre.bmp085GetPressure(monBarometre.bmp085ReadUP()) ; // En Pa | pression = monBarometre.bmp085GetPressure(monBarometre.bmp085ReadUP()) ; // En Pa | ||
// Valeurs calculées par le capteur | // Valeurs calculées par le capteur | ||
- | altitude = monBarometre.calcAltitude(pression); | + | altitude = monBarometre.calcAltitude(pression); |
// Valeurs calculées par le programme | // Valeurs calculées par le programme | ||
- | | + | |
- | pressionMer | + | // Si besoin on peut calculer la pression |
- | | + | |
- | */ | + | |
- | temperatureK = temperature + 273.15; | + | |
- | pressionMer = pression * pow((temperatureK/ | + | |
- | pressionMer = pressionMer / 100; // Pression réduite au niveau de la mer, en hPa | + | |
- | + | ||
- | atm = pression / 101325; | + | |
} | } | ||
</ | </ | ||
+ | |||
+ | ===== Capteur de luminosité TSL2561 ===== | ||
+ | |||
+ | Ce capteur transforme l' | ||
+ | Il produit une mesure du spectre visible, en lux, mais fournit également les valeurs brutes des deux capteurs, dans l' | ||
+ | |||
+ | <code C++> | ||
+ | #include < | ||
+ | #include < | ||
+ | |||
+ | void setup() { | ||
+ | Wire.begin(); | ||
+ | Serial.begin(9600); | ||
+ | TSL2561.init(); | ||
+ | } | ||
+ | |||
+ | void loop() { | ||
+ | Serial.print(" | ||
+ | Serial.println(TSL2561.readVisibleLux()); | ||
+ | Serial.print(" | ||
+ | Serial.println(TSL2561.readIRLuminosity()); | ||
+ | Serial.print(" | ||
+ | Serial.println(TSL2561.readFSpecLuminosity()); | ||
+ | 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, | ||
+ | Ce capteur se connecte sur une entrée digitale. | ||
+ | |||
+ | <code c++> | ||
+ | #define PIR_MOTION_SENSOR 2 // Détecteur PIR sur pin 2 | ||
+ | |||
+ | void setup() { | ||
+ | pinMode(PIR_MOTION_SENSOR, | ||
+ | } | ||
+ | |||
+ | void loop() { | ||
+ | if (digitalRead(PIR_MOTION_SENSOR)) | ||
+ | // Un mouvement a été détecté | ||
+ | else | ||
+ | // Rien n'a été détecté | ||
+ | |||
+ | delay(200); | ||
+ | } | ||
+ | </ | ||
+ |
diy/grove/capteurs.txt · Dernière modification : 2020/04/05 09:20 de jbpuel