ዝርዝር ሁኔታ:

አርዱዲኖ ናኖ - MPL3115A2 ትክክለኛነት የአልቲሜትር ዳሳሽ ትምህርት 4 ደረጃዎች
አርዱዲኖ ናኖ - MPL3115A2 ትክክለኛነት የአልቲሜትር ዳሳሽ ትምህርት 4 ደረጃዎች

ቪዲዮ: አርዱዲኖ ናኖ - MPL3115A2 ትክክለኛነት የአልቲሜትር ዳሳሽ ትምህርት 4 ደረጃዎች

ቪዲዮ: አርዱዲኖ ናኖ - MPL3115A2 ትክክለኛነት የአልቲሜትር ዳሳሽ ትምህርት 4 ደረጃዎች
ቪዲዮ: VOLTMETER with DIY RELHARGEABLE BATTERY - አርዱinoኖንን በባትሪ እንዴት ኃይል መስጠት እንደሚቻል 2024, ሀምሌ
Anonim
Image
Image

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

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

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

1. አርዱዲኖ ናኖ

2. MPL3115A2

3. I²C ኬብል

4. I²C ጋሻ ለአርዱዲኖ ናኖ

ደረጃ 2: ግንኙነቶች

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

ለአርዱዲኖ ናኖ የ I2C ጋሻ ይውሰዱ እና በናኖ ፒኖች ላይ በቀስታ ይግፉት።

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

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

ደረጃ 3 ኮድ

ኮድ ፦
ኮድ ፦

ለ MPL3115A2 የአሩዲኖ ኮድ ከ github ማከማቻ-DCUBE ማከማቻችን ማውረድ ይችላል።

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

github.com/DcubeTechVentures/MPL3115A2/blob/master/Arduino/MPL3115A2.ino

ከአርዲኖ ቦርድ ጋር የአነፍናፊውን I2c ግንኙነት ለማመቻቸት ቤተመጽሐፍት Wire.h ን እናካትታለን።

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

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

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

// MPL3115A2

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

#ያካትቱ

// MPL3115A2 I2C አድራሻ 0x60 (96) ነው

#መግለፅ Addr 0x60

ባዶነት ማዋቀር ()

{

// I2C ግንኙነትን ያስጀምሩ

Wire.begin ();

// የመጀመርያ ደረጃ ተከታታይ ግንኙነት ፣ የባውድ መጠን = 9600 ያዘጋጁ

Serial.begin (9600);

// I2C ማስተላለፍን ይጀምሩ

Wire.begin ማስተላለፊያ (Addr);

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

Wire.write (0x26);

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

Wire.write (0xB9);

// I2C ስርጭትን ያቁሙ

Wire.endTransmission ();

// I2C ማስተላለፍን ይጀምሩ

Wire.begin ማስተላለፊያ (Addr);

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

Wire.write (0x13);

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

Wire.write (0x07);

// I2C ስርጭትን ያቁሙ

Wire.endTransmission ();

መዘግየት (300);

}

ባዶነት loop ()

{

ያልተፈረመ int ውሂብ [6];

// I2C ማስተላለፍን ይጀምሩ

Wire.begin ማስተላለፊያ (Addr);

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

Wire.write (0x26);

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

Wire.write (0xB9);

// I2C ስርጭትን ያቁሙ

Wire.endTransmission ();

መዘግየት (1000);

// I2C ማስተላለፍን ይጀምሩ

Wire.begin ማስተላለፊያ (Addr);

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

Wire.write (0x00);

// I2C ስርጭትን ያቁሙ

Wire.endTransmission ();

// 6 ባይት ውሂብን ይጠይቁ

Wire.requestFrom (Addr, 6);

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

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

ከሆነ (Wire.available () == 6)

{

ውሂብ [0] = Wire.read ();

ውሂብ [1] = Wire.read ();

ውሂብ [2] = Wire.read ();

ውሂብ [3] = Wire.read ();

ውሂብ [4] = Wire.read ();

ውሂብ [5] = Wire.read ();

}

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

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

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

ተንሳፋፊ ከፍታ = tHeight / 16.0;

ተንሳፋፊ cTemp = (temp / 16.0);

ተንሳፋፊ fTemp = cTemp * 1.8 + 32;

// I2C ማስተላለፍን ይጀምሩ

Wire.begin ማስተላለፊያ (Addr);

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

Wire.write (0x26);

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

Wire.write (0x39);

// I2C ስርጭትን ያቁሙ

Wire.endTransmission ();

መዘግየት (1000);

// I2C ማስተላለፍን ይጀምሩ

Wire.begin ማስተላለፊያ (Addr);

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

Wire.write (0x00);

// I2C ስርጭትን ያቁሙ

Wire.endTransmission ();

// 4 ባይት ውሂብን ይጠይቁ

Wire.requestFrom (Addr, 4);

// 4 ባይት መረጃዎችን ያንብቡ

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

ከሆነ (Wire.available () == 4)

{

ውሂብ [0] = Wire.read ();

ውሂብ [1] = Wire.read ();

ውሂብ [2] = Wire.read ();

ውሂብ [3] = Wire.read ();

}

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

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

የመንሳፈፍ ግፊት = (pres / 4.0) / 1000.0;

// የውጤት መረጃን ወደ ተከታታይ ማሳያ

Serial.print ("ከፍታ:");

Serial.print (ከፍታ);

Serial.println ("m");

Serial.print ("ግፊት:");

Serial.print (ግፊት);

Serial.println ("kPa");

Serial.print ("የሙቀት መጠን በሴልሲየስ");

Serial.print (cTemp);

Serial.println ("C");

Serial.print ("ፋራናይት ውስጥ ያለው ሙቀት:");

Serial.print (fTemp);

Serial.println ("F");

መዘግየት (500);

}

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

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

የሚመከር: