ዝርዝር ሁኔታ:
ቪዲዮ: የአርዱዲኖ ዲጂታል ኮምፓስ ፕሮጀክት 3 ደረጃዎች
2024 ደራሲ ደራሲ: John Day | [email protected]. ለመጨረሻ ጊዜ የተሻሻለው: 2024-01-30 07:32
ሰላም! በዚህ አስተማሪ ውስጥ አርዱዲኖን እና የሂደቱን አይዲኢ በመጠቀም እንዴት ዲጂታል ኮምፓስ ማድረግ እንደሚችሉ ያያሉ። ይህ በጣም ቀላል ግን አስደሳች እና አሪፍ የሚመስል የአርዱዲኖ ፕሮጀክት ነው።
ከላይ ባለው ቪዲዮ ላይ የዚህን ትምህርት ማሳያ ምሳሌ ማየት ይችላሉ። በ YouTube ጣቢያዬ ላይ እንደዚህ ያሉ የበለጠ አስደሳች ቪዲዮዎችን ሁል ጊዜ ማግኘት ይችላሉ እንዲሁም ብዙ የኤሌክትሮኒክስ ፕሮጄክቶችን እና ትምህርቶችን በድር ጣቢያዬ ፣ HowToMechatronics.com ላይ ማግኘት ይችላሉ።
ደረጃ 1: ክፍሎች ያስፈልጋሉ
ለዚህ ፕሮጀክት የምድር መግነጢሳዊ መስክን ለመለካት የአርዱዲኖ ቦርድ እና የ MEMS ማግኔትሜትር ብቻ ያስፈልግዎታል። MC5883L 3 - Axis Magnetometer የያዘውን GY - 80 breakout board እጠቀማለሁ።
ለፕሮጀክቱ የምንጭ ኮድ ከመቀጠላችን በፊት የ MEMS ማግኔቶሜትር እንዴት እንደሚሠራ እንዲሁም GY - 80 የመለያ ሰሌዳ በ I2C ግንኙነት በኩል እንዴት እንደሚገናኝ እና እንደሚጠቀም ተጨማሪ ዝርዝሮችን ከፈለጉ ለዚያ የእኔን ልዩ ትምህርቶች መመርመር ይችላሉ።
ደረጃ 2 - የአርዱዲኖ ምንጭ ኮድ
መጀመሪያ ማድረግ ያለብን መረጃውን ከማግኔትቶሜትር የሚያነብ እና ወደ ፕሮሰሲንግ አይዲ (IDE) ይልካል ወደ አርዱinoኖ ቦርድ ስዕል መስቀል ነው። የአርዱዲኖ ምንጭ ኮድ እዚህ አለ
/ * Arduino Compass * * በ Dejan Nedelkovski ፣ * www. HowToMechatronics.com * */
#ያካትቱ // I2C Arduino Library
#መግነጢሳዊው_mX0 0x03
#መግነጢሳዊ_mX1 0x04 #መግነጢሳዊ_mZ0 0x05 #መግነጢሳዊ_mZ1 0x06 #መግነጢሳዊ_mY0 0x07 #መግነጢሳዊ_mY1 0x08
int mX0 ፣ mX1 ፣ mX_out;
int mY0 ፣ mY1 ፣ mY_out; int mZ0 ፣ mZ1 ፣ mZ_out;
ተንሳፋፊ ርዕስ ፣ ርዕስ ዲግሪዎች ፣ ርዕስ ማጣራት ፣ መቀነስ
ተንሳፈፈ ኤክስ ፣ ኢም ፣ ዚም;
#መግለፅ መግነጢሳዊ 0x1E // I2C 7bit አድራሻ የ HMC5883
ባዶነት ማዋቀር () {
// ተከታታይ እና የ I2C ግንኙነቶችን Serial.begin (115200) ያስጀምሩ። Wire.begin (); መዘግየት (100); Wire.begin ማስተላለፊያ (ማግኔትሜትር); Wire.write (0x02); // ሞድ ምዝግብ ይምረጡ Wire.write (0x00); // ቀጣይ የመለኪያ ሁኔታ Wire.endTransmission (); }
ባዶነት loop () {
// ---- X-Axis Wire.begin ማስተላለፊያ (ማግኔትሜትር); // ወደ መሣሪያ Wire.write (Magnetometer_mX1) ያስተላልፉ ፤ Wire.endTransmission (); Wire.requestFrom (Magnetometer, 1); ከሆነ (Wire.available () <= 1) {mX0 = Wire.read (); } Wire.begin ማስተላለፊያ (ማግኔትሜትር); // ወደ መሣሪያ Wire.write (Magnetometer_mX0) ያስተላልፉ ፤ Wire.endTransmission (); Wire.requestFrom (Magnetometer, 1); ከሆነ (Wire.available () <= 1) {mX1 = Wire.read (); }
// ---- Y-Axis
Wire.begin ማስተላለፊያ (ማግኔትሜትር); // ወደ መሣሪያ Wire.write (Magnetometer_mY1) ያስተላልፉ ፤ Wire.endTransmission (); Wire.requestFrom (Magnetometer, 1); ከሆነ (Wire.available () <= 1) {mY0 = Wire.read (); } Wire.begin ማስተላለፊያ (ማግኔትሜትር); // ወደ መሣሪያ Wire.write (Magnetometer_mY0) ያስተላልፉ ፤ Wire.endTransmission (); Wire.requestFrom (Magnetometer, 1); ከሆነ (Wire.available () <= 1) {mY1 = Wire.read (); } // ---- Z-Axis Wire.begin ማስተላለፊያ (ማግኔትሜትር); // ወደ መሣሪያ Wire.write (Magnetometer_mZ1) ያስተላልፉ ፤ Wire.endTransmission (); Wire.requestFrom (Magnetometer, 1); ከሆነ (Wire.available () <= 1) {mZ0 = Wire.read (); } Wire.begin ማስተላለፊያ (ማግኔትሜትር); // ወደ መሣሪያ Wire.write (Magnetometer_mZ0) ያስተላልፉ ፤ Wire.endTransmission (); Wire.requestFrom (Magnetometer, 1); ከሆነ (Wire.available () <= 1) {mZ1 = Wire.read (); } // ---- X-Axis mX1 = mX1 << 8; mX_out = mX0+mX1; // ጥሬ ውሂብ // ከውሂብ ሉህ 0.92 mG/አሃዝ Xm = mX_out*0.00092; // የ Gauss አሃድ //* የምድር መግነጢሳዊ መስክ ከ 0.25 እስከ 0.65 ጋውስ ይደርሳል ፣ ስለዚህ እነዚህ በግምት ማግኘት ያለብን እሴቶች ናቸው።
// ---- Y-Axis
mY1 = mY1 << 8; mY_out = mY0+mY1; Ym = mY_out*0.00092;
// ---- ዘ-አክሲዮን
mZ1 = mZ1 <0.073 rad declination = 0.073; ርዕስ += መቀነስ; // (ርዕስ <0) ርዕስ += 2*PI ከሆነ ምልክቶች በሚከበሩበት ጊዜ ማረም።
// የመቀነስ አንግል በመጨመር ምክንያት ማረም
ከሆነ (ርዕስ> 2*PI) ርዕስ -= 2*PI;
titleDegrees = ርዕስ * 180/PI; // በዲግሪዎች ክፍል ውስጥ ያለው ርዕስ
// የውጤቱን ማእዘን / ዝቅተኛ ማለፊያ ማጣሪያን ማለስለስ
ርዕስFiltered = ርዕስFiltered*0.85 + ርዕስ ደረጃዎች*0.15;
// የርዕስ እሴቱን በ Serial Port በኩል ወደ IDE ማቀናበር
Serial.println (ርዕስ ተጣራ);
መዘግየት (50); }
ደረጃ 3 ፦ የ IDE ምንጭ ኮድ ማስኬድ
ቀዳሚውን የአርዲኖን ንድፍ ከሰቀልን በኋላ ውሂቡን ወደ ማቀነባበሪያ IDE መቀበል እና ዲጂታል ኮምፓስን መሳል አለብን። ኮምፓሱ የጀርባ ምስል ፣ የቀስት ቋሚ ምስል እና የኮምፓሱ አካል የሚሽከረከር ምስል የተዋቀረ ነው። ስለዚህ ከአርዱዲኖ ጋር የተሰላው የምድር መግነጢሳዊ መስክ እሴቶች ኮምፓሱን ለማሽከርከር ያገለግላሉ።
የሂደቱ IDE ምንጭ ኮድ እዚህ አለ -
/ * Arduino Compass * * በ Dejan Nedelkovski ፣ * www. HowToMechatronics.com * */ import processing.serial. *; አስመጪ java.awt.event. KeyEvent; ማስመጣት java.io. IOException;
ተከታታይ myPort;
PImage imgCompass; PImage imgCompassArrow; የፎቶግራፍ ዳራ;
ሕብረቁምፊ ውሂብ = "";
ተንሳፋፊ ርዕስ;
ባዶነት ማዋቀር () {
መጠን (1920 ፣ 1080 ፣ P3D); ለስላሳ (); imgCompass = loadImage ("Compass.png"); imgCompassArrow = loadImage ("CompassArrow.png"); ዳራ = loadImage ("Background.png"); myPort = አዲስ ተከታታይ (ይህ ፣ “COM4” ፣ 115200); // ተከታታይ ግንኙነቱን ይጀምራል myPort.bufferUntil ('\ n'); }
ባዶ ባዶ ()
ምስል (ዳራ ፣ 0 ፣ 0); // የበስተጀርባውን ምስል ይጭናል ማትሪክስ (); መተርጎም (ስፋት/2 ፣ ቁመት/2 ፣ 0); // ማዞሪያው በማዕከሉ rotateZ (ራዲያን (ራስጌ)) ውስጥ በትክክል እንዲከሰት የማስተባበር ስርዓቱን በማያ ገጹ መሃል ላይ ይተረጉመዋል ፤ // ኮምፓሱን በ Z -Axis ምስል (imgCompass ፣ -960 ፣ -540) ዙሪያ ያሽከረክራል ፤ // የኮምፓሱን ምስል ይጭናል እና አስተባባሪ ስርዓቱ ወደ ሌላ ቦታ ሲዛወር ምስሉን በ -960x ፣ -540y (ግማሽ ማያ መጠን) ፖፕ ማትሪክስ () ማዘጋጀት ያስፈልገናል። // የአስተባባሪ ስርዓት ያመጣል ወደ መጀመሪያው ቦታ 0 ፣ 0 ፣ 0 ምስል (imgCompassArrow ፣ 0 ፣ 0)። // በፖፕ ማትሪክስ () ተግባር ጽሑፍ መጠን (30) ምክንያት በ rotateZ () ተግባር የማይጎዳውን የ CompassArrow ምስል ይጭናል። ጽሑፍ ("ርዕስ:" + ርዕስ ፣ 40 ፣ 40); // በማያ ገጹ ላይ ያለውን የርዕስ እሴት ያትማል
መዘግየት (40);
}
// መረጃን ከሲሪያል ወደብ ማንበብ ይጀምራል
ባዶነት serialEvent (Serial myPort) {data = myPort.readStringUntil ('\ n') ፤ // ውሂቡን ከሴሪያል ወደብ ያነብና ወደ ሕብረቁምፊው ተለዋዋጭ "ውሂብ" ውስጥ ያስቀምጠዋል። ርዕስ = ተንሳፋፊ (መረጃ); // የሕብረቁምፊውን እሴት ወደ ተንሳፋፊ እሴት መለወጥ}
ይህንን ፕሮጀክት እንደወደዱት ተስፋ አደርጋለሁ። እንደዚያ ከሆነ ለተጨማሪ አሪፍ ፕሮጄክቶች የእኔን ድር ጣቢያ መጎብኘት ይችላሉ።
የሚመከር:
ዲጂታል ኮምፓስ እና ራስጌ ፈላጊ 6 ደረጃዎች
ዲጂታል ኮምፓስ እና ራስጌ ፈላጊ-ደራሲዎች-ኩላን ዊላን አንድሪው ሉፍ ብሌክ ጆንሰን ምስጋናዎች-የካሊፎርኒያ የባህር ኃይል አካዳሚ ኢቫን ቻንግ-ሲው መግቢያ-የዚህ ፕሮጀክት መሠረት ከርዕስ መከታተያ ጋር ዲጂታል ኮምፓስ ነው። ይህ ተጠቃሚው በረጅም ርቀት ላይ ርዕስ እንዲከተል ያስችለዋል
Arduino እና HMC5883L Magnetometer ን በመጠቀም ዲጂታል ኮምፓስ 6 ደረጃዎች
አርዱዲኖ እና ኤችኤምሲ5883 ኤል ማግኔቶሜትር በመጠቀም ዲጂታል ኮምፓስ - ሠላም ሰዎች ፣ ይህ አነፍናፊ ጂኦግራፊያዊ ሰሜን ፣ ደቡብ ፣ ምስራቅ እና ምዕራብ ሊያመለክት ይችላል ፣ እኛ ሰዎች በሚፈልጉበት ጊዜም ልንጠቀምበት እንችላለን። ስለዚህ. በዚህ ጽሑፍ ውስጥ የማግኔትቶሜትር ዳሳሽ እንዴት እንደሚሠራ እና በማይክሮ መቆጣጠሪያ እንዴት እንደሚገናኝ ለመረዳት እንሞክር
የ GY511 ሞዱሉን ከአርዱዲኖ ጋር እንዴት መጠቀም እንደሚቻል [ዲጂታል ኮምፓስ ያድርጉ] 11 ደረጃዎች
የ GY511 ሞዱሉን ከአርዱዲኖ ጋር እንዴት መጠቀም እንደሚቻል [ዲጂታል ኮምፓስ ያድርጉ] አጠቃላይ እይታ በአንዳንድ የኤሌክትሮኒክስ ፕሮጀክቶች ውስጥ በማንኛውም ቅጽበት የጂኦግራፊያዊ ሥፍራውን ማወቅ እና በዚህ መሠረት የተወሰነ ክዋኔ ማድረግ አለብን። በዚህ መማሪያ ውስጥ ፣ ዲጂታል ኮምፓስ ለመሥራት የ LSM303DLHC GY-511 ኮምፓስ ሞዱሉን ከአርዱዲኖ ጋር እንዴት እንደሚጠቀሙ ይማራሉ
የማትሪክስ ቁልፍ ሰሌዳ በመጠቀም የአርዱዲኖ ዲጂታል ኮድ መቆለፊያ ፕሮጀክት 9 ደረጃዎች
የአርዲኖ ዲጂታል ኮድ መቆለፊያ ፕሮጀክት የማትሪክስ ቁልፍ ሰሌዳ በመጠቀም - ዚዮ ኤም ኡኖን እና ሄክስ 4x3 ማትሪክስ ቁልፍ ሰሌዳ በመጠቀም አርዱዲኖ እና ኪዊክ ሲስተም ያለው ዲጂታል ኮድ መቆለፊያ መሣሪያ ይገንቡ። የፕሮጀክት አጠቃላይ እይታ ለዚህ ፕሮጀክት ተጠቃሚዎች በቀላሉ ሊገቡበት እና ሊገቡበት የሚችሏቸው ቀላል የዲጂታል ኮድ መቆለፊያ እንገነባለን። ውስጥ። በዚህ መማሪያ ውስጥ ፣ አጠቃቀምን እናሳያለን
ዲጂታል ዳይስ - የአርዱዲኖ ፕሮጀክት። 4 ደረጃዎች
ዲጂታል ዳይስ - የአርዱዲኖ ፕሮጀክት። ሰዎች ጨዋታዎችን “ከፍተኛ ቴክኖሎጂ” ይወዳሉ። ለምሳሌ - በአገሬ ውስጥ “ሞኖፖሊ” የሚባል ጨዋታ አለ። በዚያ ጨዋታ ውስጥ አንድ ሰው በገንዘብ በመግዛት “ጎዳናዎችን” መሰብሰብ አለበት። ያ ጨዋታ በቅርቡ አንድ ሰው በወረቀት ሳይሆን በክሬዲት ሐ የማይከፍልበትን ስሪት አውጥቷል