Étape 8: Ajouter dans le code de l’Arduino
/*
Code pour des capteurs environnementaux qui prend la qualité de l’air, la lumière, la température et les données de bruit de l’environnement pour afficher sur un écran lcd * /
#include #include "MutichannelGasSensor.h" #include "rgb_lcd.h" rgb_lcd lcd ;
const int buttonPin = 8 ; int buttonPushCounter = 0 ; buttonState int = 0 ; int lastButtonState = 0 ;
void setup() {lcd.begin (16, 2); / / mettre en place nombre de l’écran LCD de colonnes et de lignes Serial.begin(9600); / / début de série pour la sortie de lcd.println ("power on!"); lcd.noAutoscroll() ; mutichannelGasSensor.begin (0 x 04); //the adresse I2C par défaut l’esclave est 0 x 04 / / mutichannelGasSensor.changeI2cAddr(0x04) ; mutichannelGasSensor.doCalibrate() ; pinMode (buttonPin, INPUT);}
void loop() {float c; float d; float e; int f; g flotteur ; int h; float r; flotteur t; fah flotter ; mutichannelGasSensor.powerOn() ;
buttonState = digitalRead(buttonPin) ; comparer le buttonState à son état antérieur si (buttonState! = lastButtonState) {si (buttonState == HIGH) {buttonPushCounter ++;} / / retarder un peu pour éviter le rebond / / delay(50);}
Si (buttonPushCounter == 0) {c = mutichannelGasSensor.measure_NH3() ; lcd.setRGB(155,221,255) ; lcd.print("NH3:") ; Si (c > = 0) lcd.print(c) ; d’autre lcd.print("invalid") ; LCD.Print ("ppm");}
Si (buttonPushCounter == 1) {d = mutichannelGasSensor.measure_CO() ; lcd.setRGB(196,216,226) ; lcd.print("CO:") ; Si (d > = 0) lcd.print(d) ; d’autre lcd.print("invalid") ; LCD.Print ("ppm");}
Si (buttonPushCounter == 2) {e = mutichannelGasSensor.measure_NO2() ; lcd.setRGB(204,255,255) ; lcd.print("NO2:") ; Si (e > = 0) lcd.print(e) ; d’autre lcd.print("invalid") ; LCD.Print ("ppm");}
Si (buttonPushCounter == 3) {f = analogRead(0) ; lcd.setRGB(182,134,44) ; lcd.print("Light:") ; Si (f > = 0) lcd.print(f) ; d’autre lcd.print("invalid") ; LCD.Print ("parts");}
Si (buttonPushCounter == 4) {g = analogRead(1); r = (float)(1023-g) * 10000/g; //resistance calcul t = 1 / (log (r/10000) /3975+1/298.15) -273,15 ; //temperature dans fah celsius = t * 9 / 5 + 32 ; lcd.setRGB(255,102,255) ; lcd.print("Temp:") ; LCD.Print(FAH) ; LCD.Print ("* F");}
Si (buttonPushCounter == 5) {g = analogRead(1); r = (float)(1023-g) * 10000/g; //resistance calcul t = 1 / (log (r/10000) /3975+1/298.15) -273,15 ; //temperature en celsius lcd.setRGB(255,153,255) ; lcd.print("Temp:") ; LCD.Print(t) ; LCD.Print ("* C");}
Si (buttonPushCounter == 6) {h = analogRead(2) ; lcd.setRGB(8,30,63) ; lcd.print("Noise:") ; Si (h > = 0) lcd.print(h) ; d’autre lcd.print("invalid") ; LCD.Print ("parts");}
Si (buttonPushCounter == 7) {buttonPushCounter = 0; lcd.setRGB(255,255,255);} delay(250) ; LCD.Clear() ; }