#include "DHT.h"
#define DHTPIN 2
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
float temperature;
float humidity;
bool temp_mode = false;
int led_time;
int read_wait = 0;
char symbol;
void setup() {
pinMode(LED_BUILTIN, OUTPUT);
Serial.begin(9600);
dht.begin();
for (int i = 3; i > 0; i--) {
Serial.print(i);
Serial.println("..");
delay(1000);
}
Serial.println("Ready");
}
void loop() {
if (Serial.available() > 0) {
symbol = Serial.read();
if (read_wait < millis()) {
read_wait = millis() + 1000;
if (symbol != 10)
{
Serial.print(millis());
Serial.print("|");
Serial.println(symbol);
switch (symbol)
{
case 'T':
Serial.print(millis());
Serial.print("|");
temperature = dht.readTemperature(temp_mode);
Serial.print(temperature);
if (temp_mode)
{
Serial.println('F');
} else {
Serial.println('C');
}
break;
case 'H':
Serial.print(millis());
Serial.print('|');
humidity = dht.readHumidity();
Serial.print(humidity);
Serial.println("%");
break;
case 'F':
temp_mode = true;
Serial.println("Pārslēgts uz Farenheita grādiem");
break;
case 'C':
temp_mode = false;
Serial.println("Pārslēgts uz Celsija grādiem");
break;
default:
Serial.println("Neatbilst nevienai komandai");
digitalWrite(LED_BUILTIN, HIGH);
led_time = millis();
while (millis() < led_time + 1000) {}
digitalWrite(LED_BUILTIN, LOW);
break;
}
}
}
}
}