ዝርዝር ሁኔታ:

HMC5883 እና Raspberry Pi: 4 ደረጃዎች በመጠቀም መግነጢሳዊ መስክ ልኬት
HMC5883 እና Raspberry Pi: 4 ደረጃዎች በመጠቀም መግነጢሳዊ መስክ ልኬት

ቪዲዮ: HMC5883 እና Raspberry Pi: 4 ደረጃዎች በመጠቀም መግነጢሳዊ መስክ ልኬት

ቪዲዮ: HMC5883 እና Raspberry Pi: 4 ደረጃዎች በመጠቀም መግነጢሳዊ መስክ ልኬት
ቪዲዮ: BTT Octopus V1.1 - FluiddPi and Klipper Firmware Install 2024, ሀምሌ
Anonim
Image
Image

HMC5883 ለዝቅተኛ መስክ መግነጢሳዊ ዳሳሽ የተነደፈ ዲጂታል ኮምፓስ ነው። ይህ መሣሪያ ሰፊ የመግነጢሳዊ መስክ ክልል +/- 8 Oe እና የውጤት መጠን 160 Hz አለው። የ HMC5883 አነፍናፊ ከ 1 ° እስከ 2 ° ኮምፓስ አቅጣጫ ትክክለኛነትን የሚያነቃ አውቶማቲክ የማራገፊያ ማንጠልጠያ ነጂዎችን ፣ የማካካሻ ስረዛን እና 12 ቢት ኤዲሲን ያካትታል። ሁሉም I²C Mini ሞጁሎች በ 5 ቪዲሲ እንዲሠሩ የተቀየሱ ናቸው።

በዚህ መማሪያ ውስጥ የጃኤምኤን የፕሮግራም ቋንቋን በመጠቀም የ HMC5883 ን ዝርዝር ሥራ ከ Raspberry pi እና ከፕሮግራሞቹ ጋር እናብራራለን።

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

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

ተግባሩን ለመፈፀም የሚያስፈልገው ሃርድዌር እንደሚከተለው ነው

1. HMC5883

2. Raspberry Pi

3. I2C ኬብል

4. I2C ጋሻ ለ Raspberry Pi

5. የኤተርኔት ገመድ

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

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

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

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

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

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

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

ደረጃ 3 መግነጢሳዊ መስክ ጥንካሬን ለመለካት የጃቫ ኮድ

መግነጢሳዊ መስክ ጥንካሬን ለመለካት የጃቫ ኮድ
መግነጢሳዊ መስክ ጥንካሬን ለመለካት የጃቫ ኮድ
መግነጢሳዊ መስክ ጥንካሬን ለመለካት የጃቫ ኮድ
መግነጢሳዊ መስክ ጥንካሬን ለመለካት የጃቫ ኮድ

የራስበሪ ፒን የመጠቀም ጥቅሙ አነፍናፊውን ከእሱ ጋር ለማስተሳሰር የቦርዱን መርሃ ግብር የሚሹበትን የፕሮግራም ቋንቋ ተጣጣፊነት የሚሰጥዎት ነው። ይህንን ሰሌዳ ይህንን ጥቅም በመጠቀም በጃቫ ውስጥ ፕሮግራሙን እዚህ እያሳየን ነው። ለኤችኤምሲ5883 የጃቫ ኮድ Dcube መደብር ከሆነው ከ github ማህበረሰባችን ማውረድ ይችላል።

እንዲሁም ለተጠቃሚዎች ምቾት ፣ እኛ ኮዱን እዚህም እያብራራን ነው-

እንደ ኮድ የመጀመሪያ ደረጃ ፣ በጃቫ ውስጥ የ pi4j ቤተ -መጽሐፍትን ማውረድ ያስፈልግዎታል ፣ ምክንያቱም ይህ ቤተ -መጽሐፍት በኮዱ ውስጥ ጥቅም ላይ የዋሉትን ተግባራት ይደግፋል። ስለዚህ ቤተ -መጽሐፍቱን ለማውረድ የሚከተለውን አገናኝ መጎብኘት ይችላሉ-

pi4j.com/install.html

ለዚህ ዳሳሽ የሚሰራውን የጃቫ ኮድ ከዚህ መገልበጥ ይችላሉ-

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

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

mport com.pi4j.io.i2c. I2CFactory;

አስመጪ java.io. IOException; የህዝብ ክፍል HMC5883

{

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

{

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

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

// I2C መሣሪያን ያግኙ ፣ HMC5883 I2C አድራሻ 0x1E (30) ነው

I2CDevice device = Bus.getDevice (0x1E);

// የውቅረት መዝገብ ይምረጡ ሀ

// መደበኛ የመለኪያ ውቅር ፣ የውሂብ መጠን o/p = 0.75 Hz

መሣሪያ። ይፃፉ (0x00 ፣ (ባይት) 0x60);

// የሞድ ምዝገባን ይምረጡ

// የማያቋርጥ የመለኪያ ሁኔታ

መሣሪያ። ይፃፉ (0x02 ፣ (ባይት) 0x00);

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

// ከ 0x03 (3) 6 ባይት መረጃዎችን ያንብቡ

// xMag msb ፣ xMag lsb ፣ zMag msb ፣ zMag lsb ፣ yMag msb ፣ yMag lsb

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

የመሣሪያ ንባብ (0x03 ፣ ውሂብ ፣ 0 ፣ 6);

// ውሂቡን ይለውጡ

int xMag = ((ውሂብ [0] & 0xFF) * 256 + (ውሂብ [1] & 0xFF));

ከሆነ (xMag> 32767)

{

xMag -= 65536;

}

int zMag = ((ውሂብ [2] & 0xFF) * 256 + (ውሂብ [3] & 0xFF));

ከሆነ (zMag> 32767)

{

zMag -= 65536;

}

int yMag = ((ውሂብ [4] & 0xFF) * 256 + (ውሂብ [5] & 0xFF));

ከሆነ (yMag> 32767)

{

yMag -= 65536;

}

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

System.out.printf ("በ X-Axis ውስጥ መግነጢሳዊ መስክ %d %n", xMag);

System.out.printf ("መግነጢሳዊ መስክ በ Y-Axis: %d %n", yMag);

System.out.printf ("መግነጢሳዊ መስክ በ Z-Axis: %d %n", zMag);

}

}

ይፃፉ () እና ያንብቡ () ተግባራት ትዕዛዞቹን ለመፃፍ እና የአነፍናፊውን ውጤት በቅደም ተከተል ለማንበብ ያገለግላሉ። የሚከተለው ክፍል መግነጢሳዊ መስክ እሴቶችን ማንበብ ያሳያል።

// ከ 0x03 (3) 6 ባይት መረጃዎችን ያንብቡ

// xMag msb ፣ xMag lsb ፣ zMag msb ፣ zMag lsb ፣ yMag msb ፣ yMag lsb

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

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

ውጤቱም ከላይ በስዕሉ ላይ ይታያል።

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

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

HMC5883 እንደ ዝቅተኛ ወጭ ኮምፓስ እና ማግኔቶሜትሪ ላሉት መተግበሪያዎች በዲጂታል በይነገጽ ለዝቅተኛ መስክ መግነጢሳዊ ዳሰሳ የተነደፈ ወለል-ተራራ ፣ ባለብዙ ቺፕ ሞዱል ነው። የእሱ ከአንድ እስከ ሁለት ዲግሪ ከፍተኛ ደረጃ ትክክለኛነት እና ትክክለኛነት የእግረኞች አሰሳ እና የ LBS ትግበራዎችን ያስችላል።

የሚመከር: