[SIMPLE PROGRAM] HYT humidity & temp sensor polling / showing received data at TFT with capacitive touchscreen
Dependencies: FT800_2 HYT mbed
main.cpp
00001 #include "mbed.h" 00002 #include "FT_Platform.h" 00003 #include "HYT.h" 00004 #include "display.h" 00005 00006 HYT SENSOR (PD6, PD7); // sda, scl [SLSTK3400A] 00007 FT800 TFT (PE10, PE11, PE12, PE13, PB11, PD4); // mosi, miso, sck, ss, int, pd [SLSTK3400A] 00008 //HYT SENSOR (D14, D15); // sda, scl [WIZwiki-W7500P] 00009 //FT800 TFT (D11, D12, D13, D10, D9, D8); // mosi, miso, sck, ss, int, pd [WIZwiki-W7500P] 00010 //HYT SENSOR (PA08, PA09); // sda, scl [ATSAMD21-XPRO] 00011 //FT800 TFT (PA18, PA16, PA19, PA17, PA20, PA21); // mosi, miso, sck, ss, int, pd [ATSAMD21-XPRO] 00012 00013 Display disp(&TFT); 00014 00015 /************************************************************************************************************************** 00016 ************************** HYT sensor polling cycle *********************************************************************** 00017 **************************************************************************************************************************/ 00018 void dataUpdate(void) 00019 { 00020 SENSOR.MRCommand(); 00021 wait_ms(100); 00022 SENSOR.DFCommand(); 00023 } 00024 00025 /************************************************************************************************************************** 00026 ************************** Main function ********************************************************************************** 00027 **************************************************************************************************************************/ 00028 int main() 00029 { 00030 disp.Calibration(); 00031 00032 disp.activeScreen = MENU_SCREEN; 00033 disp.pressedButton = NONE_PRESS; 00034 00035 // change active screen depending on pressed area 00036 while(1) { 00037 dataUpdate(); 00038 disp.pressedButton = disp.GetTouch(); 00039 00040 // ---------------------------------------------------------------------------------------------- 00041 // Main menu screen 00042 if (disp.activeScreen == MENU_SCREEN) { 00043 disp.MainMenu(SENSOR.humidity, SENSOR.temperature); 00044 if (disp.pressedButton) { 00045 wait_ms(150); 00046 if (disp.pressedButton == CURR_TEMP_PRESS) { 00047 disp.activeScreen = CURR_TEMP_SCREEN; 00048 } else if (disp.pressedButton == CURR_HUM_PRESS) { 00049 disp.activeScreen = CURR_HUM_SCREEN; 00050 } 00051 disp.pressedButton = NONE_PRESS; 00052 } 00053 00054 // ---------------------------------------------------------------------------------------------- 00055 // Any other screen 00056 } else { 00057 // ---------------------------------------------------------------------------------------------- 00058 // You can back to main menu from any screen 00059 if (disp.pressedButton == MENU_PRESS) { 00060 disp.pressedButton = NONE_PRESS; 00061 disp.activeScreen = MENU_SCREEN; 00062 } else { 00063 // ---------------------------------------------------------------------------------------------- 00064 // Screen with current temperature / humidity 00065 if (disp.activeScreen == CURR_TEMP_SCREEN) { 00066 disp.CurrentTemperature(SENSOR.temperature); 00067 } else if (disp.activeScreen == CURR_HUM_SCREEN) { 00068 disp.CurrentHumidity(SENSOR.humidity); 00069 } 00070 } 00071 } 00072 } 00073 }
Generated on Fri Jul 22 2022 13:11:57 by 1.7.2