33

Dependencies:   DISCO_L475VG_IOT01A_wifi

dustsensor.cpp

Committer:
ascension2
Date:
2019-08-21
Revision:
3:32b328935a54
Parent:
2:a460007a35c7

File content as of revision 3:32b328935a54:

#include"init_pin.h"
#include"Motorcontrol.h"
#include "mbed.h"

AnalogIn dustIn(A5);
DigitalOut dustled(D10);

float dustValue = 0;
float calcVoltage = 0;
float dustDensity = 0;

int T_dust_value;
extern int AutoMode;

extern int window_state;
int M_dust;
uint8_t dustCount;
void Dustcheck()
{
    M_dust=0;
    dustled=0;
    wait_ms(0.28);
    
    dustValue = dustIn.read();
    wait_ms(0.04);
    
    dustled=1;
 //   wait_ms(9.68);
    dustValue=dustValue*5;
    if(dustValue <0.6)
    {
        dustValue =0.6;
    }
    
    dustDensity =((dustValue-0.6)/1.25)*1000.0;
   
   
   if(dustDensity >80) // standard of korea
   {
        T_dust_value=1;
        M_dust=1;
        if(dustCount<5)
        {
            dustCount++;
        }
   }
   else 
   {
        T_dust_value=0;
        M_dust=2;
        if(dustCount>0)
        {
            dustCount--;
        }
   }
    if((AutoMode==1)&&(M_dust==1)&&(window_state==1)&&(dustCount==5))
     {
        motor1CCW(10); // close
        M_dust=0;
     }
    if((AutoMode==1)&&(M_dust==2)&&(window_state==0)&&(dustCount==0))
     {
        motor1CW(10); // Open
        M_dust=0;
     }   
   
}