ENIB 2023 : UnderPressure : Différence entre versions
(→Code) |
(→Catégories) |
||
(5 révisions intermédiaires par 2 utilisateurs non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
==photo de l'équipe== | ==photo de l'équipe== | ||
− | [[Fichier: | + | [[Fichier:Snapchat-1427582049.jpg|600px]] |
==Que fait ce projet ? == | ==Que fait ce projet ? == | ||
− | Le joueur se retrouve face à un plateau rempli de verres avec des pailles. Son but est de trouver le bon verre et de souffler dedans à 2 bars pendant | + | Le joueur se retrouve face à un plateau rempli de verres avec des pailles. Son but est de trouver le bon verre et de souffler dedans à 2 bars pendant 5 secondes (le nombre de verres sur le plateau). Plusieurs énigmes-indices l'aideront, elles seront notées dans la décoration des verres (papier crépon). Lorsque le jeu est gagné, la led rouge devient verte. |
==Liste des composants== | ==Liste des composants== | ||
− | * | + | * Carte Arduino |
− | * | + | * Capteur de pression BME280 |
− | * | + | * Leds rouge, verte, orange |
+ | * Verres | ||
+ | * Pailles | ||
==Code== | ==Code== | ||
<pre> | <pre> | ||
− | + | ||
− | |||
#include <Wire.h> | #include <Wire.h> | ||
Ligne 23 : | Ligne 24 : | ||
Adafruit_BME280 bme; // I2C | Adafruit_BME280 bme; // I2C | ||
− | const int greenLed = | + | const int greenLed = 5; |
− | const int orangeLed = | + | const int orangeLed = 6; |
− | const int redLed = | + | const int redLed = 7; |
const float targetPressure = 1.0; | const float targetPressure = 1.0; | ||
const int targetDuration = 5000; // 5 seconds | const int targetDuration = 5000; // 5 seconds | ||
Ligne 76 : | Ligne 77 : | ||
} | } | ||
} | } | ||
+ | </pre> | ||
==Catégories== | ==Catégories== | ||
[[Catégorie:Enib2023]] | [[Catégorie:Enib2023]] | ||
+ | |||
+ | [[Catégorie:Arduino]] |
Version actuelle datée du 15 janvier 2024 à 15:59
photo de l'équipe
Que fait ce projet ?
Le joueur se retrouve face à un plateau rempli de verres avec des pailles. Son but est de trouver le bon verre et de souffler dedans à 2 bars pendant 5 secondes (le nombre de verres sur le plateau). Plusieurs énigmes-indices l'aideront, elles seront notées dans la décoration des verres (papier crépon). Lorsque le jeu est gagné, la led rouge devient verte.
Liste des composants
- Carte Arduino
- Capteur de pression BME280
- Leds rouge, verte, orange
- Verres
- Pailles
Code
#include <Wire.h> #include <Adafruit_Sensor.h> #include <Adafruit_BME280.h> Adafruit_BME280 bme; // I2C const int greenLed = 5; const int orangeLed = 6; const int redLed = 7; const float targetPressure = 1.0; const int targetDuration = 5000; // 5 seconds unsigned long startTime; bool pressureReached = false; void setup() { // Start the I2C communication Wire.begin(); // Initialize the BME280 sensor bme.begin(0x76); // Set the LED pins as output pinMode(greenLed, OUTPUT); pinMode(orangeLed, OUTPUT); pinMode(redLed, OUTPUT); } void loop() { float pressure = bme.readPressure() / 100.0F; // Check if the pressure is correct if (pressure >= targetPressure) { if (!pressureReached) { // Start the timer startTime = millis(); pressureReached = true; } else { // Check if the duration is long enough if (millis() - startTime >= targetDuration) { // Turn on the green LED digitalWrite(greenLed, HIGH); digitalWrite(orangeLed, LOW); digitalWrite(redLed, LOW); } else { // Turn on the orange LED digitalWrite(greenLed, LOW); digitalWrite(orangeLed, HIGH); digitalWrite(redLed, LOW); } } } else { // Turn on the red LED digitalWrite(greenLed, LOW); digitalWrite(orangeLed, LOW); digitalWrite(redLed, HIGH); pressureReached = false; } }