Talaan ng mga Nilalaman:

Altitude, Pressure at Temperatura Gamit ang Raspberry Pi Sa MPL3115A2: 6 Hakbang
Altitude, Pressure at Temperatura Gamit ang Raspberry Pi Sa MPL3115A2: 6 Hakbang

Video: Altitude, Pressure at Temperatura Gamit ang Raspberry Pi Sa MPL3115A2: 6 Hakbang

Video: Altitude, Pressure at Temperatura Gamit ang Raspberry Pi Sa MPL3115A2: 6 Hakbang
Video: FOCACCIA|FOCACCIA BREAD RECIPE|FOCACCIA RECIPE|TOMATO FOCACCIA|ROSEMARY FOCACCIA|BREAD|ITALIAN FOOD 2024, Hulyo
Anonim
Altitude, Pressure at Temperatura Gamit ang Raspberry Pi Sa MPL3115A2
Altitude, Pressure at Temperatura Gamit ang Raspberry Pi Sa MPL3115A2
Altitude, Pressure at Temperatura Gamit ang Raspberry Pi Sa MPL3115A2
Altitude, Pressure at Temperatura Gamit ang Raspberry Pi Sa MPL3115A2

Tunog nakakainteres. Posibleng posible sa oras na ito kapag lahat tayo ay papunta sa henerasyon ng IoT. Bilang isang freak sa electronics, naglalaro kami kasama ang Raspberry Pi, at nagpasya na gumawa ng mga kagiliw-giliw na proyekto gamit ang kaalamang ito. Sa proyektong ito, susukat kami ng altitude, presyon ng hangin, temperatura gamit ang Raspberry Pi. Kaya narito ang dokumentasyon (laging binabago, at pinalawak). Inirerekumenda namin na magsimula sa pagsunod sa mga tagubilin at kopyahin ang code. Maaari kang mag-eksperimento sa paglaon. Kaya't magsimula tayo.

Hakbang 1: Kailangan ng mga Kagamitan na Mahati

Imperative Equipment na Kailangan Namin
Imperative Equipment na Kailangan Namin
Imperative Equipment na Kailangan Namin
Imperative Equipment na Kailangan Namin
Imperative Equipment na Kailangan Namin
Imperative Equipment na Kailangan Namin
Imperative Equipment na Kailangan Namin
Imperative Equipment na Kailangan Namin

1. Raspberry Pi

Ang unang hakbang ay ang pagkuha ng isang board na Raspberry Pi. Binili namin ang amin at kaya mo rin. Nagsimulang matuto mula sa mga tutorial, naintindihan namin ang mga konsepto ng script at koneksyon at natutunan pagkatapos. Ang maliit na henyo na ito ay karaniwan para sa mga libangan, guro at sa paglikha ng mga makabagong kapaligiran.

2. I²C Shield para sa Raspberry Pi

Ang INPI2 (I2C adapter) ay nagbibigay ng Raspberry Pi 2/3 isang I²C port para magamit sa maraming mga I2C device. Magagamit ito sa Dcube Store

3. Altimeter, Pressure at Temperature Sensor, MPL3115A2

Ang MPL3115A2 ay isang sensor ng presyon ng MEMS na may interface na I²C upang bigyan ang data ng Presyon / Altitude at Temperatura. Gumagamit ang sensor na ito ng I²C protocol para sa pakikipag-usap. Binili namin ang sensor na ito mula sa Dcube Store

4. Pagkonekta ng Cable

Mayroon kaming magagamit na koneksyon ng I2C sa Dcube Store

5. Micro USB cable

Ang micro USB cable Power supply ay isang mainam na pagpipilian para sa pagpapatakbo ng Raspberry Pi.

6. Pagpapahusay sa Pag-access sa Internet - Ethernet Cable / WiFi Adapter

Sa panahong ito, ang pagkakaroon ng pag-access sa anumang bagay ay nangangailangan ng isang koneksyon sa internet (halos mayroon ding buhay offline din). Kaya't kukuha kami ng payo ng isang LAN cable o isang Wireless Nano USB Adapter (WiFi) upang mabuo ang koneksyon sa internet upang magamit namin ang aming Rasp Pi nang madali at walang problema.

7. HDMI Cable (Opsyonal, Iyong Pagpipilian)

Medyo nakakalito. Maaari kang magkaroon ng kapangyarihang maglakip ng isa pang Monitor kung sakaling nais mo o ito ay napaka-epektibo sa iyong sarili sa pamamagitan ng paggawa ng isang walang ulo na koneksyon sa Pi sa iyong PC / Laptop.

Hakbang 2: Mga Koneksyon sa Hardware upang Magkasama sa Circuit

Mga Koneksyon sa Hardware upang Magkasama sa Circuit
Mga Koneksyon sa Hardware upang Magkasama sa Circuit
Mga Koneksyon sa Hardware upang Magkasama sa Circuit
Mga Koneksyon sa Hardware upang Magkasama sa Circuit

Gawin ang circuit ayon sa ipinakita na iskematiko. Sa pangkalahatan, ang mga koneksyon ay napaka-simple. Sundin ang mga tagubilin at imahe, at dapat ay wala kang mga problema.

Habang nagpaplano, tiningnan namin ang hardware at coding pati na rin ang mga pangunahing kaalaman sa electronics. Nais naming mag-disenyo ng isang simpleng iskemang electronics para sa proyektong ito. Sa diagram, maaari mong mapansin ang iba't ibang mga bahagi, mga sangkap ng kuryente at sensor ng I²C na sumusunod sa mga protokol ng komunikasyon ng I²C. Inaasahan kong naglalarawan ito kung gaano kasimple ang electronics para sa proyektong ito.

Koneksyon ng Raspberry Pi at I2C Shield

Una sa lahat kunin ang Raspberry Pi at ilagay dito ang I²C Shield. Dahan-dahang pindutin ang Shield (Tingnan ang larawan).

Koneksyon ng Sensor at Raspberry Pi

Kunin ang sensor at ikonekta ang I²C cable dito. Siguraduhin na ang I²C Output ALWAYS kumokonekta sa I²C Input. Ang parehong susundan ng Raspberry Pi na may kalasag na I²C ay naka-mount sa ibabaw nito. Mayroon kaming I²C Shield at ang I CC na nagkokonekta na mga kable sa aming panig bilang isang napakalaking kalamangan dahil maiiwan lamang kami sa pagpipilian ng plug at play. Wala nang isyu sa mga pin at kable at samakatuwid, nawala ang pagkalito. Isang kaginhawaan tulad ng akala mo ang iyong sarili sa web ng mga wires at papasok doon. Ang simpleng proseso lamang na nabanggit namin.

Tandaan: Dapat laging sundin ng brown wire ang koneksyon ng Ground (GND) sa pagitan ng output ng isang aparato at ng pag-input ng ibang aparato

Mahalaga ang pagkakakonekta sa Internet

Mayroon kang pagpipilian dito talaga. Maaari mong ikonekta ang Raspberry Pi gamit ang LAN cable o ang wireless Nano USB Adapter para sa Koneksyon sa WiFi. Gayunpaman, ginawa nito ang pangunahing layunin na kumonekta sa internet.

Pagpapatakbo ng Circuit

I-plug ang Micro USB cable sa power jack ng Raspberry Pi. I-ilaw ito at mabuti kaming pumunta.

Koneksyon sa Screen

Maaari nating maiugnay ang HDMI cable sa isang bagong monitor o maaari naming gawin ang aming walang ulo na Pi na malikhain at epektibo sa paggamit ng remote access tulad ng-SSH / PuTTY. (Alam kong hindi kami pinondohan tulad ng isang lihim na samahan)

Hakbang 3: Pagprogram ng Raspberry Pi sa Python

Raspberry Pi Programming sa Python
Raspberry Pi Programming sa Python

Ang Python code para sa Raspberry Pi at MPL3115A2 Sensor. Magagamit ito sa aming repository ng Github.

Bago magpatuloy sa code, tiyaking nabasa mo ang mga tagubiling ibinigay sa Readme file at I-setup ang iyong Raspberry Pi alinsunod dito. Aabutin lamang ng ilang sandali upang magawa ito.

Ang taas ay kinakalkula mula sa presyon gamit ang equation sa ibaba:

h = 44330.77 {1 - (p / p0) ^ 0.1902632} + OFF_H (Halaga ng Rehistro)

Kung saan ang p0 = presyon ng antas ng dagat (101326 Pa) at h ay nasa metro. Ginagamit ng MPL3115A2 ang halagang ito dahil ang offset register ay tinukoy bilang 2 Pascals bawat LSB.

Ang code ay malinaw sa harap mo at ito ay nasa pinakasimpleng form na maaari mong isipin at dapat kang walang mga problema.

Maaari mong kopyahin ang gumaganang code ng Python para sa sensor na ito mula dito din.

# Ipinamamahagi ng isang lisensya na may malayang kalooban. # Gamitin ito sa anumang paraan na nais mo, tubo o libre, sa kondisyon na naaangkop ito sa mga lisensya ng mga nauugnay na gawa nito. # MPL3115A2 # Ang code na ito ay dinisenyo upang gumana kasama ang MPL3115A2_I2CS I2C Mini Module na magagamit mula sa ControlEverything.com. #

import smbus

oras ng pag-import

# Kumuha ng I2C bus

bus = smbus. SMBus (1)

# MPL3115A2 address, 0x60 (96)

# Piliin ang rehistro ng kontrol, 0x26 (38) # 0xB9 (185) Aktibo mode, OSR = 128, Altimeter mode bus.write_byte_data (0x60, 0x26, 0xB9) # MPL3115A2 address, 0x60 (96) # Piliin ang rehistro ng pagsasaayos ng data, 0x13 (19) # 0x07 (07) Pinagana ang kaganapang handa na data para sa altitude, presyon, temperatura bus.write_byte_data (0x60, 0x13, 0x07) # MPL3115A2 address, 0x60 (96) # Piliin ang rehistro ng kontrol, 0x26 (38) # 0xB9 (185) Aktibong mode, OSR = 128, Altimeter mode bus.write_byte_data (0x60, 0x26, 0xB9)

oras. tulog (1)

# MPL3115A2 address, 0x60 (96)

# Basahin ang data pabalik mula sa 0x00 (00), 6 bytes # status, tHeight MSB1, tHeight MSB, tHeight LSB, temp MSB, temp LSB data = bus.read_i2c_block_data (0x60, 0x00, 6)

# I-convert ang data sa 20-bit

tHeight = ((data [1] * 65536) + (data [2] * 256) + (data [3] & 0xF0)) / 16 temp = ((data [4] * 256) + (data [5] & 0xF0)) / 16 altitude = t Taas / 16.0 cTemp = temp / 16.0 fTemp = cTemp * 1.8 + 32

# MPL3115A2 address, 0x60 (96)

# Piliin ang rehistro ng kontrol, 0x26 (38) # 0x39 (57) Aktibong mode, OSR = 128, Barometer mode bus.write_byte_data (0x60, 0x26, 0x39)

oras. tulog (1)

# MPL3115A2 address, 0x60 (96)

# Basahin ang data pabalik mula sa 0x00 (00), 4 bytes # status, pres MSB1, pres MSB, pres LSB data = bus.read_i2c_block_data (0x60, 0x00, 4)

# I-convert ang data sa 20-bit

pres = ((data [1] * 65536) + (data [2] * 256) + (data [3] & 0xF0)) / 16 pressure = (pres / 4.0) / 1000.0

# Data ng output sa screen

i-print ang "Pressure:%.2f kPa"% pressure print "Altitude:%.2f m"% altitude print "Temperatura sa Celsius:%.2f C"% cTemp print "Temperatura sa Fahrenheit:%.2f F"% fTemp

Hakbang 4: Ang Pagsasabuhay ng Code (Pagsubok)

Ang pagiging praktiko ng Code (Pagsubok)
Ang pagiging praktiko ng Code (Pagsubok)

Ngayon, i-download (o hilahin ang git) ang code at buksan ito sa Raspberry Pi.

Patakbuhin ang mga utos upang Magtipon at Mag-upload ng code sa terminal at makita ang output sa Monitor. Pagkatapos ng ilang segundo, ipapakita nito ang lahat ng mga parameter. Matapos matiyak na ang lahat ay gumagana nang maayos, maaari mong gawin ang proyektong ito sa isang mas malaking proyekto.

Hakbang 5: Mga Aplikasyon at Tampok

Ang karaniwang paggamit ng sensor ng MPL3115A2 Precision Altimeter I²C ay nasa mga application tulad ng Map (Map assist, Navigation), Magnetic Compass, O GPS (GPS Dead Reckoning, GPS Enhancement For Emergency Services), High Accuracy Altimetry, Smartphone / Tablet, Personal Electronics Altimetry at Mga satellite (Kagamitan / Pagtataya ng Weather Station).

Para sa hal. isang proyekto para sa paggawa ng Personal Electronics Altimeter na sumusukat sa altitude, presyon ng hangin, temperatura gamit ang Raspberry Pi. Ang Personal Electronics Altimeter ay isang kabuuang isang mabilis na proyekto upang maitayo. Aabutin lamang ng ilang sandali kung mayroon kang lahat ng mga bahagi at hindi mag-improba (syempre magagawa mo!). Ang isang altimeter ng presyon ay isang altimeter na matatagpuan sa karamihan ng sasakyang panghimpapawid, at ang mga skydiver ay gumagamit ng mga bersyon na naka-mount sa pulso para sa mga katulad na layunin. Gumagamit ang mga hiker at akyatin sa bundok ng mga pulso o pag-mount na pulso.

Hakbang 6: Konklusyon

Inaasahan kong ang proyektong ito ay nagbibigay inspirasyon sa karagdagang pag-eksperimento. Ang sensor ng I²C na ito ay hindi kapani-paniwala maraming nalalaman, mura at naa-access. Dahil ito ay isang lubos na nababagabag na programa, may mga kagiliw-giliw na paraan na maaari mong palawakin ang proyektong ito at gawin itong mas mahusay. Halimbawa, ang altimeter ay isang instrumentong opsyonal sa mga sasakyang hindi kalsada upang tumulong sa pag-navigate. Ang ilang mga mahusay na pagganap na mamahaling mga kotse na hindi inilaan upang iwanan ang mga aspaltadong kalsada, gamitin ang teknolohiyang ito. Para sa iyong kaginhawaan, mayroon kaming isang nakawiwiling video tutorial sa YouTube na maaaring magbigay ng kamay sa iyong paggalugad. Inaasahan kong ang proyektong ito ay nagbibigay inspirasyon sa karagdagang pag-eksperimento.

Inirerekumendang: