final

Dependencies:   DISCO_L475VG_IOT01A_wifi

Committer:
ascension2
Date:
Thu Aug 22 08:16:51 2019 +0000
Revision:
4:33b80026a3ee
Parent:
3:32b328935a54
final
;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ascension2 2:a460007a35c7 1 #include"init_pin.h"
ascension2 2:a460007a35c7 2 #include"Motorcontrol.h"
ascension2 2:a460007a35c7 3 #include "mbed.h"
ascension2 2:a460007a35c7 4
ascension2 2:a460007a35c7 5 AnalogIn dustIn(A5);
ascension2 2:a460007a35c7 6 DigitalOut dustled(D10);
ascension2 2:a460007a35c7 7
ascension2 2:a460007a35c7 8 float dustValue = 0;
ascension2 2:a460007a35c7 9 float calcVoltage = 0;
ascension2 2:a460007a35c7 10 float dustDensity = 0;
ascension2 2:a460007a35c7 11
ascension2 2:a460007a35c7 12 int T_dust_value;
ascension2 2:a460007a35c7 13 extern int AutoMode;
ascension2 2:a460007a35c7 14
ascension2 2:a460007a35c7 15 extern int window_state;
ascension2 2:a460007a35c7 16 int M_dust;
ascension2 3:32b328935a54 17 uint8_t dustCount;
ascension2 2:a460007a35c7 18 void Dustcheck()
ascension2 2:a460007a35c7 19 {
ascension2 2:a460007a35c7 20 M_dust=0;
ascension2 2:a460007a35c7 21 dustled=0;
ascension2 2:a460007a35c7 22 wait_ms(0.28);
ascension2 2:a460007a35c7 23
ascension2 2:a460007a35c7 24 dustValue = dustIn.read();
ascension2 2:a460007a35c7 25 wait_ms(0.04);
ascension2 2:a460007a35c7 26
ascension2 2:a460007a35c7 27 dustled=1;
ascension2 2:a460007a35c7 28 // wait_ms(9.68);
ascension2 2:a460007a35c7 29 dustValue=dustValue*5;
ascension2 2:a460007a35c7 30 if(dustValue <0.6)
ascension2 2:a460007a35c7 31 {
ascension2 2:a460007a35c7 32 dustValue =0.6;
ascension2 2:a460007a35c7 33 }
ascension2 2:a460007a35c7 34
ascension2 2:a460007a35c7 35 dustDensity =((dustValue-0.6)/1.25)*1000.0;
ascension2 2:a460007a35c7 36
ascension2 2:a460007a35c7 37
ascension2 2:a460007a35c7 38 if(dustDensity >80) // standard of korea
ascension2 2:a460007a35c7 39 {
ascension2 2:a460007a35c7 40 T_dust_value=1;
ascension2 2:a460007a35c7 41 M_dust=1;
ascension2 3:32b328935a54 42 if(dustCount<5)
ascension2 3:32b328935a54 43 {
ascension2 3:32b328935a54 44 dustCount++;
ascension2 3:32b328935a54 45 }
ascension2 2:a460007a35c7 46 }
ascension2 2:a460007a35c7 47 else
ascension2 2:a460007a35c7 48 {
ascension2 2:a460007a35c7 49 T_dust_value=0;
ascension2 2:a460007a35c7 50 M_dust=2;
ascension2 3:32b328935a54 51 if(dustCount>0)
ascension2 3:32b328935a54 52 {
ascension2 3:32b328935a54 53 dustCount--;
ascension2 3:32b328935a54 54 }
ascension2 2:a460007a35c7 55 }
ascension2 3:32b328935a54 56 if((AutoMode==1)&&(M_dust==1)&&(window_state==1)&&(dustCount==5))
ascension2 2:a460007a35c7 57 {
ascension2 3:32b328935a54 58 motor1CCW(10); // close
ascension2 2:a460007a35c7 59 M_dust=0;
ascension2 2:a460007a35c7 60 }
ascension2 3:32b328935a54 61 if((AutoMode==1)&&(M_dust==2)&&(window_state==0)&&(dustCount==0))
ascension2 2:a460007a35c7 62 {
ascension2 3:32b328935a54 63 motor1CW(10); // Open
ascension2 2:a460007a35c7 64 M_dust=0;
ascension2 2:a460007a35c7 65 }
ascension2 3:32b328935a54 66
ascension2 2:a460007a35c7 67 }