2016년 10월 9일 일요일

HEALTH CARE DEVICE SOURCE

-----------------------------------
#include <DHT11.h>    //라이브러리 불러옴
//#include <SoftwareSerial.h>
int blueTx=3;
int blueRx=5;
//SoftwareSerial mySerial(blueRx,blueTx);
int pin=2;
DHT11 dht11(pin);
int RT=9;
int GT=10;
int BT=11;
int Buzzer=6;
int button=4;
int temp=0;
int dustpin = 8;
unsigned long duration;
unsigned long starttime;
unsigned long sampletime_ms = 30000;//sampe 30s ;
unsigned long lowpulseoccupancy = 0;
int siren=0;
float pcsPerCF = 0;
float ugm3 = 0;
float dustnum=0;
float ratio = 0;
float concentration = 0;

void setup()
{
    Serial.begin(9600);
    Serial.println("I'm Dr.Kim from Yonsei hospital, I guarantee that he is an asthma patient");
//mySerial.begin(9600);

    pinMode(RT,OUTPUT);
 pinMode(GT,OUTPUT);
 pinMode(BT,OUTPUT);
 pinMode(Buzzer,OUTPUT);
  pinMode(button,INPUT);
  pinMode(8, INPUT);


}

void loop()
{ temp=0;
  //if(mySerial.available())
//Serial.write(mySerial.read());
  //if(Serial.available())
 //mySerial.write(Serial.read());
    duration = pulseIn(dustpin, LOW);
    lowpulseoccupancy = lowpulseoccupancy + duration;

    if ((millis() - starttime) > sampletime_ms) //if the sampel time == 30s
    {
      ratio = lowpulseoccupancy / (sampletime_ms * 10.0); // Integer percentage 0=>100
      concentration = 1.1 * pow(ratio, 3) - 3.8 * pow(ratio, 2) + 520 * ratio + 0.62; // using spec sheet curve
      pcsPerCF = concentration * 100;
      ugm3 = pcsPerCF / 13000;
      dustnum=(ugm3*3528)/1000;
      //Serial.print("   ");
    // Serial.print(dustnum);
     // Serial.print("ug/m3");
     // Serial.println();
      lowpulseoccupancy = 0;
    }
    int err;
  float temp, humi;
  if((err=dht11.read(humi, temp))==0) //온도, 습도 읽어와서 표시
  {
   // Serial.print("temperature:");
   // Serial.print(temp);
  // Serial.print(" humidity:");
   // Serial.print(humi);
   // Serial.println();
  }
  else                                //에러일 경우 처리
  {
   // Serial.println();
   Serial.print("Error No :");
    Serial.print(err);
    Serial.println();
  }
  delay(1000);                        //1초마다 측정

    analogWrite(RT,255);
    analogWrite(GT,255);
    analogWrite(BT,255);
    unsigned int val;
    unsigned int dat;
    val=analogRead(0);
    dat=(500 * val) /1024;
  // Serial.print("Temp: ");
   // Serial.print(dat-4);
   // Serial.println(" C");
    if(humi>52)
  {
    analogWrite(RT,30);
    analogWrite(GT,255);
    analogWrite(BT,0);
    tone(Buzzer,100);
    delay(2000);
  noTone(6);
  }
   if(humi>56)
  {
    analogWrite(RT,255);
    analogWrite(GT,255);
    analogWrite(BT,0);
    tone(Buzzer,200);
    delay(2000);
  noTone(6);
  }
  if(digitalRead(button)==0)
  {
    analogWrite(RT,0);
    analogWrite(GT,0);
    analogWrite(BT,255);
    temp++;

 
   
   
    tone(Buzzer,1050);
      delay(850);
      tone(Buzzer,900);
      delay(850);
      tone(Buzzer,1050);
      delay(850);
      tone(Buzzer,900);
      delay(850);
    noTone(6);
  }
  if(temp==24)
{
  //tone(Buzzer,500);
  delay(100);
  noTone(6);
}
    delay(1500);
    Serial.println("I'm Dr.Kim from Yonsei hospital, I guarantee that he is an asthma patient");




}




---------------------------

bluetooth HC-06
humidity , temperature sensor ..
buzzer RGB .

댓글 없음:

댓글 쓰기