ዝርዝር ሁኔታ:

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

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

ቪዲዮ: Raspberry Pi - MPL3115A2 Precision Altimeter Sensor Java Tutorial: 4 ደረጃዎች
ቪዲዮ: Raspberry Pi CPS120 Pressure & Temperature Sensor Java 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 የጃቫ ኮድ ከጊትብ ማከማቻችን- DCUBE መደብር ማውረድ ይችላል።

ለተመሳሳይ አገናኝ እዚህ አለ

github.com/DcubeTechVentures/MPL3115A2/tree/master/Java

ለጃቫ ኮድ የ pi4j ቤተ -መጽሐፍትን ተጠቀምን ፣ በፒስቤሪ ፒ ላይ ፒ 4 ን ለመጫን ደረጃዎች እዚህ ተገልፀዋል-

pi4j.com/install.html

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

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

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

// MPL3115A2

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

አስመጣ com.pi4j.io.i2c. I2CBus;

አስመጪ com.pi4j.io.i2c. I2CDevice;

አስመጪ com.pi4j.io.i2c. I2CFactory;

ማስመጣት java.io. IOException;

የህዝብ ክፍል MPL3115A2

{

የሕዝብ የማይንቀሳቀስ ባዶ ባዶ (String args ) Exception ን ይጥላል

{

// I2C አውቶቡስ ይፍጠሩ

I2CBus አውቶቡስ = I2CFactory.getInstance (I2CBus. BUS_1);

// I2C መሣሪያን ያግኙ ፣ MPL3115A2 I2C አድራሻ 0x60 (96) ነው

I2CDevice device = Bus.getDevice (0x60);

// የቁጥጥር መመዝገቢያ ይምረጡ

// ገባሪ ሁናቴ ፣ OSR = 128 ፣ የአልሜሜትር ሁኔታ

መሣሪያ። ይፃፉ (0x26 ፣ (ባይት) 0xB9);

// የውሂብ ውቅረት መመዝገቢያ ይምረጡ

// የውሂብ ዝግጁ ክስተት ከፍታ ፣ ግፊት ፣ የሙቀት መጠን ነቅቷል

መሣሪያ። ይፃፉ (0x13 ፣ (ባይት) 0x07);

// የቁጥጥር መመዝገቢያ ይምረጡ

// ገባሪ ሁናቴ ፣ OSR = 128 ፣ የአልሜሜትር ሁኔታ

መሣሪያ። ይፃፉ (0x26 ፣ (ባይት) 0xB9);

ክር። እንቅልፍ (1000);

// 6 ባይት መረጃን ከአድራሻ 0x00 (00) ያንብቡ

// ሁኔታ ፣ tHeight msb1 ፣ tHeight msb ፣ tHeight lsb ፣ temp msb ፣ temp lsb

ባይት ውሂብ = አዲስ ባይት [6];

መሣሪያ። ንባብ (0x00 ፣ ውሂብ ፣ 0 ፣ 6);

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

int tHeight = ((((መረጃ [1] & 0xFF) * 65536) + ((ውሂብ [2] እና 0xFF) * 256) + (ውሂብ [3] እና 0xF0)) / 16))

int temp = ((ውሂብ [4] * 256) + (ውሂብ [5] & 0xF0)) / 16;

ድርብ ከፍታ = tHeight / 16.0;

ድርብ cTemp = (temp / 16.0);

ድርብ fTemp = cTemp * 1.8 + 32;

// የቁጥጥር መመዝገቢያ ይምረጡ

// ገባሪ ሁናቴ ፣ OSR = 128 ፣ ባሮሜትር ሁኔታ

መሣሪያ። ይፃፉ (0x26 ፣ (ባይት) 0x39);

ክር። እንቅልፍ (1000);

// 4 ባይት መረጃን ከአድራሻ 0x00 (00) ያንብቡ

// ሁኔታ ፣ ቅድመ msb1 ፣ pres msb ፣ pres lsb

መሣሪያ። ንባብ (0x00 ፣ ውሂብ ፣ 0 ፣ 4);

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

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

ድርብ ግፊት = (pres / 4.0) / 1000.0;

// የውፅዓት ውሂብ ወደ ማያ ገጽ

System.out.printf ("ግፊት: %.2f kPa %n", ግፊት);

System.out.printf ("ከፍታ: %.2f m %n", ከፍታ);

System.out.printf ("የሙቀት መጠን በሴልሲየስ %.2f C %n" ፣ cTemp);

System.out.printf ("በፋራናይት ሙቀት: %.2f F %n", fTemp);

}

}

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

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

የሚመከር: