Toto je starší verze dokumentu!
Zadáním tohoto projektu předmětu MPOA je naprogramovat meteostanici se výše uvedenými senzory. Původně měly být veličiny zobrazovány na LCD displeji, avšak z důvodu že použitý displej byl pouze pro 5V logiku a deska KL25Z pracuje na 3V3 logice (a během programování nebyl k dispozici převodník logické úrovně), jsou nakonec hodnoty posílány přes seriovou linku do PC, kde jsou v terminálu zobrazeny.
Jako senzor teploty a vlhkosti byl vybrán senzor SHT-75 od firmy Sensirion http://www.mouser.com/ds/2/682/Sensirion_Humidity_SHT7x_Datasheet_V5-469726.pdf. V porovnání s ostatními digitálními čidly na trhu, dosahuje nejlepší přesnosti měření při vysoké relativní vlhkosti a má dostatečný rozsah měřených hodnot. Velkou výhodou oproti ostatním snímačům teploty je, že měří nejen teplotu, ale i relativní vlhkost.
void sht75_meas(void) { float temperature; // temperature -40 to 120 deg C float humidity; // relative humidity 1% to 100% float humi_f,rh_lin,rh_true; // working registers for Illustration purposes int t; // temporary store for the temp ticks int h; // temp store for the humidity ticks sht.readTempTicks(&t); temperature = ((float)(t) * 0.01) - 39.61; sht.readHumidityTicks(&h); humi_f = (float)(h); rh_lin = C3 * humi_f * humi_f + C2 * humi_f + C1; rh_true=(((temperature/100)-25)*(T1+T2*humi_f)+rh_lin); if(rh_true>100)rh_true=100; //cut if the value is outside if(rh_true<1)rh_true=1; //the physical possible range humidity = rh_true; pc.printf("Teplota: %2.2f C Rel. vlhkost: %2.2f %%\n\r",temperature, humidity); wait(2.0); }