Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "DHT.h"
- #define button 2
- int startTime = 0;
- int pressedTime = 0;
- int led = 4;
- bool isProgramStart = false;
- int lastPrint = 0;
- DHT sensor(A0, DHT11);
- void setup() {
- pinMode(button, INPUT);
- pinMode(led, OUTPUT);
- digitalWrite(button, HIGH);
- Serial.begin(9600);
- sensor.begin();
- }
- void loop() {
- if (!isProgramStart && isButtonPressed()) {
- startTime = millis();
- while(true) {
- if (!isButtonPressed()) {
- break;
- }
- pressedTime = millis() - startTime;
- if (pressedTime > 5000) {
- Serial.println("Sensor start!");
- isProgramStart = true;
- delay(1000);
- break;
- }
- }
- startTime = 0;
- pressedTime = 0;
- }
- if (isProgramStart) {
- if (isButtonPressed()) {
- Serial.println("Sensor off");
- digitalWrite(led, LOW);
- isProgramStart = false;
- return;
- }
- int count = millis() - lastPrint;
- bool isPrint = count > 3000;
- if (isPrint) {
- lastPrint = 0;
- }
- float temp = sensor.readTemperature();
- if (lastPrint == 0) {
- Serial.print("temp=");
- Serial.print(temp);
- Serial.print(", ");
- Serial.print("hum=");
- Serial.print(sensor.readHumidity());
- Serial.println();
- lastPrint = millis();
- if (temp < 28) {
- digitalWrite(led, HIGH);
- delay(50);
- digitalWrite(led, LOW);
- delay(50);
- } else {
- digitalWrite(led, HIGH);
- }
- }
- }
- }
- boolean isButtonPressed() {
- return !digitalRead(button);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement