Cette page fournit une simple interface de navigation pour trouver des entités décrites par une propriété et une valeur nommée. D’autres interfaces de recherche disponibles comprennent la page recherche de propriété, et le constructeur de requêtes ask.
| Statut (mettre OK + URL ou liens si images dispos sur Wikideb), ou « A ajouter » | |
| Photos | |
| Vidéo | |
| Niveau scolaire (Classes où la notion est étudiée) |
| Généralités | Alimentation | 3 à 5 Vcc |
| Interface | I2C et SPI sur connecteur au pas de 2,54 mm | |
| Dimensions | 30 x 14 x 10 mm | |
| Poids | 10 g | |
| Température | Plage de mesure | - 40 à 85 °C |
| Humidité | Plage de mesure | 0 à 100 % RH |
| Précision relative | ± 3 % RH | |
| Temps de réponse | 8 sec | |
| Pression atmosphérique | Plage de mesure | 300 à 1100 hPa |
| Précision absolue | ± 1 hPa | |
| Qualité de l'air (IAQ) | Plage de mesure | 0 à 500 (valeur de résistance) |
| Temps de réponse | 1 sec |
| Capteur BME 680 | ||
|---|---|---|
| Avant le setup | Importation des bibliothèques | #include "bsec.h" |
| Création de l’objet | Bsec ''objet;'' | |
| Dans le setup | Démarrage de l’objet | Wire.begin(); ''objet''.begin(BME680_I2C_ADDR_SECONDARY, Wire); //Configuration du capteur bsec_virtual_sensor_t sensorList[4] = { BSEC_OUTPUT_RAW_PRESSURE, BSEC_OUTPUT_IAQ, BSEC_OUTPUT_SENSOR_HEAT_COMPENSATED_TEMPERATURE, BSEC_OUTPUT_SENSOR_HEAT_COMPENSATED_HUMIDITY, }; ''objet''.updateSubscription(sensorList, 4, BSEC_SAMPLE_RATE_LP); |
| Dans le loop | Utilisation | if(''objet''.run()){ // Dès que la mesure est effectuée, on affiche les valeurs ''objet''.temperature; ''objet''.humidity; ''objet''.pressure; ''objet''.iaq; //indice de qualité de l'ai 0 -500 ''objet''.accuracy; // fiabilité des mesures (0 -> calibration 3-> mesures fiables) } |
1 #include "bsec.h" // ajout de la bibliothèque Bsec de Bosh
2 Bsec iaqSensor; // creation de l'objet Iaq
3
4 void setup(void)
5 {
6 Serial.begin(115200); // Initialisation de la connexion série
7 Wire.begin(); // Démarrage de la connexion I2C avec le capteur
8
9 iaqSensor.begin(BME680_I2C_ADDR_SECONDARY, Wire); // démarrage du capteur
10 bsec_virtual_sensor_t sensorList[4] = { // Configuration du capteur
11 BSEC_OUTPUT_RAW_PRESSURE,
12 BSEC_OUTPUT_IAQ,
13 BSEC_OUTPUT_SENSOR_HEAT_COMPENSATED_TEMPERATURE,
14 BSEC_OUTPUT_SENSOR_HEAT_COMPENSATED_HUMIDITY,
15 };
16
17 iaqSensor.updateSubscription(sensorList, 4, BSEC_SAMPLE_RATE_LP); // configuration du capteur
18 }
19
20 void loop(void)
21 {
22 if (iaqSensor.run()) { // Dès que l'on reçoit des mesures
23 Serial.print("temperature : ");
24 Serial.println(iaqSensor.temperature); // Affichage de la température
25
26 Serial.print("humidite : ");
27 Serial.println(iaqSensor.humidity); // Affichage de l'humidité
28
29 Serial.print("pression : ");
30 Serial.println(iaqSensor.pressure); // Affichage de la pression en Pascal
31
32 Serial.print("IAQ : ");
33 Serial.println(iaqSensor.iaq); // Indice de la qualité de l'air
34
35 Serial.print("iAQ accuracy : ");
36 Serial.println(iaqSensor.iaqAccuracy); // Indice de calibration (attendre qu'il passe à 3 pour exploiter les mesures environ 2h)
37 }
38 }
1 /*
2 * Code repris de http://wiki.t-o-f.info/Arduino/%c3%89liminationDuRebondissement
3 */
4
5 int BUTTON_PIN = 0; //GPIO 0 correspond à la broche D3
6 int previousButtonState;
7 int count =0;
8
9 unsigned long debounceTimeStamp;
10
11 void setup() {
12 Serial.begin(57600);
13 pinMode( BUTTON_PIN , INPUT_PULLUP );
14 previousButtonState = digitalRead( BUTTON_PIN );
15 }
16
17 void loop() {
18 if ( millis() - debounceTimeStamp >= 5 ) {
19 int currentButtonState = digitalRead( BUTTON_PIN );
20 if ( currentButtonState != previousButtonState ) {
21 debounceTimeStamp = millis();
22 if ( currentButtonState == LOW ) {
23 count = count + 1;
24 Serial.println(count);
25 }
26 }
27 previousButtonState = currentButtonState;
28 }
29 }
| 9H | 8H | 7H | 6H | 5H | 4H | 3H | 2H | H | F | HB | B | 2B | 3B | 4B | 5B | 6B | 7B | 8B | 9B |
| Dure | → | Moyenne | → | Tendre | |||||||||||||||
| Composant | Rôle | Détails |
|---|---|---|
| '''ESP32''' | Microcontrôleur principal | Gère moteur + LEDs + API en wifi |
| ⚙️ '''Moteur pas à pas / Servo SG90''' | Action mécanique du socle | 3 positions (basse, moyenne, haute) |
| 💡 '''Bandeau LED NeoPixel''' | Lumière d’ambiance | 12 LEDs RGB |
| 📜 Papier rugueux et épais | décorer et refléter la lumière | environ 60cmx15cm selon la taille du POGL |
| Papier réfléchissant perforer | laisse passer plus ou moins la lumière | 15cm de diamètre, trou aléatoire 1cm de diamètre |
Adafruit_NeoPixel.h → gestion des LEDs avec fil piloteServo.h ou Stepper.h → contrôle du moteur (selon le modèle choisi)main.ino
├── [CONFIG] constantes moteur + LEDs
├── [DOMAIN] types (enum Densite, Color, TramPoint)
├── [DATA] scénario de simulation tram
├── [STATE] variables d'état (couleurs, index, timer)
├── [API HW] moteurs/LEDs (tournerMoteur, setTargetColor, smoothTransition, showColor)
├── [LOGIC] mapping densité → angle/couleur + traitement changement
├── [APP] setup(), loop() non-bloquante (tick simulation)Vous avez entré un nom de page invalide, avec un ou plusieurs caractères suivants :
< > @ ~ : * € £ ` + = / \ | [ ] { } ; ? #