Advertisement
Guest User

Untitled

a guest
Feb 22nd, 2018
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.85 KB | None | 0 0
  1. //*************************** BIBLIOTEKI ***********************************
  2. #include <Wire.h>   // standardowa biblioteka Arduino
  3. #include <LiquidCrystal_I2C.h> // dolaczenie pobranej biblioteki I2C dla LCD
  4. #include <DS3231.h>
  5. #include <DHT.h>
  6. //*************************** KONIEC BIBLIOTEK *****************************
  7.  
  8. //*************************** STAŁE !!! ************************************
  9. //DHT
  10. #define DHTTYPE DHT22
  11. #define DHTPIN 2
  12. //-DHT
  13. //Pilot
  14. #define D0 3
  15. #define D1 4
  16. #define D2 5
  17. #define D3 6
  18. //-Pilot
  19. //Czujnik zbliżenia
  20. #define PIRPIN 8
  21. //-Czujnik zbliżenia
  22. //*************************** KONIEC STAŁYCH *******************************
  23.  
  24. //*************************** ZMIENNE **************************************
  25. int a, b, c, d, stan, czysc;
  26. //*************************** KONIEC ZMIENNYCH *****************************
  27.  
  28. //*************************** DEFINICJE OBIEKTÓW ***************************
  29. //DHT
  30. DHT dht(DHTPIN, DHTTYPE); //DHT22
  31. //-DHT
  32. //RTC
  33. DS3231 clock;
  34. RTCDateTime dt;
  35. //-RTC
  36. //LCD I2C
  37. LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);
  38. //-LCD I2C
  39. //*************************** KONIEC OBIEKTÓW ******************************
  40.  
  41.  
  42. void setup() {
  43.   pinMode(PIRPIN, INPUT);
  44.   pinMode(D0, INPUT);
  45.   pinMode(D1, INPUT);
  46.   pinMode(D2, INPUT);
  47.   pinMode(D3, INPUT);
  48.   Serial.begin(9600);
  49.   Serial.println("DHT22 test!");
  50.   Serial.println("PIR Test!");
  51.   lcd.begin(20, 4);   // Inicjalizacja LCD 2x16
  52.   dht.begin();
  53.   lcd.backlight();
  54.   lcd.setCursor(0, 0);
  55. }
  56.  
  57. void loop() {
  58.   float *Temperatura = Wczytaj_Temperature();
  59.   dt = clock.getDateTime();
  60.   a = digitalRead(D0);
  61.   b = digitalRead(D1);
  62.   c = digitalRead(D2);
  63.   d = digitalRead(D3);
  64.   if (a == HIGH) {
  65.     stan = 1;
  66.     czysc = 1;
  67.   };
  68.   if (b == HIGH) {
  69.     stan = 2;
  70.     czysc = 1;
  71.   }
  72.   Ustawienia_Wyswietlacza(stan, czysc, Temperatura);
  73.   czysc = 0;
  74.   //ZWALNIANIE PAMIĘCI ! BARDZO WAŻNE !!
  75.   delete [] Temperatura;
  76. }
  77.  
  78. //*************************** FUNKCJE **************************************
  79. float *Wczytaj_Temperature(void) {
  80.   float *temp = new float[2];
  81.   temp[0] = dht.readTemperature();
  82.   temp[1] = dht.readHumidity();
  83.   return temp;
  84. }
  85. void Ustawienia_Wyswietlacza(int Stan, int Czysc_Ekran, float *Dane) {
  86.   if (Czysc_Ekran == 1) {
  87.     lcd.clear();
  88.   }
  89.   switch (Stan) {
  90.     case 1:
  91.       lcd.setCursor(0, 0);
  92.       lcd.print("Temperatura: ");
  93.       lcd.print(Dane[0]);
  94.       lcd.setCursor(0, 1);
  95.       lcd.print("Wilgotnosc: ");
  96.       lcd.print(Dane[1]);
  97.       break;
  98.     case 2:
  99.       lcd.setCursor(0, 0);
  100.       lcd.print("Data i czas");
  101.       lcd.setCursor(0, 1);
  102.       lcd.print(clock.dateFormat("d-m-Y H:i:s", dt));
  103.       break;
  104.     default:
  105.         lcd.setCursor(0, 0);
  106.         lcd.print("DEFAULT");
  107.       }
  108. }
  109.  
  110. //*************************** KONIEC FUNKCJI *******************************
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement