ዝርዝር ሁኔታ:

Raspberry Pi - MPL3115A2 Precision Altimeter Sensor Python Tutorial: 4 ደረጃዎች
Raspberry Pi - MPL3115A2 Precision Altimeter Sensor Python Tutorial: 4 ደረጃዎች

ቪዲዮ: Raspberry Pi - MPL3115A2 Precision Altimeter Sensor Python Tutorial: 4 ደረጃዎች

ቪዲዮ: Raspberry Pi - MPL3115A2 Precision Altimeter Sensor Python Tutorial: 4 ደረጃዎች
ቪዲዮ: Raspberry Pi HP206C Barometer & Altimeter Sensor Python Tutorial 2024, ህዳር
Anonim
Image
Image

MPL3115A2 ትክክለኛ የግፊት/ከፍታ እና የሙቀት መጠን መረጃን ለማቅረብ በ I2C በይነገጽ የ MEMS ግፊት ዳሳሽ ይጠቀማል። የአነፍናፊው ውጤቶች በከፍተኛ ጥራት ባለ 24 ቢት ኤዲሲ በዲጂታል ይደረጋሉ። ውስጣዊ አሠራር ከአስተናጋጁ MCU ስርዓት የማካካሻ ተግባሮችን ያስወግዳል። በከፍታ 0.3 ሜትር ለውጥ ጋር የሚመጣጠን በ 0.05 ኪፒኤ ብቻ ለውጥን የመለየት ችሎታ አለው። የፓይዘን ኮድ በመጠቀም ከሮዝቤሪ ፓይ ጋር የእሱ ማሳያ እዚህ አለ።

ደረጃ 1: እርስዎ የሚፈልጉት..

ምንድን ነው የሚፈልጉት..!!
ምንድን ነው የሚፈልጉት..!!

1. Raspberry Pi

2. MPL3115A2

3. I²C ኬብል

4. I²C ጋሻ ለ Raspberry Pi

5. የኤተርኔት ገመድ

ደረጃ 2: ግንኙነቶች

ግንኙነቶች ፦
ግንኙነቶች ፦
ግንኙነቶች ፦
ግንኙነቶች ፦
ግንኙነቶች ፦
ግንኙነቶች ፦
ግንኙነቶች ፦
ግንኙነቶች ፦

ለራስቤሪ ፓይ የ I2C ጋሻ ይውሰዱ እና በቀስታ በ raspberry pips ፒፒዎች ላይ ይግፉት።

ከዚያ የ I2C ገመዱን አንድ ጫፍ ከ MPL3115A2 ዳሳሽ እና ሌላውን ከ I2C ጋሻ ጋር ያገናኙ።

እንዲሁም የኢተርኔት ገመዱን ከፓይ ጋር ያገናኙ ወይም የ WiFi ሞጁሉን መጠቀም ይችላሉ።

ግንኙነቶች ከላይ በስዕሉ ላይ ይታያሉ።

ደረጃ 3 ኮድ

ኮድ ፦
ኮድ ፦

የ MPL3115A2 የፓይዘን ኮድ ከ Github ማከማቻችን- DCUBE መደብር ማህበረሰብ ማውረድ ይችላል።

አገናኙ እዚህ አለ

እኛ ለፓይዘን ኮድ የ SMBus ቤተ -መጽሐፍትን ተጠቅመናል ፣ SMBus ን በ raspberry pi ላይ ለመጫን ደረጃዎች እዚህ ተገልፀዋል።

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

እንዲሁም ኮዱን ከዚህ መገልበጥ ይችላሉ ፣ እሱ እንደሚከተለው ተሰጥቷል

# በነፃ ፈቃድ ፈቃድ ተሰራጭቷል።

# በተጓዳኝ ሥራዎቹ ፈቃዶች ውስጥ የሚስማማ ከሆነ በፈለጉት ፣ በትርፍም ሆነ በነጻ ይጠቀሙበት።

# MPL3115A2

# ይህ ኮድ ከ MPL3115A2_I2CS I2C ሚኒ ሞዱል ጋር ለመስራት የተነደፈ ነው

ማስመጣት smbus

የማስመጣት ጊዜ

# I2C አውቶቡስ ያግኙ

አውቶቡስ = smbus. SMBus (1)

# MPL3115A2 አድራሻ ፣ 0x60 (96)

# የቁጥጥር መመዝገቢያ ይምረጡ ፣ 0x26 (38)

# 0xB9 (185) ንቁ ሁናቴ ፣ OSR = 128 ፣ Altimeter mode

bus.write_byte_data (0x60 ፣ 0x26 ፣ 0xB9)

# MPL3115A2 አድራሻ ፣ 0x60 (96)

# የውሂብ ውቅረት መመዝገቢያ ይምረጡ ፣ 0x13 (19)

# 0x07 (07) የውሂብ ዝግጁ ክስተት ከፍታ ፣ ግፊት ፣ የሙቀት መጠን ነቅቷል

bus.write_byte_data (0x60 ፣ 0x13 ፣ 0x07)

# MPL3115A2 አድራሻ ፣ 0x60 (96)

# የቁጥጥር መመዝገቢያ ይምረጡ ፣ 0x26 (38)

# 0xB9 (185) ንቁ ሁናቴ ፣ OSR = 128 ፣ Altimeter mode

bus.write_byte_data (0x60 ፣ 0x26 ፣ 0xB9)

ጊዜ። እንቅልፍ (1)

# MPL3115A2 አድራሻ ፣ 0x60 (96)

# ውሂብን ከ 0x00 (00) ፣ 6 ባይት መልሰው ያንብቡ

# ሁኔታ ፣ tHeight MSB1 ፣ tHight MSB ፣ tHeight LSB ፣ temp MSB ፣ temp LSB

ውሂብ = አውቶቡስ.read_i2c_block_data (0x60, 0x00, 6)

# ውሂቡን ወደ 20-ቢት ይለውጡ

tHeight = ((ውሂብ [1] * 65536) + (ውሂብ [2] * 256) + (ውሂብ [3] & 0xF0)) / 16

temp = ((ውሂብ [4] * 256) + (ውሂብ [5] እና 0xF0)) / 16

ከፍታ = tHeight / 16.0

cTemp = temp / 16.0

fTemp = cTemp * 1.8 + 32

# MPL3115A2 አድራሻ ፣ 0x60 (96)

# የቁጥጥር መመዝገቢያ ይምረጡ ፣ 0x26 (38)

# 0x39 (57) ንቁ ሁናቴ ፣ OSR = 128 ፣ ባሮሜትር ሞድ

bus.write_byte_data (0x60 ፣ 0x26 ፣ 0x39)

ጊዜ። እንቅልፍ (1)

# MPL3115A2 አድራሻ ፣ 0x60 (96)

# መረጃን ከ 0x00 (00) ፣ 4 ባይት መልሰው ያንብቡ

# ሁኔታ ፣ ቅድመ MSB1 ፣ ቅድመ MSB ፣ pres LSB

ውሂብ = አውቶቡስ.read_i2c_block_data (0x60, 0x00, 4)

# ውሂቡን ወደ 20-ቢት ይለውጡ

pres = ((ውሂብ [1] * 65536) + (ውሂብ [2] * 256) + (ውሂብ [3] & 0xF0)) / 16

ግፊት = (pres / 4.0) / 1000.0

# የውጤት ውሂብ ወደ ማያ ገጽ

"ግፊት: %.2f kPa" %ግፊት ያትሙ

"ከፍታ: %.2f ሜ" %ከፍታ ያትሙ

"የሙቀት መጠን በሴሊሲየስ %.2f C" %cTemp ያትሙ

"ሙቀት በፋራናይት: %.2f F" %fTemp ያትሙ

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

የ MPL3115A2 የተለያዩ አፕሊኬሽኖች ከፍተኛ ትክክለኛነት አልቲሜትሪ ፣ ስማርትፎኖች/ጡባዊዎች ፣ የግል ኤሌክትሮኒክስ አልቲሜትሪ ወዘተ ያጠቃልላል። እንዲሁም በጂፒኤስ የሞተ ቆጠራ ፣ ለድንገተኛ ጊዜ አገልግሎቶች የጂፒኤስ ማሻሻያ ፣ የካርታ ረዳት ፣ ዳሰሳ እንዲሁም የአየር ሁኔታ ጣቢያ መሣሪያዎች ውስጥ ሊካተት ይችላል።

የሚመከር: