Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <SFE_BMP180.h>
- #include <DHT.h>
- #include <LiquidCrystal_I2C.h>
- #define DHT11PIN 2
- #define LED_ZIEL 8
- #define LED_ZOLT 9
- #define LED_CZER 10
- LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); // Ustawienie adresu ukladu na 0x27
- DHT dht;
- SFE_BMP180 pressure;
- void setup()
- {
- lcd.begin(16,2); // Inicjalizacja LCD 2x16
- Serial.begin(9600);
- dht.setup(DHT11PIN);
- pinMode(6,OUTPUT);
- lcd.backlight(); // zalaczenie podwietlenia
- lcd.setCursor(0,0); // Ustawienie kursora w pozycji 0,0 (pierwszy wiersz, pierwsza kolumna)
- lcd.print("Dzien dobry");
- delay(1000);
- pinMode(LED_ZIEL, OUTPUT);
- digitalWrite(8, LOW);
- pinMode(LED_ZOLT, OUTPUT);
- digitalWrite(9, LOW);
- pinMode(LED_CZER, OUTPUT);
- digitalWrite(10, LOW);
- pinMode(12, INPUT_PULLUP); //przycisk
- if (pressure.begin())
- Serial.println("BMP180 init success");
- else
- {
- // blad
- Serial.println("BMP180 init fail\n\n");
- }
- }
- void showTemperature(int fahrenheit, int sensorVal, int temperatura){
- if (sensorVal == HIGH) {
- lcd.print(temperatura);
- lcd.println("*C ");
- } else {
- lcd.print(fahrenheit);
- lcd.println("*F ");
- }}
- void loop()
- {
- char status;
- double P, T;
- int wilgotnosc = dht.getHumidity();
- int temperatura = dht.getTemperature();
- double fahrenheit = (temperatura*1.8)+32;
- int sensorVal = digitalRead(12);
- //czy przycisk dziala
- //Serial.println(sensorVal);
- if (dht.getStatusString() == "OK") {
- lcd.setCursor(0,0);
- lcd.print(wilgotnosc);
- lcd.print("%RH | ");
- showTemperature(fahrenheit, sensorVal, temperatura);
- //lcd.println("*C ");}
- }
- status = pressure.startPressure(3);
- if (status != 0)
- {
- // sprawdzanie cisnienia
- delay(status);
- status = pressure.getPressure(P,T);
- if (status != 0)
- {
- // wypuszczamy na serial
- //Serial.print("absolute pressure: ");
- lcd.setCursor(0, 1);
- lcd.print(P+80,2);}}
- lcd.print("hPa");
- //sprawdzic czujnik bo daje temperature a nastepnie 0
- if(temperatura>0&&temperatura<=25){
- digitalWrite(8, HIGH);}
- else if(temperatura>25&&temperatura<=30){
- digitalWrite(9, HIGH);
- }
- else if(temperatura>30){
- digitalWrite(6, HIGH);
- int f;
- for(f=635;f<=912;f++){
- tone(6, f);
- delay(7);}
- for(f=912;f>=635;f--){
- tone(6, f);
- delay(7);}
- digitalWrite(10, HIGH);}
- //Odczekanie wymaganego czasugo
- //Serial.print(temperatura);
- delay(1000);
- lcd.backlight(); // zalaczenie podswietlenia
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement