update
Dependencies: Air_Quality DHT mbed-src
Fork of mbed_Wiznet_W7500 by
main.cpp
- Committer:
- M_J
- Date:
- 2015-08-12
- Revision:
- 2:37c5a8883978
- Parent:
- 1:f9339d95123d
File content as of revision 2:37c5a8883978:
#include "mbed.h"
#include "DHT.h"
#include"Air_Quality.h"
AirQuality airqualitysensor;
int current_quality = -1;
PinName analogPin = A0;
DHT sensor(D4, DHT11);
InterruptIn motion(D3);
AnalogIn luminance(A1);
DigitalOut led_R(LED_RED);
DigitalOut led_G(LED_GREEN);
DigitalOut led_B(LED_BLUE);
int motion_detected = 0;
// Interrupt Handler
void AirQualityInterrupt()
{
AnalogIn sensor(analogPin);
airqualitysensor.last_vol = airqualitysensor.first_vol;
airqualitysensor.first_vol = sensor.read()*1000;
airqualitysensor.timer_index = 1;
}
void irq_handler(void)
{
motion_detected = 1;
}
int main()
{
int error = 0;
float hum = 0.0f;
float cel = 0.0f;
airqualitysensor.init(analogPin, AirQualityInterrupt);
motion.rise(&irq_handler);
while(1)
{
wait(0.3);
error = sensor.readData();
if (0 == error) {
hum = sensor.ReadHumidity();
cel = sensor.ReadTemperature(CELCIUS);
printf("1. Humidity : %4.2f\r\n\n", hum);
wait(0.3);
printf("2. Temperature in Celcius : %2.2f\r\n\n", cel);
wait(0.3);
}
else {
//printf("Error : %d\n", error);
}
if(motion_detected) {
motion_detected = 0;
printf("3. Something move!\r\n\n");
wait(0.3);
}
if(luminance.read()){
if(0.1<=luminance.read()&&luminance.read()<=0.3){
led_R=0; led_G=0; led_B=1;} // yellow LED on
else{
led_R=1; led_G=1; led_B=1;} // led off
printf("4. Luminance: %f\r\n\n", luminance.read());
wait(0.3);
}
else {
led_R=0; led_G=0; led_B=0; // white LED on
printf("4. Luminance: %f\r\n\n", luminance.read());
wait(0.3);
}
//air quality sensor
current_quality=airqualitysensor.slope();
if (current_quality >= 0) { // if a valid data returned.
if (current_quality == 0)
printf(" High pollution! Force signal active\n\r\n");
else if (current_quality == 1)
printf(" High pollution!\n\r\n");
else if (current_quality == 2)
printf(" Low pollution!\n\n\r");
else if (current_quality == 3)
printf(" Fresh air!\n\r\n");
}
}
}
