#include <Wire.h>
#include <LiquidCrystal_I2C.h>
//#include <SFE_BMP180.h>
#include <DS18B20.h>
#include <dht.h>
#define dht_pin A0
#define dht_pin1 A1 // Овај део се дописује
за треће мерење
LiquidCrystal_I2C lcd(0x27, 20, 4);
//SFE_BMP180 pressure;
DS18B20 pressure;
byte degree_symbol[8] =
{
0b00111,
0b00101,
0b00111,
0b00000,
0b00000,
0b00000,
0b00000,
0b00000
};
byte smile[8] =
{
0b00000,
0b00000,
0b01010,
0b00000,
0b10001,
0b01110,
0b00000,
0b00000
};
void setup() {
// put your setup code here, to run once:
lcd.init();
lcd.backlight();
if (pressure.begin()) {
lcd.setCursor(7, 1);
lcd.print("START!");
lcd.createChar(2, smile);
lcd.setCursor(9, 2);
lcd.write(2);
delay(5000);
lcd.clear();
} else {
lcd.setCursor(7, 1);
lcd.print("GRESKA!");
while (1) {}
}
}
void loop() {
// put your main code here, to run repeatedly:
char status;
double T, P, M , p0=1013, A, Y;
status = pressure.startTemperature();
if (status != 0) {
delay(status);
status = pressure.getTemperature(T);
if (status != 0) {
status = pressure.startPressure(3);
if (status != 0) {
delay(status);
status = pressure.getPressure(P, T);
if (status == 0) {
lcd.setCursor(0, 0);
lcd.print("GRESKA");
}
}
} else {
lcd.setCursor(0, 0);
lcd.print("GRESKA");
}
}
A = pressure.altitude(p0,P); // Овај део се
дописује за друго мерење
lcd.setCursor(0,1);
lcd.print("Nadmorska visina je:");
lcd.setCursor(2,2);
lcd.print(A,1);
delay(5000);
lcd.clear();
DHT.read11(dht_pin);
Y=DHT.temperature;
lcd.setCursor(0, 0);
lcd.print("Pritisak: ");
lcd.print(P, 1);
lcd.print(" hPa");
lcd.setCursor(0, 1);
lcd.print("Vlaznost: ");
lcd.print(DHT.humidity, 1);
lcd.print(" %");
M = (Y + T)/2;
lcd.setCursor(0, 2);
lcd.print("Temperatura: ");
lcd.setCursor(14, 2);
lcd.print(M, 1);///
lcd.setCursor(18, 2);
lcd.write(1);
lcd.print("C");
lcd.setCursor(3, 2);
lcd.print("DS18B20 /");
lcd.setCursor(12, 2);
lcd.print("DHT22");
lcd.setCursor(0, 3);
lcd.print("T: ");
lcd.print(T, 1);
lcd.createChar(1, degree_symbol);
lcd.setCursor(7, 3);
lcd.write(1);
lcd.print("C / ");
lcd.setCursor(12, 3);
lcd.print(DHT.temperature, 1);
lcd.setCursor(16, 3);
lcd.write(1);
lcd.print("C");
lcd.setCursor(2,0); // Овај део се односи на
треће мерење
lcd.print("1.DHT22");
lcd.setCursor(10,0);
lcd.print("/");
lcd.setCursor(12,0);
lcd.print("2.DHT22")
lcd.setCursor(0,1);
lcd.print("Vlaznost vazduha: ");
lcd.setCursor(3,2);
lcd.print(DHT.humidity,1);
lcd.print(" %");
lcd.setCursor(0,3);
lcd.print("T: ");
lcd.setCursor(3,3);//
lcd.print(Y,1);
lcd.createChar(1, degree_symbol);
lcd.setCursor(7, 3);//
lcd.write(1);
lcd.print("C");
DHT.read11(dht_pin1);
lcd.setCursor(12,2);
lcd.print(DHT.humidity,1);
lcd.print(" %");
lcd.setCursor(12,3);
lcd.print(DHT.temperature, 1);
lcd.setCursor(16, 3);
lcd.write(1);
lcd.print("C");
delay(5000);
lcd.clear();
}