ARDUINO-lgoo

ARDUINO GY87 Sketsa Test Sensor Gabungan

ARDUINO-GY87-Gabungan-Sensor-Tes-Sketsa-produk

Pambuka

Yen sampeyan seneng banget nggawe utawa penggemar robotika, sampeyan wis nemokake modul cilik nanging kuat iki. Modul GY-085 IMU minangka cara sing apik kanggo nambah sensing gerakan menyang proyek sampeyan, kayata robot imbangan dhewe utawa quadcopter.
Nanging sadurunge sampeyan bisa miwiti nyobi modul GY-87 IMU, sampeyan kudu ngerti carane antarmuka karo Papan Arduino. Ing kono blog iki mlebu! Ing paragraf ing ngisor iki, kita bakal nutupi dhasar modul GY-87 IMU, carane nyetel, lan carane nulis kode Arduino kanggo maca data sensor. Kita uga bakal menehi sawetara tips lan sumber daya kanggo ngatasi masalah umum.
Dadi, yen sampeyan siyap miwiti, ayo nyilem lan sinau babagan antarmuka modul GY-87 IMU karo Arduino!

Apa GY-87 IMU MPU6050

Modul unit pengukuran inersia (IMU) kaya GY-87 nggabungake akeh sensor dadi siji paket, kayata accelerometer/gyroscope MPU6050, magnetometer HMC5883L, lan sensor tekanan barometrik BMP085. Mula, GY-87 IMU MPU6050 minangka modul pelacak gerakan 9-sumbu kabeh sing nggabungake giroskop sumbu 3, akselerometer sumbu 3, magnetometer sumbu 3, lan prosesor gerakan digital. Iki digunakake akeh ing proyek robot, kayata quadcopter lan kendaraan udara tanpa awak liyane (UAV), amarga bisa ngukur lan nglacak orientasi lan gerakan kanthi akurat. Iki uga digunakake ing aplikasi liyane, kayata navigasi, game, lan kasunyatan virtual.

Komponen Hardware

Sampeyan mbutuhake hardware ing ngisor iki kanggo Interfacing GY-87 IMU MPU6050 HMC5883L BMP085 Modul karo Arduino.

Komponen Nilai Qty
Arduino UNO Kab 1
MPU6050 Modul Sensor GY-87 1
Papan roti 1
Kabel Jumper Kab 1

GY-87 karo Arduino 

Saiki sampeyan wis ngerti GY-87, wektune kanggo antarmuka karo Arduino. Kanggo nindakake, tindakake Saiki sing wis ngerti GY-87, iku wektu kanggo antarmuka karo Arduino. Kanggo nindakake iku, tindakake

Skematis

Nggawe sambungan miturut diagram sirkuit sing diwenehi ing ngisor iki

GY-87 IMU MPU6050 HMC5883L BMP085 ArduinoARDUINO-GY87-Gabungan-Sensor-Tes-Sketsa-gambar 1Wiring / Sambungan

Arduino Sensor MPU6050
5V VCC
GND GND
A4 SDA
A5 SCA

Nginstal Arduino IDE 

Pisanan, sampeyan kudu nginstal Arduino IDE Software saka resmi websitus Arduino. Iki minangka pandhuan langkah-langkah prasaja babagan "Cara nginstal Arduino IDE."

Nginstal Pustaka 

Sadurunge miwiti ngunggah kode, download lan unzip perpustakaan ing ngisor iki ing /Program Files (x86) / Arduino / Pustaka (standar) kanggo nggunakake sensor karo Papan Arduino. Iki minangka pandhuan langkah-langkah sing gampang babagan "Cara Nambah Pustaka ing Arduino IDE."

  • MPU6050
  • Adafruit_BMP085
  • HMC5883L_Simple

Kode 

Saiki salin kode ing ngisor iki lan upload menyang Arduino IDE Software.

#include “I2Cdev.h” #include “MPU6050.h” #include #kalebu MPU085 accelgyro; Adafruit_BMP5883 bmp; HMC6050L_Kompas Sederhana; int085_t ax, ay, az; int5883_t gx, gy, gz; #define LED_PIN 16 bool blinkState = palsu; void setup() {Serial.begin(16); Wire.begin(); // initialize devices Serial.println("Initializing piranti I13C..."); // initialize bmp9600 yen (! bmp.begin ()) { Serial.println ("Ora bisa nemokake sensor BMP2 sing bener, priksa (! bmp.begin ()) { Serial.println ("Ora bisa nemokake sensor BMP085 sing bener, mriksa Serial.println(accelgyro.testConnection() ? "Sambungan MPU085 sukses" : "Sambungan MPU085 gagal");accelgyro.setI6050CBypassEnabled(true); // nyetel mode bypass kanggo gateway menyang hmc6050L // nginisialisasi hmc2l Compass.SetDeclination(5883.SetDeclination.SetDeclination. 5883, 'E'); Kompas.SetSamplingMode(COMPASS_SINGLE);
Compass.SetScale(COMPASS_SCALE_130);
Compass.SetOrientation(COMPASS_HORIZONTAL_X_NORTH); // ngatur Arduino LED kanggo mriksa kegiatan pinMode (LED_PIN, OUTPUT); } void loop() {
Serial.print(“Suhu = “); Serial.print(bmp.readTemperature());
Serial.println("*C"); Serial.print(“Tekanan = “);
Serial.print(bmp.readPressure()); Serial.println("Pa"); // Hitung altitude assuming 'standar' barometric // tekanan 1013.25 millibar = 101325 Pascal Serial.print("Altitude = "); Serial.print(bmp.readAltitude()); Serial.println("meter"); Serial.print("Tekanan ing permukaan laut (dihitung) = ");
Serial.print(bmp.readSealevelPressure()); Serial.println("Pa");
Serial.print("Ketinggian Nyata = "); Serial.print(bmp.readAltitude(101500));
Serial.println("meter"); // maca pangukuran accel / gyro mentah saka piranti accelgyro.getMotion6 (& ax, & ay, & az, & gx, & gy, & gz); // tampilan tab-dipisahake accel / gyro x / y / z nilai Serial.print ("a / g: \ t"); Serial.print(kapak);
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); judhul float =
Compass.GetHeadingDegrees(); Serial.print("Heading: \t"); Serial.println(heading); // blink LED kanggo nunjukaké aktivitas blinkState = !blinkState;
digitalWrite(PIN_LED, blinkState); tundha (500); }

Ayo Tes 

Sawise sampeyan upload kode, iku wektu kanggo nyoba sirkuit! Kode ing program Arduino antarmuka karo sensor nggunakake perpustakaan, sing ngidini kanggo maca data sensor lan nyetel macem-macem konfigurasi saka sensor. Banjur prints metu data sensor liwat port serial. LED digunakake kanggo nuduhake yen sirkuit nindakake soko. Iki tegese LED blinks saben-saben fungsi daur ulang mbukak, nuduhake yen kode aktif maca nilai sensor.

Panjelasan Kerja 

Kode kasebut minangka perkara utama sing digunakake ing sirkuit kasebut. Dadi, ayo ngerti kode kasebut:.

  • Pisanan, kalebu sawetara perpustakaan kanggo antarmuka karo sensor:
  • "I2Cdev.h" lan "MPU6050.h" minangka perpustakaan kanggo sensor accelerometer/gyroscope MPU6050 6-axis
  • "Adafruit_BMP085.h" minangka perpustakaan kanggo sensor tekanan barometrik BMP085.
  • "HMC5883L_Simple.h" minangka perpustakaan kanggo sensor magnetometer HMC5883L.
  • Banjur nggawe obyek global kanggo telung sensor: MPU6050 accelgyro, Adafruit_BMP085 bmp, lan HMC5883L_Simple Compass.
  • Sabanjure, nemtokake sawetara variabel kanggo nyimpen nilai sensor, kayata kapak, ay, lan az kanggo akselerometer MPU6050 lan kanggo magnetometer HMC5883L. Lan nemtokake konstanta LED_PIN lan variabel blinkState.
  • Fungsi persiyapan () miwiti komunikasi serial lan wiwit komunikasi I2C. Banjur miwiti telung sensor:
  • Sensor BMP085 diinisialisasi kanthi nelpon metode wiwitan (). Yen iki bali palsu, nuduhake yen sensor ora bisa ketemu, program lumebu ing daur ulang tanpa wates lan prints pesen kesalahan liwat port serial.
  • Sensor MPU6050 wis initialized dening nelpon cara initialize () lan mriksa apa iku bisa digunakake kanthi bener. Lan nyetel I2C lulus aktif kanggo MPU6050.
  • Sensor HMC5883L diwiwiti kanthi nelpon sawetara fungsi, kayata SetDeclination, SetSamplingMode, SetScale, lan SetOrientation, kanggo nyetel konfigurasi sing beda kanggo sensor.
  • Ing fungsi daur ulang (), kode maca data saka telung sensor lan prints metu liwat port serial:
  • Iki maca suhu, tekanan, ketinggian, lan tekanan ing permukaan laut saka sensor.
  • Iki maca pangukuran akselerasi mentah lan giroskop saka sensor MPU6050.
  • Iki maca judhul saka sensor HMC5883L, yaiku sudut antarane arah sing dituju sensor lan arah ing sisih lor magnetik.
  • Pungkasan, LED kelip-kelip kanggo nuduhake kegiatan lan ngenteni sedhela sadurunge maca maneh sensor.

Dokumen / Sumber Daya

ARDUINO GY87 Sketsa Test Sensor Gabungan [pdf] Manual pangguna
GY87 Sketsa Tes Sensor Gabungan, GY87, Sketsa Tes Sensor Gabungan, Sketsa Tes Sensor, Sketsa Tes

Referensi

Ninggalake komentar

Alamat email sampeyan ora bakal diterbitake. Kolom sing dibutuhake ditandhani *