81 lines
2.2 KiB
C++
81 lines
2.2 KiB
C++
#include "StringArraySerialHandler.h"
|
|
#include "DisplayP10.h"
|
|
#include "DhtHandler.h"
|
|
#include "AirQualityHandler.h"
|
|
//#include "ServerHandler.h"
|
|
//#include "SerialPass.h"
|
|
/*--------------------------------------------------------------------------------------
|
|
setup
|
|
Called by the Arduino architecture before the main loop begins
|
|
--------------------------------------------------------------------------------------*/
|
|
|
|
uint32_t displayUpdateTick = 0; //for updating LED Board
|
|
uint32_t serialUpdateTick = 0;
|
|
|
|
void setup(void){
|
|
Serial.begin(115200);
|
|
StringArraySerialInit();
|
|
UpdateString(4, "LED-BOARD-V1.0");
|
|
//InitServer();
|
|
InitDHT();
|
|
InitAirQuality();
|
|
InitDisplay();
|
|
}
|
|
|
|
/*--------------------------------------------------------------------------------------
|
|
loop
|
|
Arduino architecture main loop
|
|
--------------------------------------------------------------------------------------*/
|
|
void loop(void){
|
|
//DisplayDemo();
|
|
//SetLockDisplay(true); //skip display update timer
|
|
|
|
//lock display update
|
|
lockDisplay = true;
|
|
timerAlarmDisable(timer);
|
|
|
|
//delay(2000); //wait display stop updating
|
|
//timerAlarmDisable(timer);
|
|
ReadDHT();
|
|
if (dhtReadOk){
|
|
temp = dhtTemp;
|
|
humidity = dhtHumidity;
|
|
}
|
|
|
|
//release display update
|
|
lockDisplay = false;
|
|
timerAlarmEnable(timer);
|
|
|
|
//Air Quality Reading
|
|
CalculateAirQualityPPM();
|
|
airQualityValue = airQualityDecayed;//airQuality;
|
|
|
|
//SetLockDisplay(false); //enable diplay timer again
|
|
if ((millis()-displayUpdateTick) >= 50){
|
|
DisplayRoutine();
|
|
displayUpdateTick = millis();
|
|
}
|
|
//dmd.scanDisplayBySPI();
|
|
|
|
//udpdating value for server send
|
|
//toServerTemperature = dhtTemp;
|
|
//toServerHumidity = dhtHumidity;
|
|
//toServerAirQuality = airQualityDecayed;
|
|
//toServerSoundLevel = 0;
|
|
//ServerRoutine();
|
|
//Serial.println("adadawdawdwadadasdad:adadadasd:daadadsadadsds");
|
|
|
|
//updating value to serial 2
|
|
if ((millis()-serialUpdateTick)>=500){
|
|
serialUpdateTick = millis();
|
|
UpdateString(0, (String) dhtTemp);
|
|
UpdateString(1, (String) dhtHumidity);
|
|
UpdateString(2, (String) airQualityDecayed);
|
|
UpdateString(3, (String) 23.45);
|
|
StringArraySend();
|
|
delay(50);
|
|
}
|
|
|
|
// delay(50); //pakai kalau tidak read sensor analog
|
|
}
|