Talaan ng mga Nilalaman:

Paggamit ng Raspberry Pi, Sukatin ang Altitude, Pressure, at Temperatura Sa MPL3115A2: 6 Hakbang
Paggamit ng Raspberry Pi, Sukatin ang Altitude, Pressure, at Temperatura Sa MPL3115A2: 6 Hakbang

Video: Paggamit ng Raspberry Pi, Sukatin ang Altitude, Pressure, at Temperatura Sa MPL3115A2: 6 Hakbang

Video: Paggamit ng Raspberry Pi, Sukatin ang Altitude, Pressure, at Temperatura Sa MPL3115A2: 6 Hakbang
Video: Marlin Firmware 2.0.x Explained 2024, Nobyembre
Anonim
Image
Image
Napakahalagang Kagamitan na Kailangan Namin
Napakahalagang Kagamitan na Kailangan Namin

Alamin kung ano ang pagmamay-ari mo, at alamin kung bakit pag-aari mo ito

Nakakaintriga yun. Nakatira kami sa edad ng Internet Automation dahil bumulusok ito sa isang napakaraming mga bagong application. Bilang mga mahilig sa computer at electronics, marami kaming natututunan sa Raspberry Pi at nagpasyang pagsamahin ang aming mga interes. Tumatagal ang proyektong ito ng isang oras kung bago ka sa mga koneksyon sa I²C at pag-setup ng Software, at mahusay na paraan upang mapalawak ang mga kakayahan ng MPL3115A2 sa Raspberry Pi sa Java.

Hakbang 1: Kailangang-kailangan na Kagamitan na Kailangan Namin

Napakahalagang Kagamitan na Kailangan Namin
Napakahalagang Kagamitan na Kailangan Namin
Napakahalagang Kagamitan na Kailangan Namin
Napakahalagang Kagamitan na Kailangan Namin
Napakahalagang Kagamitan na Kailangan Namin
Napakahalagang Kagamitan na Kailangan Namin

1. Raspberry Pi

Ang unang hakbang ay ang pagkuha ng isang board na Raspberry Pi. Ang maliit na henyo na ito ay ginagamit ng mga libangan, guro at sa paglikha ng mga makabagong kapaligiran.

2. I2C 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²2 protocol para sa pakikipag-usap. Binili namin ang sensor na ito mula sa Dcube Store.

4. Pagkonekta ng Cable

Ginamit namin ang I²C na nagkokonekta na cable na magagamit sa Dcube Store.

5. Micro USB cable

Ang Raspberry Pi ay pinalakas ng supply ng micro USB.

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

Isa sa mga unang bagay na nais mong gawin ay upang makakonekta ang iyong Raspberry Pi sa Internet. Maaari kang kumonekta gamit ang isang Ethernet cable o sa isang wireless USB Nano WiFi adapter.

7. HDMI Cable (Opsyonal, Iyong Pagpipilian)

Maaari mong ikonekta ang Raspberry Pi sa isang monitor gamit ang isang HDMI cable. Gayundin, maaari mong i-access ang remote sa iyong Raspberry Pi sa pamamagitan ng paggamit ng SSH / PuTTY.

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 ipinapakitang eskematiko. Sa pangkalahatan, ang mga koneksyon ay medyo simple. Sundin ang mga tagubilin at imahe sa itaas, 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

Para sa mga ito, 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. Kasing simple nito!

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

Upang maging matagumpay ang aming proyekto, kailangan namin ng isang internet access para sa aming Raspberry Pi. Sa ito, mayroon kang mga pagpipilian tulad ng pagkonekta ng isang Ethernet (LAN) cable. Gayundin, bilang isang kahalili ngunit kahanga-hangang paraan upang magamit ang isang adapter ng WiFi.

Pagpapatakbo ng Circuit

I-plug ang Micro USB cable sa power jack ng Raspberry Pi. I-on ito at voila, mabuting pumunta kami!

Koneksyon sa Screen

Maaari nating maiugnay ang HDMI cable sa isang monitor o maaari tayong maging makabago upang gawing walang ulo ang Pi (gamit ang -SSH / PuTTY) na makakatulong upang mabawasan ang sobrang gastos dahil kahit papaano ay libangan tayo.

Kapag ang isang ugali ay nagsisimulang magastos ng pera, tinatawag itong libangan

Hakbang 3: Pagprogram ng Raspberry Pi sa Java

Raspberry Pi Programming sa Java
Raspberry Pi Programming sa Java

Ang Java 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 Java code para sa sensor na ito mula dito din.

// Ipinamamahagi ng isang lisensyang malaya ang kalooban. // MPL3115A2 // Ang code na ito ay dinisenyo upang gumana kasama ang MPL3115A2_I2CS I2C Mini Module na magagamit mula sa ControlEverything.com. //

import com.pi4j.io.i2c. I2CBus;

import com.pi4j.io.i2c. I2CDevice; import com.pi4j.io.i2c. I2CFactory; i-import ang java.io. IOException;

pampublikong klase MPL3115A2

{public static void main (String args ) nagtatapon ng Exception {// Lumikha ng I2C bus I2CBus Bus = I2CFactory.getInstance (I2CBus. BUS_1); // Get I2C device, MPL3115A2 I2C address is 0x60 (96) I2CDevice device = Bus.getDevice (0x60); // Piliin ang rehistro ng kontrol // Aktibong mode, OSR = 128, altimeter mode na aparato. Magsulat (0x26, (byte) 0xB9); // Piliin ang pagrehistro ng pagsasaayos ng data // Pinagana ang kaganapan na handa na sa data para sa altitude, presyon, temperatura ng aparato. Magsulat (0x13, (byte) 0x07); // Piliin ang rehistro ng kontrol // Aktibong mode, OSR = 128, altimeter mode na aparato. Magsulat (0x26, (byte) 0xB9); Thread.tulog (1000);

// Basahin ang 6 bytes ng data mula sa address 0x00 (00)

// status, tHeight msb1, tHeight msb, tHeight lsb, temp msb, temp lsb byte data = bagong byte [6]; aparato.read (0x00, data, 0, 6);

// I-convert ang data sa 20-bit

int tHeight = ((((data [1] & 0xFF) * 65536) + ((data [2] & 0xFF) * 256) + (data [3] & 0xF0)) / 16); int temp = ((data [4] * 256) + (data [5] & 0xF0)) / 16; dobleng altitude = tKataas / 16.0; doble cTemp = (temp / 16.0); doble fTemp = cTemp * 1.8 + 32;

// Piliin ang rehistro ng kontrol

// Active mode, OSR = 128, barometer mode device. Magsulat (0x26, (byte) 0x39); Thread.tulog (1000); // Basahin ang 4 bytes ng data mula sa address na 0x00 (00) // status, pres msb1, pres msb, pres lsb device.read (0x00, data, 0, 4);

// I-convert ang data sa 20-bit

int pres = ((((data [1] & 0xFF) * 65536) + ((data [2] & 0xFF) * 256) + (data [3] & 0xF0)) / 16; dobleng presyon = (pres / 4.0) / 1000.0; // Output data to screen System.out.printf ("Pressure:%.2f kPa% n", pressure); System.out.printf ("Altitude:%.2f m% n", altitude); System.out.printf ("Temperatura sa Celsius:%.2f C% n", cTemp); System.out.printf ("Temperatura sa Fahrenheit:%.2f F% n", fTemp); }}

Hakbang 4: Ang Pagsasabuhay ng Code (Nagtatrabaho)

Ang pagiging praktiko ng Code (Nagtatrabaho)
Ang pagiging praktiko ng Code (Nagtatrabaho)

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 MPL3115A2 Precision Altimeter sensor 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, Smartphones / Tablet, Personal Electronics Altimetry at Mga satellite (Kagamitan / Pagtataya ng Weather Station).

Para sa hal. Gamit ang sensor at Rasp Pi na ito, maaari kang bumuo ng isang Digital Visual Altimeter, pinakamahalagang piraso ng kagamitan sa skydiving, na maaaring masukat ang altitude, presyon ng hangin, at temperatura. Maaari kang magdagdag ng gasa ng hangin at iba pang mga sensor kaya gumawa ng mas kawili-wiling isa.

Hakbang 6: Konklusyon

Dahil ang programa ay kamangha-manghang napapasadyang, maraming mga kagiliw-giliw na paraan kung saan maaari mong pahabain ang proyektong ito at gawin itong mas mahusay. Halimbawa Mayroon kaming isang nakawiwiling video tutorial sa YouTube na makakatulong sa iyo sa mas mahusay na pag-unawa sa proyektong ito.

Inirerekumendang: