#include <MD_Parola.h>
#include <MD_MAX72xx.h>
#include <SPI.h>
#define HARDWARE_TYPE MD_MAX72XX::PAROLA_HW
#define MAX_DEVICES 4
#define CS_PIN 10
#define DHT_PIN 2
#define BUTTON_PIN 7
MD_Parola myDisplay = MD_Parola(HARDWARE_TYPE, CS_PIN, MAX_DEVICES);
#include <dht.h>
dht DHT;
bool buttonPressed = false;
bool showHumidity = true;
void setup() {
myDisplay.begin();
myDisplay.setIntensity(0);
myDisplay.displayClear();
Serial.begin(9600);
pinMode(BUTTON_PIN, INPUT_PULLUP);
}
void loop() {
if (digitalRead(BUTTON_PIN) == LOW && !buttonPressed) {
buttonPressed = true;
if (showHumidity) {
displayRandomHumidity();
} else {
displayRandomTemperature();
}
showHumidity = !showHumidity;
} else if (digitalRead(BUTTON_PIN) == HIGH && buttonPressed) {
buttonPressed = false;
}
}
void displayRandomTemperature() {
int randomTemp = random(10, 35); // Generovanie náhodnej teploty medzi 10°C a 35°C
myDisplay.setTextAlignment(PA_CENTER);
myDisplay.print(randomTemp); // Zobrazenie náhodnej teploty
myDisplay.print((char)0xDF); // Znak stupňa Celzia
myDisplay.print("C"); // Zobrazenie jednotiek
delay(2000); // Zobrazenie teploty počas 2 sekúnd
myDisplay.displayClear();
}
void displayRandomHumidity() {
int randomHumidity = random(20, 80); // Generovanie náhodnej vlhkosti medzi 20% a 80%
myDisplay.setTextAlignment(PA_CENTER);
myDisplay.print(randomHumidity); // Zobrazenie náhodnej vlhkosti
myDisplay.print("%"); // Zobrazenie percentuálnych hodnôt
delay(2000); // Zobrazenie vlhkosti počas 2 sekúnd
myDisplay.displayClear();
}