Mise à jour de 'main.cpp'
This commit is contained in:
parent
d8882a6a98
commit
f883560d2e
113
main.cpp
113
main.cpp
|
@ -1,58 +1,83 @@
|
|||
/*
|
||||
Mesure du taux de CO2, de la température et de l'humidité avec le capteur Sensirion SCD30
|
||||
Affichage de ces mesures dans le moniteur série
|
||||
Leds verte, orange et rouge s'allument en fonction du taux de CO2
|
||||
Led verte allumée => taux de CO2 < 800
|
||||
Led orange allumée => 800 < taux de CO2 < 1000
|
||||
Led verte allumée => 1000 < taux de CO2
|
||||
*/
|
||||
|
||||
/*Appel des bibliothèques*/
|
||||
#include <Wire.h>
|
||||
#include "SparkFun_SCD30_Arduino_Library.h"
|
||||
#include "LiquidCrystal_I2C.h"
|
||||
#define LED_PIN3
|
||||
/*int ledR =2;
|
||||
int ledO =4;
|
||||
int ledV =5;*/
|
||||
|
||||
/*Déclaration des variables pour les leds rouge, orange et verte*/
|
||||
int ledR =5;
|
||||
int ledO =18;
|
||||
int ledV =19;
|
||||
|
||||
/*Déclaration des variables pour les mesures*/
|
||||
int taux_co2;
|
||||
float temperature;
|
||||
float humidite;
|
||||
|
||||
/*Création de l'objet "airSensor" avec la bibliothèque SCD30*/
|
||||
SCD30 airSensor;
|
||||
|
||||
void setup()
|
||||
{
|
||||
Serial.begin(9600);
|
||||
Serial.println("SCD30 Example");
|
||||
Wire.begin();
|
||||
if (airSensor.begin() == false)
|
||||
{
|
||||
Serial.println("Air sensor not detected. Please check wiring. Freezing...");
|
||||
while (1)
|
||||
;
|
||||
}
|
||||
pinMode(ledR, OUTPUT);
|
||||
pinMode(ledO, OUTPUT);
|
||||
pinMode(ledV, OUTPUT);
|
||||
/*Initialisations du moniteur série et de la connexion avec le capteur*/
|
||||
Serial.begin(9600);
|
||||
Wire.begin();
|
||||
if (airSensor.begin() == false)
|
||||
{
|
||||
Serial.println("Air sensor not detected. Please check wiring. Freezing...");
|
||||
while (1);
|
||||
}
|
||||
|
||||
/*Configuration des broches des leds*/
|
||||
pinMode(ledR, OUTPUT);
|
||||
pinMode(ledO, OUTPUT);
|
||||
pinMode(ledV, OUTPUT);
|
||||
}
|
||||
|
||||
|
||||
void loop()
|
||||
{
|
||||
int taux_co2;
|
||||
if (airSensor.dataAvailable())
|
||||
{
|
||||
taux_co2 = (int)airSensor.getCO2();
|
||||
Serial.print("co2(ppm):");
|
||||
Serial.print(taux_co2);
|
||||
Serial.print(" temp(C):");
|
||||
Serial.print(airSensor.getTemperature(), 1);
|
||||
Serial.print(" humidity(%):");
|
||||
Serial.print(airSensor.getHumidity(), 1);
|
||||
Serial.println();
|
||||
if (taux_co2 < 800){
|
||||
digitalWrite(ledV,HIGH);
|
||||
digitalWrite(ledO,LOW);
|
||||
digitalWrite(ledR,LOW);
|
||||
}
|
||||
else if (taux_co2 >= 800 && taux_co2 < 1000){
|
||||
digitalWrite(ledO,HIGH);
|
||||
digitalWrite(ledV,LOW);
|
||||
digitalWrite(ledR,LOW);
|
||||
}
|
||||
else if (taux_co2 >= 1000){
|
||||
digitalWrite(ledR,HIGH);
|
||||
digitalWrite(ledO,LOW);
|
||||
digitalWrite(ledV,LOW);
|
||||
}
|
||||
}
|
||||
if (airSensor.dataAvailable()) //"Si le capteur fonctionne, alors ..."
|
||||
{
|
||||
/*Prises de mesures et attributions dans les variables*/
|
||||
taux_co2 = airSensor.getCO2();
|
||||
temperature = airSensor.getTemperature();
|
||||
humidite = airSensor.getHumidity();
|
||||
|
||||
/*Affichage sur le moniteur série*/
|
||||
Serial.print("co2(ppm):");
|
||||
Serial.print(taux_co2);
|
||||
Serial.print(" temp(C):");
|
||||
Serial.print(temperature);
|
||||
Serial.print(" humidité(%):");
|
||||
Serial.println(humidite);
|
||||
|
||||
/*Allumage des leds en fonction du taux de CO2*/
|
||||
if (taux_co2 < 800)
|
||||
{
|
||||
digitalWrite(ledV,HIGH);
|
||||
digitalWrite(ledO,LOW);
|
||||
digitalWrite(ledR,LOW);
|
||||
}
|
||||
else if (taux_co2 >= 800 && taux_co2 < 1000)
|
||||
{
|
||||
digitalWrite(ledV,LOW);
|
||||
digitalWrite(ledO,HIGH);
|
||||
digitalWrite(ledR,LOW);
|
||||
}
|
||||
else if (taux_co2 >= 1000)
|
||||
{
|
||||
digitalWrite(ledV,LOW);
|
||||
digitalWrite(ledO,LOW);
|
||||
digitalWrite(ledR,HIGH);
|
||||
}
|
||||
}
|
||||
delay(500);
|
||||
}
|
Loading…
Reference in a new issue