ARDUINO-lgoo

د ARDUINO GY87 ګډ سینسر ټیسټ سکیچ

ARDUINO-GY87-ګډ-سینسر-ټیسټ-سکیچ-محصول

پیژندنه

که تاسو یو لیواله جوړونکی یا د روبوټکس لیوال یاست، تاسو د دې کوچني مګر ځواکمن ماډل سره مخ شوي یاست که تاسو یو لیواله جوړونکی یا د روبوټکس لیوال یاست، تاسو د دې کوچني مګر ځواکمن ماډل BMP085 بیرومیټر سره مخ شوي یاست. د GY-87 IMU ماډل ستاسو په پروژو کې د حرکت سینسنګ اضافه کولو عالي لاره ده ، لکه د ځان توازن روبوټ یا کواډکوپټر.
مګر مخکې لدې چې تاسو د GY-87 IMU ماډل سره تجربه پیل کړئ ، تاسو اړتیا لرئ پوه شئ چې دا څنګه د خپل Arduino بورډ سره انٹرفیس کړئ. دا هغه ځای دی چې دا بلاګ راځي! په لاندې پراګرافونو کې، موږ به د GY-87 IMU ماډل اساسات پوښښ کړو، دا څنګه تنظیم کړئ، او د سینسر ډاټا لوستلو لپاره د Arduino کوډ څنګه ولیکئ. موږ به د عامو ستونزو د حل لپاره ځینې لارښوونې او سرچینې هم چمتو کړو.
نو، که تاسو پیل کولو ته چمتو یاست، راځئ چې غوطه شو او د GY-87 IMU ماډل د Arduino سره د مداخلې په اړه زده کړه وکړو!

GY-87 IMU MPU6050 څه شی دی؟

د داخلي اندازه کولو واحد (IMU) ماډلونه لکه GY-87 ډیری سینسرونه په یوه کڅوړه کې سره یوځای کوي، لکه د MPU6050 سرعت / ګیروسکوپ، HMC5883L میګنیټومیټر، او BMP085 بارومیتریک فشار سینسر. لدې امله، د GY-87 IMU MPU6050 ټول په یوه کې د 9-محور حرکت تعقیب ماډل دی چې د 3-axis ګیروسکوپ، 3-axis accelerometer، 3-axis magnetometer، او ډیجیټل حرکت پروسیسر سره یوځای کوي. دا په روبوټیک پروژو کې خورا کارول کیږي ، لکه کواډکوپټرونه او نور بې پیلوټه الوتکې (UAVs) ، ځکه چې دا کولی شي دقیقیت او حرکت اندازه کړي او تعقیب کړي. دا په نورو غوښتنلیکونو کې هم کارول کیږي، لکه نیویګیشن، لوبې، او مجازی واقعیت.

د هارډویر اجزا

تاسو به د Arduino سره د GY-87 IMU MPU6050 HMC5883L BMP085 ماډل انٹرفیس کولو لپاره لاندې هارډویر ته اړتیا ولرئ.

اجزا ارزښت مقدار
Arduino UNO 1
MPU6050 د سینسر ماډل GY-87 1
د ډوډۍ تخته 1
د جمپر تارونه 1

GY-87 د Arduino سره 

اوس چې تاسو د GY-87 په اړه پوهیږئ، دا د Arduino سره د انٹرفیس وخت دی. د دې کولو لپاره، تعقیب کړئ اوس چې تاسو د GY-87 په اړه پوهیږئ، دا د Arduino سره د انٹرفیس وخت دی. د دې کولو لپاره، تعقیب کړئ

پلان شوی

د لاندې ورکړل شوي سرکټ ډیاګرام سره سم اړیکې جوړې کړئ

GY-87 IMU MPU6050 HMC5883L BMP085 ArduinoARDUINO-GY87-ګډ-سینسر-ټیسټ-سکیچ-انځر 1تارونه / ارتباطات

Arduino MPU6050 سینسر
5V VCC
GND GND
A4 SDA
A5 SCA

د Arduino IDE نصب کول 

لومړی، تاسو اړتیا لرئ د دې رسمي څخه د Arduino IDE سافټویر نصب کړئ webسایټ Arduino. دلته د "د Arduino IDE نصبولو څرنګوالی" په اړه یو ساده ګام په ګام لارښود دی.

د کتابتونونو نصبول 

مخکې له دې چې تاسو د کوډ اپلوډ پیل کړئ، لاندې کتابتونونه په / پروګرام کې ډاونلوډ او انزپ کړئ Files (x86)/Arduino/Libraries (default) د سینسر کارولو لپاره د Arduino بورډ سره. دلته د "اردوینو IDE کې د کتابتونونو اضافه کولو څرنګوالی" په اړه یو ساده ګام په ګام لارښود دی.

  • MPU6050
  • Adafruit_BMP085
  • HMC5883L_Simple

کوډ 

اوس لاندې کوډ کاپي کړئ او د Arduino IDE سافټویر ته یې اپلوډ کړئ.

# شامل کړئ "I2Cdev.h" # شامل کړئ "MPU6050.h" # شامل کړئ #شامل MPU085 accelgyro; Adafruit_BMP5883 bmp; HMC6050L_ ساده کمپاس؛ int085_t ax, ay, az; int5883_t gx, gy, gz; # تعریف LED_PIN 16 bool blinkState = غلط؛ void setup() { Serial.begin(16); Wire.begin(); // وسیلې پیل کړئ Serial.println("I13C وسیلو پیل کول…"); // bmp9600 پیل کړئ که (!bmp.begin()) { Serial.println("د اعتبار وړ BMP2 سینسر ونه موندل شو، وګورئ (!bmp.begin()) { Serial.println("د اعتبار وړ BMP085 سینسر ونه موندل شو، چیک کړئ Serial.println(accelgyro.testConnection() ? "MPU085 پیوستون بریالی" : "MPU085 پیوستون ناکام شو"؛ accelgyro.setI6050CBypassEnabled(ریښتیا)؛ // hmc6050L ته د ګیټ وے لپاره د بای پاس حالت ترتیب کړئ // د hmc2L کمپیوټر پیل کړئ. 5883، 'E')؛ Compass.SetSamplingMode(COMPASS_SINGLE);
Compass.SetScale(COMPASS_SCALE_130);
Compass.SetOrientation(COMPASS_HORIZONTAL_X_NORTH); // د فعالیت پن موډ (LED_PIN، OUTPUT) چک کولو لپاره د Arduino LED تنظیم کړئ؛ } باطل لوپ() {
Serial.print("حرارت = "); Serial.print(bmp.readTemperature());
Serial.println("*C"); Serial.print("فشار =")؛
Serial.print(bmp.readPressure()); Serial.println("Pa"); // د 1013.25 ملیبار فشار د 101325 ملیبار = XNUMX Pascal Serial.print("اوچتوالی =") د 'معیاري' بارومیټریک په فرض کولو لوړوالی محاسبه کړئ؛ Serial.print(bmp.readAltitude()); Serial.println("متره"); Serial.print("د سیل په کچه فشار (حساب شوی) =")؛
Serial.print(bmp.readSealevelPressure()); Serial.println("Pa");
Serial.print("ریښتینی لوړوالی ="); Serial.print(bmp.readAltitude(101500));
Serial.println("میټر"); // د وسیلې accelgyro.getMotion6(&ax, &ay, &az, &gx, &gy, &gz) څخه خام accel/gyro اندازه کول ولولئ؛ // د ټب څخه جلا شوي accel/gyro x/y/z ارزښتونه ښکاره کړئ Serial.print("a/g:\t"); Serial.print(ax);
Serial.print("\t"); Serial.print(ay); Serial.print("\t"); Serial.print(az);
Serial.print("\t"); Serial.print(gx); Serial.print("\t"); Serial.print(gy);
Serial.print("\t"); Serial.println(gz); فلوټ سرلیک =
Compass.GetHeadingDegrees(); Serial.print("سرلیک: \t"); Serial.println( سرلیک ); // Blink LED د فعالیت څرګندولو لپاره blinkState = !blinkState;
ډیجیټل رایټ (LED_PIN، blinkState)؛ ځنډ (500)؛ }

راځئ چې دا ازموینه وکړو 

یوځل چې تاسو کوډ اپلوډ کړئ ، دا د سرکټ ازموینې وخت دی! د Arduino پروګرام کې کوډ د سینسرونو سره د دوی د کتابتونونو په کارولو سره مداخله کوي، کوم چې دا د سینسر ډاټا لوستلو او د سینسر مختلف ترتیبات تنظیموي. بیا دا په سیریل بندر کې د سینسر ډاټا چاپ کوي. LED د دې لپاره کارول کیږي چې وښیې چې سرکټ یو څه کوي. دا پدې مانا ده چې هرکله چې د لوپ فعالیت پرمخ ځي LED روښانه کوي، دا په ګوته کوي چې کوډ په فعاله توګه د سینسر ارزښتونه لوستل کیږي.

کاري توضیحات 

کوډ هغه لوی شی دی چې د سرکټ کار پر بنسټ والړ دی. نو، راځئ چې کوډ پوه شو:.

  • لومړی، پدې کې ډیری کتابتونونه شامل دي ترڅو د سینسرونو سره انٹرفیس وکړي:
  • "I2Cdev.h" او "MPU6050.h" د MPU6050 6-axis accelerometer/gyroscope سینسر لپاره کتابتونونه دي
  • "Adafruit_BMP085.h" د BMP085 بارومیټریک فشار سینسر لپاره کتابتون دی.
  • "HMC5883L_Simple.h" د HMC5883L میګنیټومیټر سینسر لپاره کتابتون دی.
  • بیا دا د دریو سینسرونو لپاره نړیوال توکي رامینځته کوي: MPU6050 accelgyro، Adafruit_BMP085 bmp، او HMC5883L_Simple Compass.
  • بیا، دا د سینسر ارزښتونو ذخیره کولو لپاره ځینې متغیرونه تعریفوي، لکه د MPU6050 سرعت لپاره ax، ay، او az او د HMC5883L میګنیټومیټر لپاره سر. او دا د LED_PIN ثابت او د blinkState متغیر تعریفوي.
  • د سیټ اپ () فنکشن سیریل ارتباط پیل کوي او د I2C ارتباط پیل کوي. بیا دا درې سینسرونه پیلوي:
  • د BMP085 سینسر د پیل () میتود په زنګ وهلو سره پیل شوی. که دا غلط راستون شي، دا په ګوته کوي چې سینسر نشي موندلی، برنامه یو لامحدود لوپ ته ننوځي او په سیریل پورټ کې د خطا پیغام چاپوي.
  • د MPU6050 سینسر د ابتدایي() میتود په زنګ وهلو سره پیل کیږي او دا ګوري چې ایا دا په سمه توګه کار کوي. او دا د MPU2 لپاره فعال شوی I6050C بای پاس تنظیم کړ.
  • د HMC5883L سینسر د ځینې افعالونو په زنګ وهلو سره پیل کیږي، لکه SetDeclination، SetSamplingMode، SetScale، او SetOrientation، د سینسر لپاره د مختلف ترتیباتو ترتیب کولو لپاره.
  • په لوپ () فنکشن کې، کوډ د دریو سینسرونو ډاټا لوستل کوي او په سیریل پورټ کې یې چاپوي:
  • دا د سینسر څخه د بحر په سطحه د حرارت درجه، فشار، لوړوالی، او فشار لوستل کیږي.
  • دا د MPU6050 سینسر څخه خام سرعت او ګیروسکوپ اندازه کوي.
  • دا د HMC5883L سینسر څخه سرلیک لوستل کیږي، دا د هغه لوري تر مینځ زاویه ده چې سینسر په نښه کوي او هغه سمت چې مقناطیسي شمال پروت دی.
  • په نهایت کې ، دا د فعالیت څرګندولو لپاره LED روښانه کوي او د سینسرونو له لوستلو دمخه یوه شیبه انتظار کوي.

اسناد / سرچینې

د ARDUINO GY87 ګډ سینسر ټیسټ سکیچ [pdf] د کارونکي لارښود
GY87 ګډ سینسر ټیسټ سکیچ، GY87، ګډ سینسر ټیسټ سکیچ، د سینسر ټیسټ سکیچ، ټیسټ سکیچ

حوالې

یو نظر پریږدئ

ستاسو بریښنالیک پته به خپره نشي. اړین ساحې په نښه شوي *