Სარჩევი:

Raspberry Pi - MPL3115A2 Precision Altimeter Sensor Python Tutorial: 4 Steps
Raspberry Pi - MPL3115A2 Precision Altimeter Sensor Python Tutorial: 4 Steps

ვიდეო: Raspberry Pi - MPL3115A2 Precision Altimeter Sensor Python Tutorial: 4 Steps

ვიდეო: Raspberry Pi - MPL3115A2 Precision Altimeter Sensor Python Tutorial: 4 Steps
ვიდეო: Raspberry Pi HP203B Precision Barometer & Altimeter Sensor Python Tutorial 2024, ივლისი
Anonim
Image
Image

MPL3115A2 იყენებს MEMS წნევის სენსორს I2C ინტერფეისით, რათა უზრუნველყოს წნევის/სიმაღლისა და ტემპერატურის ზუსტი მონაცემები. სენსორის გამოსასვლელი ციფრულდება მაღალი რეზოლუციის 24-ბიტიანი ADC საშუალებით. შიდა დამუშავება ხსნის კომპენსაციის ამოცანებს მასპინძელი MCU სისტემიდან. მას შეუძლია აღმოაჩინოს ცვლილება მხოლოდ 0.05 kPa– ში, რაც უდრის სიმაღლის 0.3 მ ცვლილებას. აქ არის მისი დემონსტრირება ჟოლოს პი პითონის კოდის გამოყენებით.

ნაბიჯი 1: რაც გჭირდებათ..

Რა გჭირდება..!!
Რა გჭირდება..!!

1. ჟოლო პი

2. MPL3115A2

3. I²C კაბელი

4. I²C ფარი ჟოლოს პიისთვის

5. Ethernet კაბელი

ნაბიჯი 2: კავშირები:

კავშირები
კავშირები
კავშირები
კავშირები
კავშირები
კავშირები
კავშირები
კავშირები

აიღეთ I2C ფარი ჟოლოსთვის და ნაზად წაუსვით ჟოლოს პი გპიოს ქინძისთავებზე.

შემდეგ შეაერთეთ I2C კაბელის ერთი ბოლო MPL3115A2 სენსორთან და მეორე ბოლო I2C ფარს.

ასევე დაუკავშირეთ Ethernet კაბელი pi- ს ან შეგიძლიათ გამოიყენოთ WiFi მოდული.

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

ნაბიჯი 3: კოდი:

კოდი
კოდი

MPL3115A2– ის პითონის კოდი შეგიძლიათ გადმოწეროთ ჩვენი Github საცავიდან- DCUBE Store Community.

აქ არის ბმული

ჩვენ გამოვიყენეთ SMBus ბიბლიოთეკა პითონის კოდისთვის, ჟოლოს პიზე SMBus– ის დაყენების ნაბიჯები აღწერილია აქ:

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, ალტიმეტრის რეჟიმი

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, ალტიმეტრის რეჟიმი

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

დრო. ძილი (1)

# MPL3115A2 მისამართი, 0x60 (96)

# წაიკითხეთ მონაცემები უკან 0x00 (00), 6 ბაიტი

# სტატუსი, tHeight MSB1, tHeight MSB, tHeight LSB, temp MSB, temp LSB

მონაცემები = bus.read_i2c_block_data (0x60, 0x00, 6)

# გადააქციეთ მონაცემები 20 ბიტად

tHeight = ((მონაცემები [1] * 65536) + (მონაცემები [2] * 256) + (მონაცემები [3] & 0xF0)) / 16

temp = ((მონაცემები [4] * 256) + (მონაცემები [5] & 0xF0)) / 16

სიმაღლე = t სიმაღლე / 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 ბაიტი

# სტატუსი, pres MSB1, pres MSB, pres LSB

მონაცემები = bus.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– ის სხვადასხვა პროგრამა მოიცავს მაღალი სიზუსტის ალტიმეტრიას, სმარტფონებს/ტაბლეტებს, პერსონალურ ელექტრონიკას ალტიმეტრიას და სხვა. ის ასევე შეიძლება ჩართული იყოს GPS Dead Reckoning– ში, GPS– ის გაძლიერებაში გადაუდებელ სამსახურში, რუქის დახმარებაში, ნავიგაციაში, ასევე ამინდის სადგურის აღჭურვილობაში.

გირჩევთ: