// teplota, vlhkost a tlak verze s BME //============================================= #ifdef senzor_BME //---------------------------------------------- // teplota z cidla BME unsigned int teplota(boolean korekce) { float cidlo_teploty = cidlo_BME.readTemperature(); unsigned int teplota_BME = 5000 + (100 * cidlo_teploty); if (korekce == true) { teplota_BME = korekce_teploty(teplota_BME); } return teplota_BME; } //---------------------------------------------- //---------------------------------------------- // vlhkost z cidla BME unsigned int vlhkost(void) { unsigned int vlhkost_BME; float cidlo_vlhkosti = cidlo_BME.readHumidity(); vlhkost_BME = cidlo_vlhkosti * 100; return vlhkost_BME; } //---------------------------------------------- //---------------------------------------------- // tlak z cidla BME unsigned int tlak(void) { unsigned int tlak_BME; unsigned long cidlo_tlaku = cidlo_BME.readPressure(); tlak_BME = cidlo_tlaku - posun_tlaku; // aby se tlak vesel do unsigned int rozsahu, odecita se 60000 Pa return tlak_BME; } //---------------------------------------------- #endif #ifdef senzor_nic // kdyz neni nastaveny zadny senzor, vraci se hodnoty "mimo rozsah" //---------------------------------------------- unsigned int tlak(void) { return 65535; } //---------------------------------------------- //---------------------------------------------- unsigned int vlhkost(void) { return 65535; } //---------------------------------------------- //---------------------------------------------- unsigned int teplota(boolean korekce) { return 65535; } //---------------------------------------------- #endif //---------------------------------------------- // prevede hodnotu teploty, ktera se uklada do EEPROM na normalni teplotu float citelna_teplota(unsigned int necitelna_teplota) { return ((necitelna_teplota - 5000.0) / 100.0); } //---------------------------------------------- //---------------------------------------------- // prevede hodnotu vlhkosti, ktera se uklada do EEPROM na normalni vlhkost float citelna_vlhkost(unsigned int necitelna_vlhkost) { return (necitelna_vlhkost / 100.0); } //---------------------------------------------- //---------------------------------------------- // prevede hodnotu tlaku, ktery se uklada do EEPROM a normalni (absolutni) tlak unsigned long citelny_tlak(unsigned int necitelny_tlak) { return (necitelny_tlak + posun_tlaku); } //----------------------------------------------