Stap 8: Toevoegen in de code van de Arduino
/*
Code voor milieu Sensor waarmee de kwaliteit van de lucht, licht, temperatuur en geluidsgegevens uit de omgeving voor weergave op een LCD-scherm * /
#include #include "MutichannelGasSensor.h" #include "rgb_lcd.h" rgb_lcd lcd;
Const int buttonPin = 8; int buttonPushCounter = 0; int buttonState = 0; int lastButtonState = 0;
void setup {lcd.begin (16, 2); / / instellen van de LCD's aantal kolommen en rijen Serial.begin(9600); / / starten serieel voor uitvoer lcd.println ("power on!"); lcd.noAutoscroll(); mutichannelGasSensor.begin (0x04), //the standaard I2C adres van de slaaf is 0x04 / / mutichannelGasSensor.changeI2cAddr(0x04); mutichannelGasSensor.doCalibrate(); pinMode (buttonPin, INPUT);}
void loop {float c float d float e; int f; float g; int h; float r; float t; float fah; mutichannelGasSensor.powerOn();
buttonState = digitalRead(buttonPin); Vergelijk de buttonState in de vorige staat als (buttonState! = lastButtonState) {als (buttonState == HIGH) {buttonPushCounter ++;} / / vertragen een beetje om te voorkomen stuiteren / / delay(50);}
Als (buttonPushCounter == 0) {c = mutichannelGasSensor.measure_NH3(); lcd.setRGB(155,221,255); lcd.print("NH3:"); Als (c > = 0) lcd.print(c); anders lcd.print("invalid"); LCD.Print ("ppm");}
Als (buttonPushCounter == 1) {d = mutichannelGasSensor.measure_CO(); lcd.setRGB(196,216,226); lcd.print("CO:"); Als (d > 0 =) lcd.print(d); anders lcd.print("invalid"); LCD.Print ("ppm");}
Als (buttonPushCounter == 2) {e = mutichannelGasSensor.measure_NO2(); lcd.setRGB(204,255,255); lcd.print("NO2:"); Als (e > = 0) lcd.print(e); anders lcd.print("invalid"); LCD.Print ("ppm");}
Als (buttonPushCounter == 3) {f = analogRead(0); lcd.setRGB(182,134,44); lcd.print("Light:"); Als (f > = 0) lcd.print(f); anders lcd.print("invalid"); LCD.Print ("eenheden");}
Als (buttonPushCounter == 4) {g = analogRead(1); r = (float)(1023-g) * 10000/g; //resistance berekening t = 1 / (log (r/10000) /3975+1/298.15)-273.15, //temperature in celsius fah = t * 9 / 5 + 32; lcd.setRGB(255,102,255); lcd.print("Temp:"); LCD.Print(FAH); LCD.Print ("* F");}
Als (buttonPushCounter == 5) {g = analogRead(1); r = (float)(1023-g) * 10000/g; //resistance berekening t = 1 / (log (r/10000) /3975+1/298.15)-273.15, //temperature in celsius lcd.setRGB(255,153,255); lcd.print("Temp:"); LCD.Print(t); LCD.Print ("* C");}
Als (buttonPushCounter == 6) {h = analogRead(2); lcd.setRGB(8,30,63); lcd.print("Noise:"); Als (h > = 0) lcd.print(h); anders lcd.print("invalid"); LCD.Print ("eenheden");}
Als (buttonPushCounter == 7) {buttonPushCounter = 0; lcd.setRGB(255,255,255);} delay(250); LCD.Clear(); }