Outils pour utilisateurs

Outils du site


diy:grove:capteurs

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);
}

Accéléromètre digital 3 axes

diy/grove/capteurs.txt · Dernière modification : 2020/04/05 09:20 de jbpuel