RoomEnviroClock este un proiect IoT care integrează o placă Arduino Nano cu un senzor de temperatură și umiditate, împreună cu un senzor de gaz, pentru a oferi informații despre condițiile meteorologice și calitatea aerului în timp real.
Scopul principal al acestui proiect este de a oferi utilizatorului informații utile și practice despre mediul înconjurător din interiorul unei încăperi, cum ar fi temperatura, umiditatea și calitatea aerului.
Ceasul se porneste automat la conectarea acestuia la o sursa de energie. Pe ecran va aparea o animatie draguta cu denumirea ceasului, dupa care utilizatorul va fi indemnat sa apese unul dintre butoane. Exista trei butoane cu functii specifice:
Codul este scris în Arduino IDE și utilizează bibliotecile Wire, LiquidCrystal_I2C, DHT, MQ135, ThreeWire și RtcDS1302.
Afișează temperatura și umiditatea pe ecranul LCD.
Afișează calitatea aerului (AQI) pe ecranul LCD, împreună cu o față simbolică reprezentând starea calității aerului.
Afișează ora curentă pe ecranul LCD folosind caractere personalizate pentru a forma cifrele mari.
Afișează un număr format din două cifre la o poziție specificată pe LCD.
Desenează cifrele de la 0 la 9 folosind caractere personalizate pe LCD.
Afișează cifra corespunzătoare la o poziție specificată pe LCD.
Inițializează comunicația serială. Setează modurile pinilor pentru senzorii și butoanele utilizate. Configurează RTC-ul cu data și ora curentă. Inițializează senzorul de temperatură și umiditate. Inițializează LCD-ul și afișează mesajul de întâmpinare.
Verifică starea fiecărui buton la intervale regulate (debouncing).Actualizează afișajul LCD în funcție de butonul apăsat, la fiecare două secunde.