Amb les ultimes tendències i els motors GLP crec que es necessari posar en el cotxe nous indicadors on ens mesuri la qualitat del aire dins de la cabina del cotxe. En pocs diners pots crear-te la teva pròpia estació. Jo en el meu cas he utilitzar un sensor d'humitat i temperatura (DHT11), un control de CO (MQ9) i un sensor amb detecció de NH3, NOx, alcohol, benceno, humo, CO2, etc (MQ135).
Altres sensors que podrien ser interessants i no estan implementats en el codi podria ser el Ozo (MQ131) entre altres.
Tots aquest sensors podrien anar connectats a la centraleta del cotxe i indicar la qualitat del aire, en el meu cas ho he muntat amb un arduino, ja que hem permet moure el dispositiu i portar-lo a diferents llocs com a casa, la feina, el cotxe, a la muntanya, etc. podent tenir certa autonomia en llocs on no hi hagi possibilitats de connectar-lo a la corrent utilitzant una bateria externa per a mòbils.
#include
LiquidCrystal_I2C lcd(0x27,20,4);
#include
//Declaració variables
int SENSOR = 2;
int temp,humedad;
int s_analogica_mq135=0;
DHT dht (SENSOR, DHT11);
void setup()
{
// mostrar les dades per consola
Serial.begin(9600);
dht.begin();
//Iniciar el fons retroiluminat
lcd.backlight();
//Iniciar la pantalla
lcd.init();
}
void loop()
{
//impresio per pantalla serial les variables sensor dth11
humedad = dht.readHumidity();
temp = dht.readTemperature();
Serial.print("Temperatura:"); //Mostrar text
Serial.print(temp); //mostrar el valor de la variable
Serial.print(" Hunetat:"); //Mostrar text
Serial.print(humedad); //mostrar el valor de la variable
Serial.print("%"); //Mostrar text
Serial.print(" "); //Mostrar text
//impresio per pantalla serial les variables sensor mq135
s_analogica_mq135 = analogRead(0);
Serial.print(s_analogica_mq135, DEC);//mostrar el valor de la variable
Serial.println(" ppm"); //Mostrar text
delay(250); //temps de refresc en milisegons
//impresio per pantalla serial les variables sensor mq9
float sensor_volt;
float RS_air; // Get the value of RS via in a clear air
float R0; // Get the value of R0 via in LPG
float sensorValue;
/*--- Get a average data by testing 100 times ---*/
for(int x = 0 ; x < 100 ; x++)
{
sensorValue = sensorValue + analogRead(A1);
}
sensorValue = sensorValue/100.0;
/*-----------------------------------------------*/
sensor_volt = sensorValue/1024*5.0;
RS_air = (5.0-sensor_volt)/sensor_volt; // omit *RL
R0 = RS_air/9.9; // The ratio of RS/R0 is 9.9 in LPG gas
Serial.print("sensor_volt = ");
Serial.print(sensor_volt);
Serial.println("V");
Serial.print("R0 = ");
Serial.println(R0);
delay(1000);
//LCD
lcd.clear();//netejar LCD
lcd.print("Temperatura: ");//text primera linea
lcd.print(temp);//variable primera linea
lcd.print("C");//tect primera linea
lcd.setCursor(0,1);//Salt a la segona linea
lcd.print("Humitat: ");//text segona linea
lcd.print(humedad);//variable segona linea
lcd.print("%");//text segona linea
lcd.setCursor(0,2);//Salt a la tercera linea
lcd.print(s_analogica_mq135, DEC);//variable tercera linea
lcd.print(" ppm");//text tercera linea
lcd.print(" CO:");//text tercera linea
lcd.print(R0);//variable segona linea
lcd.setCursor(0,3);//Salt a la quarta linea
lcd.print("Qualitat del aire");//text Quarta linea
//Tiemps de refresc en milisegons
delay(1000);
}
0 comentaris:
Publica un comentari a l'entrada