V ponudbah številnih trgovcev z elektroniko za domačo rabo zasledimo take ali drugačne vremenske postaje. Modularna vremenska postaja je naprednejša in cenejša od komercialnih izdelkov, saj omogoča ne le merjenje in beleženje podatkov o temperaturi, vlagi in zračnem tlaku ter brezžičen sprejem podatkov iz zunanjih modulov, temveč je dostopna tudi preko vodila USB, od tam pa preko PC, tudi iz interneta.

Tokrat bomo podrobno predstavili delovanje algoritmov bazne enote in odzivnika ter poenostavljeno uporabo vremenske postaje iz PC. Vso v članku omenjeno programsko opremo in primere uporabe lahko prenesete s spletne strani https://sites.google.com/site/pcusbprojects/6-downloads Zadnje informacije razvoju vremenske postaje najdete na spletni strani: https://sites.google.com/site/pcusbprojects/5-custom-projects/bg-weather-station
Samostojno delovanje vremenske postaje
V preteklem nadaljevanju smo videli, da je potrebno digitalizirane vrednosti, ki jih neposredno zajamemo iz A/D pretvornikov elektronskih tipal za merjenje relativne vlažnosti zrake, zračnega pritiska in temperature, še ustrezno preračunati. Čeprav je morda v kakem PCjevskem programu za Microsoftove Windows to nadvse enostavno, se je potrebno precej potruditi, da matematične algoritme prenesemo v 8-bitni mikrokontroler.

Za samostojno delovanje vremenske postaje moramo v mikrokontroler namestiti vgrajeno programsko opremo PIC18F26J50 firmware v2.7.1. Datoteka FWI za pripravo ustrezne podrazličice datoteke HEX in program PC USB Projects HEX Editor v3.0.NET2.exe sta priložena. Če želimo tudi komunikacijo preko USB, potrebujemo še programsko knjižnico LIB_PCUSBProjects v5.6.NET4(x64).dll ali novejšo. Primera uporabe knjižnice najdemo v datotekah: PIC18F2xJ50 Digital Clock with LCD example v3 x64.zip, Weather Station v2.6 x64.zip, Weather Station v2.7.zip, Weather Station v2.7 x64.zip. Prvi (v2.6) omogoča prikaz digitalne ure namesto prikaza relativne vlage, drugi (v2.7, ki je v 32-bitni in 64-bitni različici) pa zajema podatke iz vremenske postaje neposredno v PC.
Weather Station v2.6, zajema vrednosti neposredno iz registrov tipal in jih sam preračunava. Naprednejši, Weather Station v2.7 (x64) namesto tega izkorišča možnost, da iz mikrokontrolerja pridobi že zajete grobe podatke s tipal, ali pa kar preračunane podatke. S tem je delovanje tudi bolj zanesljivo. Program 0 dokazuje, da ima programer v Visual Basicu.NET4 (VB.NET) zares malo dela, da pride do izmerjenih vrednosti, ki jih vremenska postaja obenem prikazuje tudi na svojem LCD.
PIC.WeatherStationGetData()
temp = PIC.ReadBufferSingle(0)
ap = PIC.ReadBufferSingle(4)
temp_hs = PIC.ReadBufferSingle(8)
hum = PIC.ReadBufferSingle(12)
Branje preračunanih vrednosti temperatur tipala za zračni pritisk (temp) in vlago (temp_s), zračnega pritiska (ap) in relativne vlage (hum) je res enostavno. Poklicati moramo le funkcijo WeatherStationGetData, nato pa iz izravnalnika preberemo vse štiri vrednosti v zapisu single (4-bajtna vrednost v zapisu s plavajočo vejico po standardu IEEE). PC lahko brez pretvorbe prebere vrednost v plavajoči vejici iz PIC18.
Modularna vremenska postaja (4)
2014_SE223_25

