ዝርዝር ሁኔታ:

HTS221 ን እና Raspberry Pi ን በመጠቀም የእርጥበት እና የሙቀት መጠን መለካት 4 ደረጃዎች
HTS221 ን እና Raspberry Pi ን በመጠቀም የእርጥበት እና የሙቀት መጠን መለካት 4 ደረጃዎች

ቪዲዮ: HTS221 ን እና Raspberry Pi ን በመጠቀም የእርጥበት እና የሙቀት መጠን መለካት 4 ደረጃዎች

ቪዲዮ: HTS221 ን እና Raspberry Pi ን በመጠቀም የእርጥበት እና የሙቀት መጠን መለካት 4 ደረጃዎች
ቪዲዮ: Программирование МК STM32. УРОК 55. Подключаем датчик влажности HTS221. Часть 1 2024, ሀምሌ
Anonim
Image
Image

HTS221 አንፃራዊ እርጥበት እና የሙቀት መጠን እጅግ በጣም የታመቀ አቅም ያለው ዲጂታል ዳሳሽ ነው። የመለኪያ መረጃን በዲጂታል ተከታታይ በይነገጾች በኩል ለማቅረብ የስሜት ሕዋስ እና የተቀላቀለ የምልክት ትግበራ የተወሰነ የተቀናጀ ወረዳ (ASIC) ያካትታል። ከብዙ ባህሪዎች ጋር የተዋሃደ ይህ ለአስፈላጊ እርጥበት እና የሙቀት መለኪያዎች በጣም ተገቢ ከሆኑ ዳሳሾች አንዱ ነው።

በዚህ መማሪያ ውስጥ የ HTS221 ዳሳሽ ሞዱል ከሮቤሪ ፓይ ጋር መገናኘቱ ታይቷል እና የፓይዘን ቋንቋን በመጠቀም ፕሮግራሙ እንዲሁ ተብራርቷል። የእርጥበት እና የሙቀት እሴቶችን ለማንበብ ፣ ከ I2C አስማሚ ጋር እንጆሪ ፓይ ተጠቅመናል። ይህ I2C አስማሚ ከአነፍናፊ ሞዱል ጋር ያለውን ግንኙነት ቀላል እና የበለጠ አስተማማኝ ያደርገዋል።

ደረጃ 1 ሃርድዌር ያስፈልጋል

ሃርድዌር ያስፈልጋል
ሃርድዌር ያስፈልጋል
ሃርድዌር ያስፈልጋል
ሃርድዌር ያስፈልጋል
ሃርድዌር ያስፈልጋል
ሃርድዌር ያስፈልጋል

ግባችንን ለማሳካት የሚያስፈልጉን ቁሳቁሶች የሚከተሉትን የሃርድዌር ክፍሎች ያካትታሉ።

1. HTS221

2. Raspberry Pi

3. I2C ኬብል

4. I2C Shield ለ raspberry pi

5. የኤተርኔት ገመድ

ደረጃ 2 የሃርድዌር ማያያዣ;

የሃርድዌር ግንኙነት
የሃርድዌር ግንኙነት
የሃርድዌር ግንኙነት
የሃርድዌር ግንኙነት

የሃርድዌር መንጠቆው ክፍል በመሠረቱ በአነፍናፊው እና በራትቤሪ ፓይ መካከል የሚፈለጉትን የሽቦ ግንኙነቶች ያብራራል። ለተፈለገው ውጤት በማንኛውም ስርዓት ላይ ሲሰሩ ትክክለኛ ግንኙነቶችን ማረጋገጥ መሠረታዊ አስፈላጊነት ነው። ስለዚህ አስፈላጊዎቹ ግንኙነቶች እንደሚከተለው ናቸው

HTS221 ከ I2C በላይ ይሠራል። እያንዳንዱን የአነፍናፊ በይነገጽ እንዴት ሽቦ ማገናኘት እንደሚቻል የሚያሳይ የምስል ሽቦ ንድፍ ምሳሌ እዚህ አለ።

ከሳጥን ውጭ ፣ ቦርዱ ለ I2C በይነገጽ የተዋቀረ ነው ፣ ስለሆነም እርስዎ ሌላ የማይታወቁ ከሆኑ ይህንን መንጠቆ እንዲጠቀሙ እንመክራለን።

የሚያስፈልግዎት አራት ሽቦዎች ብቻ ናቸው! Vcc ፣ Gnd ፣ SCL እና SDA ፒኖች የሚያስፈልጉት አራት ግንኙነቶች ብቻ ናቸው እና እነዚህ በ I2C ገመድ እገዛ ተገናኝተዋል።

እነዚህ ግንኙነቶች ከላይ ባሉት ሥዕሎች ውስጥ ይታያሉ።

ደረጃ 3 የእርጥበት እና የሙቀት መጠን መለኪያ ኮድ

የእርጥበት እና የሙቀት መጠን መለኪያ ኮድ
የእርጥበት እና የሙቀት መጠን መለኪያ ኮድ

የራስበሪ ፒን የመጠቀም ጥቅሙ አነፍናፊውን ከእሱ ጋር ለማስተሳሰር ሰሌዳውን በፕሮግራም ቋንቋ የመተጣጠፍ ችሎታን ይሰጥዎታል። ይህንን የቦርድ ጥቅም በመጠቀም ፣ በፒያቶን ውስጥ ፕሮግራሙን እዚህ እያሳየን ነው። ለኤች ቲ ኤስ 221 ያለው የፓይዘን ኮድ ከቁጥጥር ሁሉም ማህበረሰብ ከሆነው ከጊቱብ ማህበረሰባችን ማውረድ ይችላል።

እንዲሁም ለተጠቃሚዎች ምቾት ፣ እኛ ኮዱን እዚህም እያብራራን ነው-

እንደ ኮድ የመጀመሪያ ደረጃ እርስዎ በፓይዘን ውስጥ የ 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 Hz

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 ባይት መልሰው ያንብቡ

ጥሬ = አውቶቡስ።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

ውሂብ = አውቶቡስ.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]

temp> 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

የማስመጣት ጊዜ

በትእዛዝ መጠየቂያ ውስጥ ከዚህ በታች የተጠቀሰውን ትእዛዝ በመተየብ ኮዱ ሊከናወን ይችላል።

$> ፓይዘን HTS221.py

ለተጠቃሚው ማጣቀሻ የአነፍናፊው ውጤት እንዲሁ ከላይ ባለው ሥዕል ውስጥ ይታያል።

ደረጃ 4: ማመልከቻዎች

ማመልከቻዎች
ማመልከቻዎች

HTS221 እንደ አየር እርጥበት እና ማቀዝቀዣዎች ባሉ የተለያዩ የሸማቾች ምርቶች ውስጥ ሊሠራ ይችላል። ይህ አነፍናፊ ስማርት የቤት አውቶማቲክን ፣ የኢንዱስትሪ አውቶማቲክን ፣ የመተንፈሻ መሣሪያዎችን ፣ የንብረት እና የእቃዎችን መከታተያ ጨምሮ በሰፊው ሜዳ ውስጥ መተግበሪያውን ያገኛል።

የሚመከር: