Operácie

Zbernica i2c: SHT11

Zo stránky SensorWiki

Zbernica I2C - Snímač teploty a vlhkosti SHT11

  • Vypracoval: Bc. Tomáš Statečný
  • Študijný odbor: Aplikovaná mechatronika
  • Ročník: 2.Ing

Zadanie

Prečítajte zo snímača vlhkosti pripojeného na zbernicu i2c aktuálnu teplotu a vlhkosť a zobrazte na LCD.

Modul snímača teploty a vlhkosti

Modul Sensirion SHT11(#28018) je osadený snímačom teploty a vlhkosti Parallax SHT11. Prostredníctvom I2C zbernice čip reaguje za krátky čas s vysokou presnosťou. Modul zahrňuje data-line pull-up čo ho umožňuje pripojiť priamo k programovaciemu prostrediu.

Obr. 1. Modul Sensirion SHT11(#28018)

Základné špecifikácie

  • Rozsah merania teploty: -40 °F (-40 °C) to +254.9 °F (+123.8 °C)
  • Presnosť merania teploty: +/- 0.5 °C @ 25 °C
  • Rozsah merania vlhkosti: 0 to 100% RH
  • Presnosť absolútnej vlhkosti: +/- 3.5% RH
  • Nízka spotreba (zvyčajne 30 μW)
  • Pri vysokej vlhkosti je možné zapnúť ohrievač

Zapojenie modulu

Obr. 2. Zapojenie modulu Sensirion SHT11(#28018)

Poznámka: Piny 2,5,6 a 7 sa nepoužívajú.

Vypracovanie

Na modul je pripojený snímač teploty a vlhkosti Sensirion SHT11. Na komunikáciu a programovanie zariadenia využívam piny SDA a SCL zbernice I2C. Spočiatku zariadenie bolo programované využívajúc protokol I2C, ale vzhľadom na to, že zariadenie porušuje predpisy I2C, musel som ho naprogramovať iným spôsobom. Hlavným problém bol v obdržaní ACK bitu, ktorý vzhľadom k SCL bol obdržaný v nepravidelných intervaloch. Program fungoval po skompilovaní a nahratí do zariadenia, zobrazilo na display aktuálnu teplotu a vlhkosť. Po opätovnom nahratí programu do zariadenia alebo kým prešiel jeden cyklus, ACK bit nebol obdržaný.

Preto je adekvátnejšie nahrávať bity SDA a SCL jednotlivo, aby dátové bity prislúchali danému časovému signálu. Priradil som vstupné a výstupné porty pre potrebné piny I2C zbernice. Vzhľadom na to, že hodinový signál menil amplitúdu v krátkom čase a nebol rozpoznateľný na osciloskope, bolo potrebné pri každej zmene amplitúdy hodinového signálu doplniť oneskorenie. Jednotlivé bity boli zadávané podľa obr. 4.

Obr. 3. Reset a Start prenosu

Obr. 4. Príklad priebehu merania vlhkosti

Zdrojový kód

K projektu je potrebné pripojiť nasledovné súbory:

Zdrojový kód merania teploty v vlhkosti: <source lang="c">