I-MPU6050: imodyuli yokuma neArduino

Ibhodi ye-MPU6050

Ukuba ufuna ukwenza iprojekthi kwaye uyimise, oko kukuthi, yazi ibekwa njani ngokubhekisele kwisithuba, ungasebenzisa imodyuli MPU6050. Oko kukuthi, le modyuli yeyunithi yokulinganisa inertial okanye i-IMU (iYunithi yokulinganisa ukungafakwanga) eneedigri zenkululeko ezi-6 (DoF). Yiloo nto enkosi kwi-3-axis accelerometer yohlobo lwenzwa kunye ne-3-axis gyroscope ephumeza ukusebenza.

Le MPU6050 inokwazi ukuba into leyo ibekwe njani ukuze isetyenziswe kuyo izicelo ukuhamba, i-goniometry, ukuzinzisa, ukulawula isenzo, njl. Iifowuni eziphathwayo zihlala zibandakanya olu hlobo lwenzwa, umzekelo, ukulawula imisebenzi ethile ngokwenza izijekulo, njengokumisa ukuba i-smartphone ijikile, ukuqhuba izithuthi kwimidlalo yevidiyo ngokuguqula iselfowuni ngokungathi ivili lokuqhuba, njl.

Yintoni i-accelerometer kunye ne-gyroscope?

Imizekelo yeMEMS

Imizekelo yeMEMS

Ewe, masihambe ngeenxalenye. Into yokuqala kukubona ukuba zeziphi ezi ntlobo zeenzwa zezi bayakwazi ukubona ukukhawuleza kunye nokujika, njengoko kunokuchongwa kumagama abo.

  • I-Accelerometeramanyathelo okukhawulezisa, oko kukuthi, utshintsho kwisantya kwiyunithi yexesha. Khumbula ukuba kwi-physics, utshintsho lwe-velocity kunye nexesha (a = dV / dt) yinkcazo yokukhawulezisa. NgokukaMthetho weSibini kaNewton, sikwakhona ukuba a = F / m, kwaye yile nto isetyenziswa zii-accelerometers ukusebenza, oko kukuthi, zisebenzisa iiparameter zamandla kunye nobunzima bento leyo. Ukuze oku kuphunyezwe kwi-elektroniki, iindlela ze-MEMS (iiMicro Electro Mechanical Systems) ziyasetyenziswa, ezahlukileyo kubuchule obuqhelekileyo bokuvelisa i-chip, kuba iinxalenye zoomatshini zenziwe kwi-MEMS. Kule meko, imikhondo okanye izinto ezinokulinganisa ukukhawulezisa ziyile. Oku kuthetha ukuba zininzi ezinye iiyunithi ezinokuthathwa, ezinje ngesantya (ukuba isantya sidityanisiwe ngexesha), ukuba sidityaniswa kwakhona, sinokufuduswa, njl. Oko kukuthi, iiparameter ezinomdla kakhulu ukwazi indawo okanye ukubona intshukumo yento.
  • IGyroscope: ikwabizwa ngokuba yi-gyroscope, sisixhobo esilinganisa i-angular velocity yento, oko kukuthi, ukufuduka kwe-angular kwiyunithi yexesha okanye ukuba umzimba ukhawulezisa kangakanani ukujikeleza i-axis yawo. Kule meko, iindlela ze-MEMS zikwasetyenziselwa ukulinganisa esi santya sisebenzisa isiphumo esaziwa njengeCoriolis. Ndiyabulela kule nto, i-angular velocity inokulinganiswa okanye, ngokudibanisa i-angular velocity malunga nexesha, ukufuduka kwe-angular kunokufumaneka.

Imodyuli yeMPU6050

I-MPU6050 ikhonkco

Ngoku ukuba uyazi ukuba yintoni i-accelerometer kunye ne-gyroscope, Imodyuli yeMPU6050 Yibhodi ye-elektroniki edibanisa ezi zinto zimbini ukukuvumela ukuba ulinganise olu tshintsho kwindawo yento kwaye ke ukwazi ukuvelisa impendulo. Umzekelo, xa into ihambisa ukukhanya kwe-LED, okanye ezinye izinto ezinzima kakhulu.

Njengoko benditshilo, inezembe ezi-6 zenkululeko, iDoF, I-3-axis X, Y, kunye ne-Z yokunyusa isantya, kunye nezinye i-3-axis gyroscope ukulinganisa i-angular velocity. Kuya kufuneka uthathe ingqalelo ukuba ungenzi mpazamo kwindlela obeka ngayo imodyuli kunye nolwalathiso lokujikeleza kwemilinganiselo, kuba ukuba wenza uphawu olugwenxa kuyakuba sisiphithiphithi. Jonga lo mfanekiso ulandelayo apho ucacisa khona izikhombisi (nangona kunjalo, qaphela ukuba i-PCB nayo iyiprintile kwelinye icala):

Iphepha ledatha MPU6050

Ukujonga oku kunye isikhonkwane, ngaphezulu okanye ngaphantsi unayo yonke into ecacileyo ukuqala ukusebenzisa iMPU6050. Njengoko ubona kumfanekiso ongaphambili, unxibelelwano lulula kwaye luvumela ukunxibelelana kwe-I2C ukuba kuhambelane nolawulo oluninzi lwee-microcontroller, kubandakanya neArduino. Izikhonkwane ze-SCL kunye ne-SDA zine-resistor yokutsala ebhodini ngokunxibelelana ngqo nebhodi yeArduino, ke akufuneki ukuba ube nexhala lokuzongeza ngokwakho.

Ukusebenza macala omabini kwibhasi ye-I2C, ungazisebenzisa Izikhonkwane kunye nezikhokelo:

  • AD0 = 1 okanye Phezulu (5v): kwidilesi ye-I0C 69x2.
  • AD0 = 0 okanye Phantsi (GND okanye Nc): kwidilesi 0x68 yebhasi ye-I2C.

Khumbula ukuba umbane osebenzayo wemodeli ngu-3v3, kodwa ngethamsanqa unomlawuli owakhelweyo, ke unokuchongwa nge-5v ka-Arduino ngaphandle kwengxaki kwaye uya kuyiguqula ibe yi-3.3v.

Ngendlela, ukuxhathisa ngaphakathi kwi-GND, ukuba le pini ayiqhagamshelekanga, idilesi ngokungagqibekanga iya kuba ngu-0x68, kuba iyakudityaniswa ngokusilelayo emhlabeni, ukuyitolika njengombhalo 0.

Umdibaniso neArduino

I-Arduino kunye ne-MPU6050

Ungafumana ulwazi oluthe kratya malunga nebhasi ye-I2C kweli nqaku. Sele uyazi ukuba ngokuxhomekeke kwibhodi yeArduino izikhonkwane ezisetyenziselwa ibhasi ziyahluka, kodwa kwi Arduino UNO yipini yeanalog I-A4 kunye ne-A5, ye-SDA (idatha) kunye ne-SCL (iwotshi) ngokulandelelana. Zizikhonkwane zeArduino kuphela, kunye ne-5v kunye ne-GND enye yokunika amandla ibhodi, ekufuneka uyisebenzisile. Ke unxibelelwano lulula kangangoko.

Imisebenzi ye-MPU6050 ungasebenzisa amathala eencwadi onokuthi ufumane ulwazi ngakumbi kuwo kule khonkco I2C yemodyuli naleyo yebhasi MPU6050.

Inkqubo yebhodi yeArduino ayicacanga kakhulu nge-MPU6050, ke ayisiyiyo eyabaqalayo. Ukongeza, ukwazi imida yokukhawulezisa okanye uluhlu lwee-angles, inokulinganiswa ukumisela ukuba yeyiphi na intshukumo okanye ukukhawulezisa okuthe ngqo. Nangona kunjalo, ukuze ubuncinci ube nomzekelo wendlela yokuphawula malunga nokuyisebenzisa, ungayibona le khowudi kwi Umzekelo womzobo weArduino IDE yakho eya kuthi ifunde amaxabiso arekhodwe yi-accelerometer kunye ne-gyroscope:

// Bibliotecas necesarias:
#include "I2Cdev.h"
#include "MPU6050.h"
#include "Wire.h"

// Dependiendo del estado de AD0, la dirección puede ser 0x68 o 0x69, para controlar así el esclavo que leerá por el bus I2C
MPU6050 sensor;

// Valores RAW o en crudo leidos del acelerometro y giroscopio en los ejes x,y,z
int ax, ay, az;
int gx, gy, gz;

void setup() {
  Serial.begin(57600);    //Función para iniciar el puerto serie con 57600 baudios
  Wire.begin();           //Inicio para el bus I2C 
  sensor.initialize();    //Iniciando del sensor MPU6050

  if (sensor.testConnection()) Serial.println("Sensor iniciado correctamente");
  else Serial.println("Error al iniciar el sensor");
}

void loop() {
  // Leer las aceleraciones y velocidades angulares
  sensor.getAcceleration(&ax, &ay, &az);
  sensor.getRotation(&gx, &gy, &gz);

  // Muestra las lecturas que va registrando separadas por una tabulación 
  Serial.print("a[x y z] g[x y z]:\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);

  delay(100);
}

Ukuba usaqala kwaye awazi kakuhle Inkqubo yenkqubo yeArduino IDE, oku kuya kuba nzima kuwe ukuba ukuqonde, ukuze uqhagamshelane nencwadana yethu yesikhokelo kunye nenkqubo yokwazisa ngenkqubo yeArduino yasimahla ...


Yiba ngowokuqala ukuphawula

Shiya uluvo lwakho

Idilesi yakho ye email aziyi kupapashwa. ezidingekayo ziphawulwe *

*

*

  1. Uxanduva lwedatha: UMiguel Ángel Gatón
  2. Injongo yedatha: Ulawulo lwe-SPAM, ulawulo lwezimvo.
  3. Umthetho: Imvume yakho
  4. Unxibelelwano lwedatha: Idatha ayizukuhanjiswa kubantu besithathu ngaphandle koxanduva lomthetho.
  5. Ukugcinwa kweenkcukacha
  6. Amalungelo: Ngalo naliphi na ixesha unganciphisa, uphinde uphinde ucime ulwazi lwakho.