Агуулгын хүснэгт:

HTS221 ба Raspberry Pi ашиглан чийгшил ба температурын хэмжилт: 4 алхам
HTS221 ба Raspberry Pi ашиглан чийгшил ба температурын хэмжилт: 4 алхам

Видео: HTS221 ба Raspberry Pi ашиглан чийгшил ба температурын хэмжилт: 4 алхам

Видео: HTS221 ба Raspberry Pi ашиглан чийгшил ба температурын хэмжилт: 4 алхам
Видео: Программирование модуля датчика температуры и влажности ESP8266 ESP01 DHT11 | удаленныйXY | ФЛПрог 2024, Долдугаар сарын
Anonim
Image
Image

HTS221 бол харьцангуй чийгшил, температурын хэт авсаархан багтаамжтай дижитал мэдрэгч юм. Энэ нь дижитал цуваа интерфэйсээр хэмжилтийн мэдээллийг өгөх мэдрэгч элемент ба холимог дохионы хэрэглээний тусгай нэгдсэн хэлхээг (ASIC) агуулдаг. Олон тооны онцлог шинж чанар бүхий энэ нь чийгшил, температурыг хэмжих хамгийн тохиромжтой мэдрэгч юм.

Энэхүү гарын авлагад бөөрөлзгөнө pi -тай HTS221 мэдрэгчийн модулийн интерфэйсийг харуулсан бөгөөд питон хэл ашиглан програмчлалыг мөн харуулав. Чийглэг ба температурын утгыг уншихын тулд бид I2C адаптертай бөөрөлзгөнө pi ашигласан бөгөөд энэхүү I2C адаптер нь мэдрэгчийн модульд холбогдоход хялбар, илүү найдвартай болгодог.

Алхам 1: Шаардлагатай тоног төхөөрөмж:

Шаардлагатай техник хангамж
Шаардлагатай техник хангамж
Шаардлагатай техник хангамж
Шаардлагатай техник хангамж
Шаардлагатай техник хангамж
Шаардлагатай техник хангамж

Зорилгодоо хүрэхийн тулд бидэнд шаардлагатай материалууд нь дараахь тоног төхөөрөмжийн бүрэлдэхүүн хэсгүүдийг агуулдаг.

1. HTS221

2. Raspberry Pi

3. I2C кабель

4. Бөөрөлзгөнө pi -д зориулсан I2C бамбай

5. Ethernet кабель

Алхам 2: Тоног төхөөрөмжийн холболт:

Тоног төхөөрөмжийн холболт
Тоног төхөөрөмжийн холболт
Тоног төхөөрөмжийн холболт
Тоног төхөөрөмжийн холболт

Тоног төхөөрөмжийн холболтын хэсэг нь үндсэндээ мэдрэгч ба бөөрөлзгөнө pi хооронд шаардлагатай утас холболтыг тайлбарладаг. Аливаа систем дээр ажиллахад шаардлагатай гаралтын хувьд зөв холболтыг хангах нь хамгийн чухал зүйл юм. Тиймээс шаардлагатай холболтууд дараах байдалтай байна.

HTS221 нь I2C дээр ажиллах болно. Мэдрэгчийн интерфэйс бүрийг хэрхэн яаж холбохыг харуулсан утасны диаграмын жишээ энд байна.

Хайрцагнаас гадуурх самбар нь I2C интерфэйс дээр тохируулагдсан байдаг тул хэрэв та өөр ойлголтгүй бол энэ холболтыг ашиглахыг зөвлөж байна.

Танд ердөө дөрвөн утас л хангалттай! Vcc, Gnd, SCL, SDA зүүг зөвхөн дөрвөн холболт шаарддаг бөгөөд эдгээр нь I2C кабелийн тусламжтайгаар холбогддог.

Эдгээр холболтыг дээрх зурган дээр харуулав.

Алхам 3: Чийглэг ба температур хэмжих код:

Чийглэг ба температур хэмжих код
Чийглэг ба температур хэмжих код

Бөөрөлзгөнө pi ашиглах давуу тал нь мэдрэгчийг интерфэйстэй холбохын тулд самбарыг програмчлах хэлний уян хатан байдлыг өгдөг. Энэхүү самбарын давуу талыг ашиглан бид питон дахь програмчлалыг энд харуулав. HTS221 -ийн питон кодыг манай github бүлгээс татаж авах боломжтой, Бүх зүйлийг хянах нийгэмлэг.

Хэрэглэгчдэд хялбар байхын тулд бид кодыг энд тайлбарлаж байна.

Кодлох эхний алхам бол python тохиолдолд smbus номын санг татаж авах хэрэгтэй, учир нь энэ номын сан нь кодонд ашиглагддаг функцийг дэмждэг. Тиймээс номын санг татаж авахын тулд та дараах линкээр орж үзэх боломжтой.

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

Та энэ мэдрэгчийн ажлын питон кодыг эндээс хуулж болно.

smbus импортлох

импортлох хугацаа

# I2C автобус авах

автобус = smbus. SMBus (1)

# HTS221 хаяг, 0x5F (95)

# Дундаж тохиргооны бүртгэлийг сонгоно уу, 0x10 (16)

# 0x1B (27) Температурын дундаж дээж = 256, Чийглэгийн дундаж дээж = 512

bus.write_byte_data (0x5F, 0x10, 0x1B)

# HTS221 хаяг, 0x5F (95)

# Хяналтын бүртгэлийг сонгох1, 0x20 (32)

# 0x85 (133) асаах, тасралтгүй шинэчлэх, өгөгдөл дамжуулах хурд = 1 Гц

bus.write_byte_data (0x5F, 0x20, 0x85)

цаг унтах (0.5)

# HTS221 хаяг, 0x5F (95)

# Төхөөрөмжийн санах ойгоос тохируулгын утгыг уншина уу

# Чийгийн шалгалт тохируулгын утга

# Өгөгдлийг 0x30 (48), 1 байтаас буцааж уншина уу

val = bus.read_byte_data (0x5F, 0x30)

H0 = үнэ цэнэ / 2

# Өгөгдлийг 0x31 (49), 1 байтаас буцааж уншина уу

val = bus.read_byte_data (0x5F, 0x31)

H1 = үнэ цэнэ /2

# Өгөгдлийг 0x36 (54), 2 байтаас буцааж уншина уу

val0 = bus.read_byte_data (0x5F, 0x36)

val1 = bus.read_byte_data (0x5F, 0x37)

H2 = ((val1 & 0xFF) * 256) + (val0 & 0xFF)

# Өгөгдлийг 0x3A (58), 2 байтаас буцааж уншина уу

val0 = bus.read_byte_data (0x5F, 0x3A)

val1 = bus.read_byte_data (0x5F, 0x3B)

H3 = ((val1 & 0xFF) * 256) + (val0 & 0xFF)

# Температурын тохируулгын утга

# Өгөгдлийг 0x32 (50), 1 байтаас буцааж уншина уу

T0 = bus.read_byte_data (0x5F, 0x32)

T0 = (T0 & 0xFF)

# Өгөгдлийг 0x32 (51), 1 байтаас буцааж уншина уу

T1 = bus.read_byte_data (0x5F, 0x33)

T1 = (T1 & 0xFF)

# Өгөгдлийг 0x35 (53), 1 байтаас буцааж уншина уу

raw = bus.read_byte_data (0x5F, 0x35)

түүхий = (түүхий & 0x0F)

# Температурын тохируулгын утгыг 10 бит болгон хөрвүүлнэ

T0 = ((түүхий & 0x03) * 256) + T0

T1 = ((түүхий & 0x0C) * 64) + T1

# Өгөгдлийг 0x3C (60), 2 байтаас буцааж уншина уу

val0 = bus.read_byte_data (0x5F, 0x3C)

val1 = bus.read_byte_data (0x5F, 0x3D)

T2 = ((val1 & 0xFF) * 256) + (val0 & 0xFF)

# Өгөгдлийг 0x3E (62), 2 байтаас буцааж уншина уу

val0 = bus.read_byte_data (0x5F, 0x3E)

val1 = bus.read_byte_data (0x5F, 0x3F)

T3 = ((val1 & 0xFF) * 256) + (val0 & 0xFF)

# Өгөгдлийг 0x28 (40) -ээс 0x80 (128) командын регистр, 4 байтаар буцааж уншина уу

# чийгшил msb, чийгшил lsb, temp msb, temp lsb

өгөгдөл = bus.read_i2c_block_data (0x5F, 0x28 | 0x80, 4)

# Өгөгдлийг хөрвүүлэх

чийгшил = (өгөгдөл [1] * 256) + өгөгдөл [0]

чийгшил = ((1.0 * H1) - (1.0 * H0)) * (1.0 * чийгшил - 1.0 * Н2) / (1.0 * Н3 - 1.0 * Н2) + (1.0 * Н0)

temp = (өгөгдөл [3] * 256) + өгөгдөл [2]

хэрэв температур> 32767 бол:

температур -= 65536

cTemp = ((T1 - T0) / 8.0) * (температур - T2) / (T3 - T2) + (T0 / 8.0)

fTemp = (cTemp * 1.8) + 32

# Дэлгэц рүү өгөгдөл гаргана

хэвлэх "Харьцангуй чийгшил: %.2f %%" %чийгшил

"Цельсийн температур: %.2f C" %cTemp хэвлэх

хэвлэх "Фаренгейт дэх температур: %.2f F" %fTemp

Доор дурдсан кодын хэсэг нь питон кодыг зөв гүйцэтгэхэд шаардлагатай номын сангуудыг агуулдаг.

smbus импортлох

импортлох хугацаа

Кодыг тушаалын мөрөнд доор дурдсан командыг бичиж гүйцэтгэж болно.

$> python HTS221.py

Мэдрэгчийн гаралтыг мөн хэрэглэгчийн лавлагаанд зориулан дээрх зурагт үзүүлэв.

Алхам 4: Өргөдөл:

Хэрэглээ
Хэрэглээ

HTS221 -ийг агаарын чийгшүүлэгч, хөргөгч гэх мэт өргөн хэрэглээний бүтээгдэхүүнүүдэд ашиглаж болно. Энэхүү мэдрэгч нь ухаалаг гэрийн автоматжуулалт, үйлдвэрлэлийн автоматжуулалт, амьсгалын төхөөрөмж, эд хөрөнгө, бараа бүтээгдэхүүний хяналт зэрэг өргөн хүрээнд хэрэглэгддэг.

Зөвлөмж болгож буй: