Zatím bez komentáře bo není čas, ale tohle jsem slepil nedávno za 5 minut z šuplíkových zásob abych si mohl měřit teplotu a vlhkost na půdě.
měří a ukazuje aktuální min a max
Prozkoumej jako inspiraci, třeba se chytíš a případně se pak na to co chceš, mrkneme
Kód: Vybrat vše
// LCD displej
// navody.arduino-shop.cz
/*
* LCD RS pin na digital pin 3
* LCD Enable pin na digital pin 4
* LCD D4 pin na digital pin 5
* LCD D5 pin na digital pin 8
* LCD D6 pin na digital pin 9
* LCD D7 pin na digital pin 10
* LCD R/W pin na GND
* LCD VSS pin na GND
* LCD VCC pin na 5V
* LCD V0 pin přes odpor na zem
* (kontrast)
*/
// knihovna pro LCD displej
#include <LiquidCrystal.h>
// inicializace pinu, lze vyměnit za jiné volné
LiquidCrystal lcd(3, 4, 5, 8, 9, 10);
#include <SimpleDHT.h>
int pinDHT22 = 13;
SimpleDHT22 dht22;
float temp_max = 0;
float temp_min = 0;
float humi_max = 0;
float humi_min = 0;
float temperature = 0;
float humidity = 0;
int err = SimpleDHTErrSuccess;
void setup() {
lcd.begin(20, 4);
delay(100);
Serial.begin(9600);
// temp_max = temperature;
temp_min = 100;
humi_min = 100;
// humi_max = humidity;
}
void loop() {
if ((err = dht22.read2(pinDHT22, &temperature, &humidity, NULL)) != SimpleDHTErrSuccess) {
Serial.print("Read DHT22 failed, err="); Serial.println(err);delay(1000);
return;
}
Serial.print((float)temperature);
Serial.print(",");
Serial.println((float)humidity);
if (temp_max < temperature){
temp_max = temperature;
}
if (temp_min > temperature){
temp_min = temperature;
}
if (humi_min > humidity){
humi_min= humidity;
}
if (humi_max < humidity){
humi_max = humidity;
}
lcd.clear();
lcd.setCursor ( 0, 0 );
lcd.print("Teplota ");
lcd.print((float)temperature, 1);
lcd.print("C");
lcd.setCursor ( 15, 0 );
lcd.print((float)temp_max, 1);
lcd.setCursor ( 15, 1 );
lcd.print((float)temp_min, 1);
lcd.setCursor ( 0, 2 );
lcd.print("Vlhkost ");
lcd.print((float)humidity, 1);
lcd.print("%");
lcd.setCursor ( 15, 2 );
lcd.print((float)humi_max, 1);
lcd.setCursor ( 15, 3 );
lcd.print((float)humi_min, 1);
// DHT22 sampling rate is 0.5HZ.
delay(1000);
}
Na konci poznávacího procesu je omyl zcela vyvrácen a my nevíme nic. Zato to víme správně.