Paso 8: Añadir en el código de Arduino
/*
Código de Sensor ambiental que tiene la calidad del aire, luz, temperatura y datos de ruido del ambiente en una pantalla de lcd * /
#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); / / configurar número la pantalla del LCD de columnas y filas Serial.begin(9600); / / iniciar la serie de lcd.println de salida ("encendido!"); lcd.noAutoscroll(); mutichannelGasSensor.begin (0 x 04), //the default dirección I2C del esclavo es 0 x 04 / / mutichannelGasSensor.changeI2cAddr(0x04); mutichannelGasSensor.doCalibrate(); pinMode (buttonPin, entrada);}
void loop() {flotador c d flotador flotador e; int f; flotador g; int h; float r; float t; flotador fah; mutichannelGasSensor.powerOn();
buttonState = digitalRead(buttonPin); Comparar la buttonState a su estado anterior si (buttonState! = lastButtonState) {si (buttonState == HIGH) {buttonPushCounter ++;} / / retrasar un poco para evitar rebote / / delay(50);}
Si (buttonPushCounter == 0) {c = mutichannelGasSensor.measure_NH3(); lcd.setRGB(155,221,255); lcd.print("NH3:"); Si (c > = 0) lcd.print(c); lcd.print("invalid") otra cosa; LCD.Print ("ppm");}
Si (buttonPushCounter == 1) {d = mutichannelGasSensor.measure_CO(); lcd.setRGB(196,216,226); lcd.print("CO:"); Si (d > = 0) lcd.print(d); lcd.print("invalid") otra cosa; LCD.Print ("ppm");}
Si (buttonPushCounter == 2) {e = mutichannelGasSensor.measure_NO2(); lcd.setRGB(204,255,255); lcd.print("NO2:"); Si (e > = 0) lcd.print(e); lcd.print("invalid") otra cosa; LCD.Print ("ppm");}
Si (buttonPushCounter == 3) {f = analogRead(0); lcd.setRGB(182,134,44); lcd.print("Light:"); Si (f > = 0) lcd.print(f); lcd.print("invalid") otra cosa; LCD.Print ("unidades");}
Si (buttonPushCounter == 4) {g = analogRead(1); r = (float)(1023-g) * 10000/g; //resistance cálculo t = 1 / (log (r/10000) /3975+1/298.15)-273.15; //temperature en celsius Fahrenheit = 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 cálculo t = 1 / (log (r/10000) /3975+1/298.15)-273.15; //temperature en lcd.setRGB(255,153,255) celsius; 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); lcd.print("invalid") otra cosa; LCD.Print ("unidades");}
Si (buttonPushCounter == 7) {buttonPushCounter = 0; lcd.setRGB(255,255,255);} delay(250); LCD.Clear(); }