Სარჩევი:

ტენიანობის და ტემპერატურის გაზომვა HTS221 და ჟოლოს Pi გამოყენებით: 4 ნაბიჯი
ტენიანობის და ტემპერატურის გაზომვა HTS221 და ჟოლოს Pi გამოყენებით: 4 ნაბიჯი

ვიდეო: ტენიანობის და ტემპერატურის გაზომვა HTS221 და ჟოლოს Pi გამოყენებით: 4 ნაბიჯი

ვიდეო: ტენიანობის და ტემპერატურის გაზომვა HTS221 და ჟოლოს Pi გამოყენებით: 4 ნაბიჯი
ვიდეო: 💥 isurve.ge 👉 ტემპერატურისა და ტენიანობის ციფრული თერმომეტრი HTC 1 2024, ნოემბერი
Anonim
Image
Image

HTS221 არის ულტრა კომპაქტური capacitive ციფრული სენსორი ფარდობითი ტენიანობისა და ტემპერატურისათვის. იგი მოიცავს სენსორულ ელემენტს და შერეული სიგნალის გამოყენების სპეციფიკურ ინტეგრირებულ წრეს (ASIC), რომელიც უზრუნველყოფს გაზომვის ინფორმაციას ციფრული სერიული ინტერფეისების საშუალებით. ამდენი მახასიათებლით ინტეგრირებული ეს არის ერთ -ერთი ყველაზე შესაფერისი სენსორი კრიტიკული ტენიანობისა და ტემპერატურის გაზომვისთვის.

ამ სახელმძღვანელოში ნაჩვენებია HTS221 სენსორული მოდულის ინტერფეისის ჟოლოს pi და მისი პროგრამირება პითონის ენის გამოყენებითაც. ტენიანობის და ტემპერატურის მნიშვნელობების წასაკითხად, ჩვენ გამოვიყენეთ ჟოლოს პი I2C ადაპტერით. ეს I2C ადაპტერი სენსორულ მოდულთან კავშირს ხდის ადვილი და საიმედო.

ნაბიჯი 1: საჭირო აპარატურა:

საჭირო აპარატურა
საჭირო აპარატურა
საჭირო აპარატურა
საჭირო აპარატურა
საჭირო აპარატურა
საჭირო აპარატურა

მასალები, რომლებიც ჩვენ გვჭირდება ჩვენი მიზნის მისაღწევად, მოიცავს შემდეგ ტექნიკურ კომპონენტებს:

1. HTS221

2. ჟოლო პი

3. I2C კაბელი

4. I2C ფარი ჟოლოს პი

5. Ethernet კაბელი

ნაბიჯი 2: აპარატურის დაკავშირება:

აპარატურის დაკავშირება
აპარატურის დაკავშირება
აპარატურის დაკავშირება
აპარატურის დაკავშირება

აპარატურის დაკავშირების განყოფილება ძირითადად განმარტავს გაყვანილობის კავშირებს სენსორსა და ჟოლოს პი შორის. სწორი კავშირების უზრუნველყოფა არის ძირითადი აუცილებლობა ნებისმიერ სისტემაზე მუშაობისას სასურველი გამომუშავებისთვის. ამრიგად, საჭირო კავშირები შემდეგია:

HTS221 იმუშავებს I2C– ზე. აქ არის გაყვანილობის დიაგრამა, რომელიც აჩვენებს, თუ როგორ უნდა დააკავშიროთ სენსორის თითოეული ინტერფეისი.

ყუთის გარეშე, დაფა კონფიგურირებულია I2C ინტერფეისისთვის, ამიტომ ჩვენ გირჩევთ გამოიყენოთ ეს კავშირი, თუ სხვაგვარად ხართ აგნოსტიკოსი.

ყველაფერი რაც თქვენ გჭირდებათ არის ოთხი მავთული! მხოლოდ ოთხი კავშირია საჭირო Vcc, Gnd, SCL და SDA ქინძისთავები და ეს დაკავშირებულია I2C კაბელის დახმარებით.

ეს კავშირები ნაჩვენებია ზემოთ მოცემულ სურათებში.

ნაბიჯი 3: ტენიანობის და ტემპერატურის გაზომვის კოდი:

ტენიანობისა და ტემპერატურის გაზომვის კოდი
ტენიანობისა და ტემპერატურის გაზომვის კოდი

ჟოლოს pi გამოყენების უპირატესობა ის არის, რომ თქვენ გაძლევთ პროგრამირების ენის მოქნილობას, რომლითაც გსურთ დაფის დაპროგრამება სენსორის მასთან ინტერფეისის მიზნით. ამ დაფის ამ უპირატესობის გამოყენებით, ჩვენ ვაჩვენებთ მის პროგრამირებას პითონში. HTH221– ის პითონის კოდი შეგიძლიათ გადმოწეროთ ჩვენი github საზოგადოებიდან, რომელიც არის Control Everything Community.

ისევე როგორც მომხმარებლების სიმარტივისთვის, ჩვენ აქ განვმარტავთ კოდს:

როგორც კოდირების პირველი ნაბიჯი თქვენ უნდა გადმოწეროთ 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 = val / 2

# წაიკითხეთ მონაცემები უკან 0x31 (49), 1 ბაიტი

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

H1 = val /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 ბაიტი

ნედლეული = 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, ტემპერატურა msb, ტემპერატურა lsb

მონაცემები = bus.read_i2c_block_data (0x5F, 0x28 | 0x80, 4)

# გადააკეთეთ მონაცემები

ტენიანობა = (მონაცემები [1] * 256) + მონაცემები [0]

ტენიანობა = ((1.0 * H1) - (1.0 * H0)) * (1.0 * ტენიანობა - 1.0 * H2) / (1.0 * H3 - 1.0 * H2) + (1.0 * H0)

temp = (მონაცემები [3] * 256) + მონაცემები [2]

თუ ტემპერატურა> 32767:

ტემპერატურა -= 65536

cTemp = ((T1 - T0) / 8.0) * (temp - T2) / (T3 - T2) + (T0 / 8.0)

fTemp = (cTemp * 1.8) + 32

# მონაცემების გამოტანა ეკრანზე

ბეჭდვა "ფარდობითი ტენიანობა: %.2f %%" %ტენიანობა

დაბეჭდე "ტემპერატურა ცელსიუსში: %.2f C" %cTemp

დაბეჭდე "ტემპერატურა ფარენჰეიტში: %.2f F" %fTemp

ქვემოთ მოყვანილი კოდის ნაწილი მოიცავს ბიბლიოთეკებს, რომლებიც საჭიროა პითონის კოდების სწორად შესრულებისთვის.

smbus- ის იმპორტი

იმპორტის დრო

კოდი შეიძლება შესრულდეს ბრძანების სტრიქონში ქვემოთ მითითებული ბრძანების აკრეფით.

$> პითონი HTS221.py

სენსორის გამომავალი ასევე ნაჩვენებია ზემოთ მოცემულ სურათზე მომხმარებლის მითითებისთვის.

ნაბიჯი 4: პროგრამები:

პროგრამები
პროგრამები

HTS221 შეიძლება გამოყენებულ იქნას სხვადასხვა სამომხმარებლო პროდუქტში, როგორიცაა ჰაერის დამატენიანებლები და მაცივრები და ა.შ.

გირჩევთ: