ዝርዝር ሁኔታ:

H3LIS331DL ን እና ቅንጣት ፎቶን በመጠቀም የፍጥነት መለኪያ - 4 ደረጃዎች
H3LIS331DL ን እና ቅንጣት ፎቶን በመጠቀም የፍጥነት መለኪያ - 4 ደረጃዎች

ቪዲዮ: H3LIS331DL ን እና ቅንጣት ፎቶን በመጠቀም የፍጥነት መለኪያ - 4 ደረጃዎች

ቪዲዮ: H3LIS331DL ን እና ቅንጣት ፎቶን በመጠቀም የፍጥነት መለኪያ - 4 ደረጃዎች
ቪዲዮ: Product Showcase: H3LIS331DL Triple Axis Accelerometer Breakout 2024, ሀምሌ
Anonim
Image
Image

H3LIS331DL ፣ ከዲጂታል I²C ተከታታይ በይነገጽ ጋር የ “ናኖ” ቤተሰብ አባል የሆነ ዝቅተኛ ኃይል ያለው ከፍተኛ አፈፃፀም ባለ 3-ዘንግ መስመራዊ የፍጥነት መለኪያ ነው። H3LIS331DL ተጠቃሚ ሊመረጥ የሚችል ሙሉ ልኬቶች ± 100 ግ/± 200 ግ/± 400 ግ ያለው ሲሆን ከ 0.5 Hz እስከ 1 kHz ባለው የውጤት መረጃ ተመኖች ፍጥነትን መለካት ይችላል። H3LIS331DL በተራዘመ የሙቀት መጠን ከ -40 ° ሴ እስከ +85 ° ሴ ድረስ እንዲሠራ ዋስትና ተሰጥቶታል።

በዚህ መማሪያ ውስጥ የ H3LIS331DL ን ከትንሽ ፎቶቶን ጋር እናያይዛለን።

ደረጃ 1 ሃርድዌር ያስፈልጋል

ሃርድዌር ያስፈልጋል
ሃርድዌር ያስፈልጋል
ሃርድዌር ያስፈልጋል
ሃርድዌር ያስፈልጋል
ሃርድዌር ያስፈልጋል
ሃርድዌር ያስፈልጋል

ግባችንን ለማሳካት የሚያስፈልጉን ቁሳቁሶች የሚከተሉትን የሃርድዌር ክፍሎች ያካትታሉ።

1. H3LIS331DL

2. ቅንጣት ፎቶን

3. I2C ኬብል

4. I2C ጋሻ ለ ቅንጣት ፎቶን

ደረጃ 2 የሃርድዌር ማያያዣ;

የሃርድዌር ግንኙነት
የሃርድዌር ግንኙነት
የሃርድዌር ግንኙነት
የሃርድዌር ግንኙነት

የሃርድዌር መንጠቆው ክፍል በመሠረቱ በአነፍናፊው እና በንጥል ፎቶን መካከል የሚፈለጉትን የሽቦ ግንኙነቶች ያብራራል። ለተፈለገው ውጤት በማንኛውም ስርዓት ላይ ሲሰሩ ትክክለኛ ግንኙነቶችን ማረጋገጥ መሠረታዊ አስፈላጊነት ነው። ስለዚህ አስፈላጊዎቹ ግንኙነቶች እንደሚከተለው ናቸው

H3LIS331DL በ I2C ላይ ይሠራል። እያንዳንዱን የአነፍናፊ በይነገጽ እንዴት ሽቦ ማገናኘት እንደሚቻል የሚያሳይ የምስል ሽቦ ንድፍ ምሳሌ እዚህ አለ።

ከሳጥን ውጭ ፣ ቦርዱ ለ I2C በይነገጽ የተዋቀረ ነው ፣ ስለሆነም እርስዎ ሌላ የማይታወቁ ከሆኑ ይህንን መንጠቆ እንዲጠቀሙ እንመክራለን። የሚያስፈልግዎት አራት ሽቦዎች ብቻ ናቸው!

Vcc ፣ Gnd ፣ SCL እና SDA ፒኖች የሚያስፈልጉት አራት ግንኙነቶች ብቻ ናቸው እና እነዚህ በ I2C ገመድ እገዛ ተገናኝተዋል።

እነዚህ ግንኙነቶች ከላይ ባሉት ሥዕሎች ውስጥ ይታያሉ።

ደረጃ 3 የፍጥነት መለኪያ ኮድ

የፍጥነት መለኪያ ኮድ
የፍጥነት መለኪያ ኮድ

አሁን በንጥል ኮድ እንጀምር።

ከአርዲኖው ጋር የአነፍናፊ ሞጁሉን እየተጠቀምን ሳለ እኛ application.h እና spark_wiring_i2c.h ቤተ -መጽሐፍትን አካተናል። "application.h" እና spark_wiring_i2c.h ቤተ -መጽሐፍት በአነፍናፊው እና በንጥሉ መካከል ያለውን የ i2c ግንኙነት የሚያመቻቹ ተግባሮችን ይ containsል።

ጠቅላላው ቅንጣት ኮድ ለተጠቃሚው ምቾት ከዚህ በታች ተሰጥቷል-

#ያካትቱ

#ያካትቱ

// H3LIS331DL I2C አድራሻ 0x18 (24) ነው

#መግለፅ Addr 0x18

int xAccl = 0 ፣ yAccl = 0 ፣ zAccl = 0;

ባዶነት ማዋቀር ()

{

// ተለዋዋጭ አዘጋጅ

ቅንጣት። ተለዋዋጭ (“i2cdevice” ፣ “H3LIS331DL”);

ቅንጣት። ተለዋዋጭ (“xAccl” ፣ xAccl);

ቅንጣት። ተለዋዋጭ (“yAccl” ፣ yAccl);

ቅንጣት። ተለዋዋጭ (“zAccl” ፣ zAccl);

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

Wire.begin ();

// ተከታታይ ግንኙነትን ያስጀምሩ ፣ የባውድ መጠን = 9600 ያዘጋጁ

Serial.begin (9600);

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

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

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

Wire.write (0x20);

// X ፣ Y ፣ Z ዘንግ ፣ ሞድ ላይ ኃይል ፣ የውሂብ ውፅዓት መጠን 50Hz ያንቁ

Wire.write (0x27);

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

Wire.endTransmission ();

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

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

// የቁጥጥር መዝገብ ይምረጡ 4

Wire.write (0x23);

// ሙሉ ልኬት ያዘጋጁ ፣ +/- 100 ግ ፣ ቀጣይነት ያለው ዝመና

Wire.write (0x00);

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

Wire.endTransmission ();

መዘግየት (300);

}

ባዶነት loop ()

{

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

ለ (int i = 0; i <6; i ++)

{

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

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

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

Wire.write ((40 + i));

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

Wire.endTransmission ();

// የውሂብ 1 ባይት ይጠይቁ

Wire.requestFrom (Addr, 1);

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

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

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

{

ውሂብ = Wire.read ();

}

መዘግየት (300);

}

// ውሂቡን ይለውጡ

int xAccl = ((ውሂብ [1] * 256) + ውሂብ [0]);

ከሆነ (xAccl> 32767)

{

xAccl -= 65536;

}

int yAccl = ((ውሂብ [3] * 256) + ውሂብ [2]);

ከሆነ (yAccl> 32767)

{

yAccl -= 65536;

}

int zAccl = ((ውሂብ [5] * 256) + ውሂብ [4]);

ከሆነ (zAccl> 32767)

{

zAccl -= 65536;

}

// የውሂብ ውፅዓት ወደ ዳሽቦርድ

Particle.publish ("በ X-Axis ውስጥ ማፋጠን:", String (xAccl));

Particle.publish ("Y-Axis ውስጥ ማፋጠን:", String (yAccl));

Particle.publish ("በዜክስ-አክሲዮን ውስጥ ማፋጠን:", String (zAccl));

መዘግየት (300);

}

የ Particle.variable () ተግባር የአነፍናፊውን ውጤት ለማከማቸት ተለዋዋጮችን ይፈጥራል እና የ Particle.publish () ተግባር ውጤቱን በጣቢያው ዳሽቦርድ ላይ ያሳያል።

ለማጣቀሻዎ አነፍናፊ ውፅዓት ከላይ ባለው ስዕል ላይ ይታያል።

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

ማመልከቻዎች
ማመልከቻዎች

እንደ H3LIS331DL ያሉ የፍጥነት መለኪያዎች በአብዛኛው ትግበራውን በጨዋታዎቹ ውስጥ ያገኛሉ እና የመገለጫ መቀየሪያን ያሳያሉ። ይህ አነፍናፊ ሞጁል ለሞባይል አፕሊኬሽኖች በተራቀቀ የኃይል አስተዳደር ስርዓት ውስጥም ይሠራል። H3LIS331DL ብልህ በሆነ ቺፕ እንቅስቃሴ ከተቋረጠ ተቆጣጣሪ ጋር የተካተተ ባለሶስትዮሽ ዲጂታል የፍጥነት ዳሳሽ ነው።

የሚመከር: