Advertisement
Guest User

Untitled

a guest
Dec 3rd, 2016
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.58 KB | None | 0 0
  1. #include "DHT.h"
  2. #define button 2
  3.  
  4. int startTime = 0;
  5. int pressedTime = 0;
  6. int led = 4;
  7. bool isProgramStart = false;
  8.  
  9. int lastPrint = 0;
  10.  
  11. DHT sensor(A0, DHT11);
  12.  
  13. void setup() {
  14.   pinMode(button, INPUT);
  15.   pinMode(led, OUTPUT);
  16.   digitalWrite(button, HIGH);
  17.   Serial.begin(9600);
  18.  
  19.   sensor.begin();
  20. }
  21.  
  22. void loop() {
  23.   if (!isProgramStart && isButtonPressed()) {
  24.     startTime = millis();
  25.     while(true) {
  26.       if (!isButtonPressed()) {
  27.         break;
  28.       }
  29.       pressedTime = millis() - startTime;
  30.       if (pressedTime > 5000) {
  31.         Serial.println("Sensor start!");
  32.         isProgramStart = true;
  33.         delay(1000);
  34.         break;
  35.       }
  36.     }
  37.   startTime = 0;
  38.     pressedTime = 0;
  39.   }
  40.   if (isProgramStart) {
  41.  
  42.     if (isButtonPressed()) {
  43.       Serial.println("Sensor off");
  44.       digitalWrite(led, LOW);
  45.       isProgramStart = false;
  46.       return;
  47.     }
  48.     int count =  millis() - lastPrint;
  49.    
  50.     bool isPrint = count > 3000;
  51.    
  52.     if (isPrint) {
  53.       lastPrint = 0;  
  54.     }
  55.     float temp = sensor.readTemperature();
  56.     if (lastPrint == 0) {
  57.       Serial.print("temp=");
  58.       Serial.print(temp);
  59.       Serial.print(", ");
  60.       Serial.print("hum=");
  61.       Serial.print(sensor.readHumidity());
  62.       Serial.println();
  63.       lastPrint = millis();
  64.      
  65.       if (temp < 28) {
  66.         digitalWrite(led, HIGH);
  67.         delay(50);
  68.         digitalWrite(led, LOW);
  69.         delay(50);
  70.       } else {
  71.         digitalWrite(led, HIGH);
  72.       }
  73.     }
  74.   }
  75. }
  76.  
  77. boolean isButtonPressed() {
  78.   return !digitalRead(button);
  79. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement