Turinys:

Temperatūros ir drėgmės matavimas naudojant HDC1000 ir Raspberry Pi: 4 žingsniai
Temperatūros ir drėgmės matavimas naudojant HDC1000 ir Raspberry Pi: 4 žingsniai
Anonim
Image
Image

„HDC1000“yra skaitmeninis drėgmės jutiklis su integruotu temperatūros jutikliu, kuris užtikrina puikų matavimo tikslumą esant labai mažai galiai. Prietaisas matuoja drėgmę remdamasis nauju talpiniu jutikliu. Drėgmės ir temperatūros jutikliai yra sukalibruoti gamykloje. Jis veikia nuo -40 ° C iki +125 ° C temperatūros diapazone.

Šioje pamokoje parodyta HDC1000 jutiklio modulio sąsaja su aviečių pi ir taip pat iliustruotas jo programavimas naudojant python kalbą. Norėdami nuskaityti temperatūros ir drėgmės vertes, mes naudojome aviečių pi su I2C adapteriu. Šis I2C adapteris leidžia lengvai ir patikimiau prijungti prie jutiklio modulio.

1 veiksmas: reikalinga aparatūra:

Reikalinga aparatūra
Reikalinga aparatūra
Reikalinga aparatūra
Reikalinga aparatūra
Reikalinga aparatūra
Reikalinga aparatūra

Medžiagos, reikalingos mūsų tikslui pasiekti, apima šiuos aparatūros komponentus:

1. HDC1000

2. Raspberry Pi

3. I2C kabelis

4. I2C skydas avietėms pi

5. Ethernet kabelis

2 veiksmas: prijungimas prie aparatūros:

Aparatūros prijungimas
Aparatūros prijungimas
Aparatūros prijungimas
Aparatūros prijungimas

Techninės įrangos prijungimo skyriuje iš esmės paaiškinamos reikalingos laidų jungtys tarp jutiklio ir aviečių pi. Užtikrinti teisingas jungtis yra pagrindinė būtinybė dirbant su bet kuria norimos išvesties sistema. Taigi, būtinos jungtys yra šios:

HDC1000 veiks per I2C. Čia yra elektros instaliacijos schemos pavyzdys, parodantis, kaip prijungti kiekvieną jutiklio sąsają.

Iš karto plokštė sukonfigūruota I2C sąsajai, todėl rekomenduojame naudoti šį prijungimą, jei esate kitaip agnostikas.

Viskas, ko jums reikia, yra keturi laidai! Reikia tik keturių jungčių „Vcc“, „Gnd“, „SCL“ir „SDA“kaiščių, kurie yra prijungti naudojant I2C kabelį.

Šie ryšiai parodyti aukščiau esančiose nuotraukose.

3 žingsnis: Temperatūros ir drėgmės matavimo kodas:

Temperatūros ir drėgmės matavimo kodas
Temperatūros ir drėgmės matavimo kodas

„Raspberry pi“naudojimo pranašumas yra tas, kad programavimo kalba, kuria norite programuoti plokštę, yra lanksti, kad būtų galima su ja susieti jutiklį. Pasinaudodami šiuo šios plokštės pranašumu, mes parodome, kad tai programavimas python'e. HDC1000 python kodą galima atsisiųsti iš mūsų „GitHub“bendruomenės, kuri yra „Dcube Store“.

Be vartotojų patogumo, mes taip pat paaiškiname kodą čia:

Pirmasis kodavimo žingsnis yra „Python“atveju atsisiųsti „SMBus“biblioteką, nes ši biblioteka palaiko kode naudojamas funkcijas. Taigi, norėdami atsisiųsti biblioteką, galite apsilankyti šioje nuorodoje:

pypi.python.org/pypi/smbus-cffi/0.5.1

Taip pat galite nukopijuoti šio jutiklio veikiančio python kodą:

importuoti smbus

importo laikas

# Gaukite I2C autobusą

autobusas = smbus. SMBus (1)

# HDC1000 adresas, 0x40 (64)

# Pasirinkite konfigūracijos registrą, 0x02 (02)

# 0x30 (48) Temperatūra, įjungta drėgmė, rezoliucija = 14 bitų, šildytuvas įjungtas

bus.write_byte_data (0x40, 0x02, 0x30)

# HDC1000 adresas, 0x40 (64)

# Siųsti temperatūros matavimo komandą, 0x00 (00)

bus.write_byte (0x40, 0x00)

laikas. miegas (0,5)

# HDC1000 adresas, 0x40 (64)

# Perskaitykite duomenis atgal, 2 baitai

# temp MSB, temp LSB

duomenys0 = magistralė. skaitymo baitas (0x40)

data1 = magistralė. skaitymo baitas (0x40)

# Konvertuokite duomenis

temp = (duomenys0 * 256) + duomenys1

cTemp = (temp / 65536.0) * 165.0 - 40

fTemp = cTemp * 1,8 + 32

# HDC1000 adresas, 0x40 (64)

# Siųsti drėgmės matavimo komandą, 0x01 (01)

bus.write_byte (0x40, 0x01)

laikas. miegas (0,5)

# HDC1000 adresas, 0x40 (64)

# Perskaitykite duomenis atgal, 2 baitai

# drėgmė MSB, drėgmė LSB

duomenys0 = magistralė. skaitymo baitas (0x40)

data1 = magistralė. skaitymo baitas (0x40)

# Konvertuokite duomenis

drėgmė = (duomenys0 * 256) + duomenys1

drėgmė = (drėgmė / 65536,0) * 100,0

# Išveskite duomenis į ekraną

spausdinti „Santykinė drėgmė: %.2f %%“%drėgmė

spausdinti "Temperatūra Celsijaus: %.2f C" %cTemp

spausdinti "Temperatūra Farenheitu: %.2f F" %fTemp

Toliau nurodyta kodo dalis apima bibliotekas, reikalingas teisingam python kodų vykdymui.

importuoti smbus

importo laikas

Kodą galima vykdyti komandų eilutėje įvedus žemiau nurodytą komandą.

$> python HDC1000.py gt; python HDC1000.py

Jutiklio išvestis taip pat parodyta aukščiau esančiame paveikslėlyje vartotojo naudai.

4 žingsnis: programos:

Programos
Programos

HDC1000 gali būti naudojamas šildymui, vėdinimui ir oro kondicionavimui (ŠVOK), išmaniesiems termostatams ir kambario monitoriams. Šis jutiklis taip pat naudojamas spausdintuvuose, rankiniuose matuokliuose, medicinos prietaisuose, krovinių gabenime ir automobilių priekinio stiklo rūke.

Rekomenduojamas: