ዝርዝር ሁኔታ:

አርዱዲኖ ናኖ-MMA8452Q 3-Axis 12-bit/8-bit Digital Accelerometer Tutorial: 4 Steps
አርዱዲኖ ናኖ-MMA8452Q 3-Axis 12-bit/8-bit Digital Accelerometer Tutorial: 4 Steps

ቪዲዮ: አርዱዲኖ ናኖ-MMA8452Q 3-Axis 12-bit/8-bit Digital Accelerometer Tutorial: 4 Steps

ቪዲዮ: አርዱዲኖ ናኖ-MMA8452Q 3-Axis 12-bit/8-bit Digital Accelerometer Tutorial: 4 Steps
ቪዲዮ: የአርዱብሎክ መተግበሪያን በመጫን ላይ 2024, ሀምሌ
Anonim
Image
Image

MMA8452Q ብልጥ ፣ ዝቅተኛ ኃይል ፣ ሶስት ዘንግ ፣ አቅም ያለው ፣ ማይክሮሜሽን ያለው የፍጥነት መለኪያ ከ 12 ቢት ጥራት ጋር ነው። ተጣጣፊ የተጠቃሚ መርሃ ግብር አማራጮች በሁለት የፍጥነት መለኪያ ውስጥ በተካተቱ ተግባራት እርዳታ ይሰጣሉ ፣ ለሁለት ማቋረጫ ፒኖች ይዋቀራሉ። ባለከፍተኛ ማለፊያ ማጣሪያ በተጣራ ውሂብ እንዲሁም ያልተጣራ ውሂብ በእውነተኛ-ጊዜ የሚገኝ ተጠቃሚ ሊመረጥ የሚችል ሙሉ sca 2g/± 4g/± 8g አለው። ከአርዱዲኖ ናኖ ጋር የእሱ ማሳያ እዚህ አለ።

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

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

1. አርዱዲኖ ናኖ

2. ኤምኤምኤ8452 ኪ

3. I²C ኬብል

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

ደረጃ 2: ግንኙነት

ግንኙነት ፦
ግንኙነት ፦
ግንኙነት ፦
ግንኙነት ፦
ግንኙነት ፦
ግንኙነት ፦
ግንኙነት ፦
ግንኙነት ፦

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

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

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

ደረጃ 3 ኮድ

ኮድ ፦
ኮድ ፦

የ MMMA8452Q አርዱinoኖ ኮድ ከጊትብ ማከማቻችን- DCUBE መደብር ማውረድ ይችላል።

አገናኙ እዚህ አለ።

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

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

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

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

// MMA8452Q

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

#ያካትቱ

// MMA8452Q I2C አድራሻ 0x1C (28) ነው

#መግለፅ Addr 0x1C

ባዶነት ማዋቀር ()

{

// የ I2C ግንኙነትን እንደ ማስተር ማስጀመር

Wire.begin ();

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

Serial.begin (9600);

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

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

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

Wire.write (0x2A);

// StandBy ሁነታ

Wire.write (0x00);

// I2C ማስተላለፍን ያቁሙ

Wire.endTransmission ();

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

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

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

Wire.write (0x2A);

// ንቁ ሁነታ

Wire.write (0x01);

// I2C ማስተላለፍን ያቁሙ

Wire.endTransmission ();

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

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

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

Wire.write (0x0E);

// ክልሉን ወደ +/- 2g ያዘጋጁ

Wire.write (0x00);

// I2C ማስተላለፍን ያቁሙ

Wire.endTransmission ();

መዘግየት (300);

}

ባዶነት loop ()

{

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

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

Wire.requestFrom (Addr, 7);

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

// staus ፣ xAccl lsb ፣ xAccl msb ፣ yAccl lsb ፣ yAccl msb ፣ zAccl lsb ፣ zAccl msb

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

{

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

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

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

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

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

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

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

}

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

int xAccl = ((ውሂብ [1] * 256) + ውሂብ [2]) / 16;

ከሆነ (xAccl> 2047)

{

xAccl -= 4096;

}

int yAccl = ((ውሂብ [3] * 256) + ውሂብ [4]) / 16;

ከሆነ (yAccl> 2047)

{

yAccl -= 4096;

}

int zAccl = ((ውሂብ [5] * 256) + ውሂብ [6]) / 16;

ከሆነ (zAccl> 2047)

{

zAccl -= 4096;

}

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

Serial.print ("በ X-Axis ውስጥ ማፋጠን");

Serial.println (xAccl);

Serial.print ("Y-Axis ውስጥ ማፋጠን");

Serial.println (yAccl);

Serial.print ("ዘ-አክሲዮን ውስጥ ማፋጠን");

Serial.println (zAccl);

መዘግየት (500);

}

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

MMA8452Q ኢ-ኮምፓስ አፕሊኬሽኖችን ፣ የቁም/የመሬት ገጽታ ፣ የላይ/ታች ፣ ግራ/ቀኝ ፣ የኋላ/የፊት አቀማመጥ መታወቂያ ፣ ማስታወሻ ደብተር ፣ ኢ-አንባቢ ፣ እና የላፕቶፕ ትምብል እና ፍሪፖት ማግኘትን ፣ እውነተኛ ጊዜን ያካተተ የስታቲካል አቅጣጫን ማወቅን የሚያካትቱ የተለያዩ መተግበሪያዎች አሉት። ምናባዊ እውነታን እና የጨዋታ 3-ል የተጠቃሚ አቀማመጥ ግብረመልስን ፣ የአቅጣጫ ፍለጋን ፣ እንደ ፔዶሜትር የእርምጃ ቆጠራን ፣ ለኤችዲዲ የነፃ መውደቅ መፈለጊያ ፣ የሞተ ግምት የጂፒኤስ ምትኬን እና ሌሎችንም ጨምሮ።

የሚመከር: