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 <Wire.h>
|
||||||
#include "SparkFun_SCD30_Arduino_Library.h"
|
#include "SparkFun_SCD30_Arduino_Library.h"
|
||||||
#include "LiquidCrystal_I2C.h"
|
|
||||||
#define LED_PIN3
|
/*Déclaration des variables pour les leds rouge, orange et verte*/
|
||||||
/*int ledR =2;
|
|
||||||
int ledO =4;
|
|
||||||
int ledV =5;*/
|
|
||||||
int ledR =5;
|
int ledR =5;
|
||||||
int ledO =18;
|
int ledO =18;
|
||||||
int ledV =19;
|
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;
|
SCD30 airSensor;
|
||||||
|
|
||||||
void setup()
|
void setup()
|
||||||
{
|
{
|
||||||
Serial.begin(9600);
|
/*Initialisations du moniteur série et de la connexion avec le capteur*/
|
||||||
Serial.println("SCD30 Example");
|
Serial.begin(9600);
|
||||||
Wire.begin();
|
Wire.begin();
|
||||||
if (airSensor.begin() == false)
|
if (airSensor.begin() == false)
|
||||||
{
|
{
|
||||||
Serial.println("Air sensor not detected. Please check wiring. Freezing...");
|
Serial.println("Air sensor not detected. Please check wiring. Freezing...");
|
||||||
while (1)
|
while (1);
|
||||||
;
|
}
|
||||||
}
|
|
||||||
pinMode(ledR, OUTPUT);
|
/*Configuration des broches des leds*/
|
||||||
pinMode(ledO, OUTPUT);
|
pinMode(ledR, OUTPUT);
|
||||||
pinMode(ledV, OUTPUT);
|
pinMode(ledO, OUTPUT);
|
||||||
|
pinMode(ledV, OUTPUT);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void loop()
|
void loop()
|
||||||
{
|
{
|
||||||
int taux_co2;
|
if (airSensor.dataAvailable()) //"Si le capteur fonctionne, alors ..."
|
||||||
if (airSensor.dataAvailable())
|
{
|
||||||
{
|
/*Prises de mesures et attributions dans les variables*/
|
||||||
taux_co2 = (int)airSensor.getCO2();
|
taux_co2 = airSensor.getCO2();
|
||||||
Serial.print("co2(ppm):");
|
temperature = airSensor.getTemperature();
|
||||||
Serial.print(taux_co2);
|
humidite = airSensor.getHumidity();
|
||||||
Serial.print(" temp(C):");
|
|
||||||
Serial.print(airSensor.getTemperature(), 1);
|
/*Affichage sur le moniteur série*/
|
||||||
Serial.print(" humidity(%):");
|
Serial.print("co2(ppm):");
|
||||||
Serial.print(airSensor.getHumidity(), 1);
|
Serial.print(taux_co2);
|
||||||
Serial.println();
|
Serial.print(" temp(C):");
|
||||||
if (taux_co2 < 800){
|
Serial.print(temperature);
|
||||||
digitalWrite(ledV,HIGH);
|
Serial.print(" humidité(%):");
|
||||||
digitalWrite(ledO,LOW);
|
Serial.println(humidite);
|
||||||
digitalWrite(ledR,LOW);
|
|
||||||
}
|
/*Allumage des leds en fonction du taux de CO2*/
|
||||||
else if (taux_co2 >= 800 && taux_co2 < 1000){
|
if (taux_co2 < 800)
|
||||||
digitalWrite(ledO,HIGH);
|
{
|
||||||
digitalWrite(ledV,LOW);
|
digitalWrite(ledV,HIGH);
|
||||||
digitalWrite(ledR,LOW);
|
digitalWrite(ledO,LOW);
|
||||||
}
|
digitalWrite(ledR,LOW);
|
||||||
else if (taux_co2 >= 1000){
|
}
|
||||||
digitalWrite(ledR,HIGH);
|
else if (taux_co2 >= 800 && taux_co2 < 1000)
|
||||||
digitalWrite(ledO,LOW);
|
{
|
||||||
digitalWrite(ledV,LOW);
|
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);
|
delay(500);
|
||||||
}
|
}
|
Loading…
Reference in a new issue