MPU6050: module yekumisikidza naArduino

MPU6050 bhodhi

Kana iwe uchida kugadzira chirongwa uye nekuchiisa, ndiko kuti, ziva inoiswa sei zvine chekuita nenzvimbo, unogona kushandisa module MPU6050. Ndokunge, uyu module inertial yekuyera unit kana IMU (Inertial Measurment Units) ine 6 madigiri erusununguko (DoF). Ndokutenda kune 3-axis accelerometer mhando maseru uye 3-axis gyroscope iyo yaanoshandisa kushanda.

Iyi MPU6050 inogona kuziva kuti chinhu chine chinhu chakamiswa sei kuti ishandiswe mu mafomu kufamba, goniometry, kudzikama, kudzora kwemaoko, nezvimwe. Nhare mbozha dzinowanzo sanganisira iyi sensors kune, semuenzaniso, kudzora mamwe mabasa kuburikidza nemasaini, sekumira kana iyo smartphone ikashandurwa, kutyaira mota mumitambo yemavhidhiyo nekutendeuka nhare sekunge yaive vhiri rekutyaira, nezvimwe.

Chii chinonzi accelerometer uye gyroscope?

MEMS Mienzaniso

MEMS Mienzaniso

Zvakanaka, ngatiendei muzvikamu. Chinhu chekutanga kuona kuti ndedzipi idzi mhando dzemasaenzi idzo vanokwanisa kuona kumhanyisa uye kutendeuka, sezvazvinogona kutorwa kubva kumazita avo.

  • Accelerometer: matanho ekumhanyisa, ndiko kuti, shanduko mukumhanyisa pachikamu chenguva. Rangarira kuti mufizikiki, shanduko muvelocity nenguva (a = dV / dt) ndiyo tsananguro yekumhanyisa Zvinoenderana neChipiri Mutemo waNewton, isu zvakare tine iyo = F / m, uye ndizvo zvinoshandiswa nema accelerometers kushanda, ndiko kuti, vanoshandisa paramende yesimba uye uremu hwechinhu. Saka kuti izvi zviitwe mumagetsi, MEMS (Micro Electro Mechanical Systems) matekinoloji anoshandiswa, ayo anosiyana neakajairika eemagetsi chip ekugadzira matekiniki, sezvo michina zvikamu zvakagadzirwa muMEMS. Mune ino kesi, makwara kana zvinhu zvinokwanisa kuyera kukurumidza zvinogadzirwa. Izvi zvinoreva kuti mamwe akawanda mayuniti anogona kutorwa, senge velocity (kana kumhanyisa kuchisanganiswa munguva), kana ikabatanidzwa zvakare, isu tine kutama, nezvimwe. Ndokunge, zvinonakidza parameter kuziva chinzvimbo kana kuona kufamba kwechinhu.
  • Gyroscope: inonziwo gyroscope, chishandiso chinoyera angular velocity yechinhu, kureva kuti, angular kusuduruka pane imwe nguva yenguva kana kuti inokurumidza sei muviri kutenderera ichitenderedza axis yayo. Mune ino kesi, matekiniki eMEMS anoshandiswa zvakare kuyera iyi mhanyisa uchishandisa chiitiko chinozivikanwa seCoriolis. Nekuda kweizvi, angular velocity inogona kuyerwa kana, nekubatanidza iyo angular velocity zvine chekuita nenguva, iyo angular kusuduruka kunogona kuwanikwa.

MPU6050 module

MPU6050 pinout

Iye zvino zvaunoziva izvo iyo accelerometer uye gyroscope, iyo MPU6050 module bhodhi remagetsi rinobatanidza zvinhu zviviri izvi kuti zvikubvumire kuyera shanduko idzi panzvimbo yechinhu uye nokudaro uchikwanisa kuburitsa mhinduro. Semuenzaniso, kuti kana chinhu chichifambisa mwenje we LED, kana zvimwe zvinhu zvakanyanya kuomarara.

Sezvandambotaura, ine matemo matanhatu erusununguko, DoF, 3-axis X, Y, uye Z yekuwedzera accelerometer, uye imwe 3-axis gyroscope kuyera angular velocity. Iwe unofanirwa kutora hanya kuti usakanganisa munzira iyo iwe yaunomisa iyo module uye nekwaitenderera kwekutenderera kwezviyero, nekuti kana ukaita chikwangwani chisiri icho chichava chisingaite. Tarisa uone pamufananidzo unotevera uko unotsanangudza mafambiro emasanhu (zvisinei, ona kuti iyo PCB pachayo ine iyo yakadhindwa kune rumwe rutivi):

Nhoroondo ye MPU6050

Tichifunga izvi uye the pinout, zvakati kana zvishoma iwe une zvese zvakajeka kutanga kushandisa iyo MPU6050. Sezvauri kuona mumufananidzo wapfuura, kubatana kuri nyore uye kunoita kuti kutaurirana kweI2C kuve kunoenderana nevazhinji vatongi, kusanganisira iyo Arduino. Iyo SCL uye SDA pini ine yekudhonza-kumusoro resistor pane iyo bhodhi yekunongedzera kwakananga kuArduino bhodhi, saka haufanire kunetseka nekuzviwedzera iwe pachako.

Kushanda nemativi ese ari maviri pabhazi reI2C, unogona kushandisa aya pini uye madhairekitori:

  • AD0 = 1 kana Yakakwira (5v): yeI0C kero 69x2.
  • AD0 = 0 kana Yakadzika (GND kana Nc): yekero 0x68 yebhazi reI2C.

Rangarira kuti iyo yekushandisa voltage yemhando ndeye 3v3, asi nerombo rakanaka ine yakavakirwa-mukati mutongi, saka inogona kuchinjiswa neArduino's 5v pasina dambudziko uye inozoishandura kuita 3.3v.

Nenzira, kuve nemushonga wemukati kuGND, kana pini iyi isina kubatana, kero nekutadza ichave 0x68, sezvo ichizobatana nekutadza pasi, kuchidudzira sechinhu chine musoro 0.

Kubatanidzwa naArduino

Arduino uye MPU6050 kubatana

Unogona kuwana rumwe ruzivo nezve I2C bhazi mune ino chinyorwa. Unotoziva kuti zvichienderana neArduino board mapini anoshandiswa mubhazi anosiyana, asi mu Arduino UNO ndiyo pini yeanalog A4 uye A5, yeSDA (data) uye SCL (wachi) zvichiteerana. Ndiwo chete mapini eArduino, pamwe neiyo 5v uye GND imwe yekupa simba bhodhi, iwe yaunofanira kushandisa. Saka kubatana kuri nyore sezvinobvira.

Kune mabasa eMPU6050 unogona kushandisa maraibhurari ayo aunogona kuwana rumwe ruzivo mune iyi link yeiyo I2C yemo module neyebhazi MPU6050.

Arduino board programming haina kunyatso kujeka neMPU6050, saka haisi yevatangi. Uye zvakare, uchiziva miganho yekumhanyisa kana mamakisi emakona, iwe unogona kuyera kuti uone kuti chaiko kufamba kana kumhanyisa kwave kuri. Nekudaro, kuitira kuti iwe ugone kuve nemuenzaniso wekuti ungataure sei nekuishandisa, unogona kuona iyi kodhi kubva ku Semuenzaniso sketch yeako Arduino IDE iyo ichaverenga iwo marekodhi akanyorwa neiyo accelerometer uye 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);
}

Kana iwe uri wekutanga uye iwe usingazive mushe maitiro ekuronga naArduino IDE, izvi zvichakuomera kuti unzwisise, kuti iwe ugone kubvunza bhuku redu rekutanga nekosi yekutanga kuArduino chirongwa chemahara ...


Iva wekutanga kutaura

Siya yako yekutaura

Your kero e havazobvumirwi ichibudiswa. Raida minda anozivikanwa ne *

*

*

  1. Inotarisira iyo data: Miguel Ángel Gatón
  2. Chinangwa cheiyo data: Kudzora SPAM, manejimendi manejimendi.
  3. Legitimation: Kubvuma kwako
  4. Kutaurirana kwedata
  5. Dhata yekuchengetedza: Dhatabhesi inobatwa neOccentus Networks (EU)
  6. Kodzero: Panguva ipi neipi iwe unogona kudzora, kupora uye kudzima ruzivo rwako