- Potrebne komponente:
- MPU6050 žiro senzor:
- Opis:
- Kružni dijagram i objašnjenje:
- Objašnjenje programiranja
MPU6050 senzor ima brojne funkcije preko jednog čipa. Sastoji se od akcelerometra MEMS, žiroskopa MEMS i temperaturnog senzora. Ovaj je modul vrlo precizan prilikom pretvaranja analognih vrijednosti u digitalne, jer za svaki kanal ima hardver analognog u digitalni pretvarač od 16 bita. Ovaj modul može istovremeno hvatati x, y i z kanal. Ima I2C sučelje za komunikaciju s host kontrolerom. Ovaj MPU6050 modul kompaktni je čip koji ima i akcelerometar i žiroskop. Ovo je vrlo koristan uređaj za mnoge aplikacije poput dronova, robota, senzora pokreta. Također se naziva i žiroskop ili troosni akcelerometar.
Danas ćemo u ovom članku povezati ovaj MPU6050 žiroskop s Arduinom i prikazati vrijednosti preko LCD-a 16x2.
Potrebne komponente:
- Arduino Uno
- MPU-6050
- 10K LONAC
- Žica kratkospojnika
- Breadboard
- USB kabl
- Napajanje
MPU6050 žiro senzor:
MPU-6050 je 8-pinski 6-osni žiroskop i akcelerometar u jednom čipu. Ovaj modul prema zadanim postavkama radi na serijskoj komunikaciji I2C, ali se može konfigurirati za SPI sučelje konfiguriranjem registra. Za I2C ovo ima SDA i SCL linije. Gotovo sve iglice su višenamjenske, ali ovdje radimo samo s pinovima u I2C načinu.

Konfiguracija pribadače:
Vcc: - ovaj se pin koristi za napajanje modula MPU6050 s obzirom na masu
GND: - ovo je uzemljena igla
SDA: - SDA pin koristi se za podatke između kontrolera i mpu6050 modula
SCL: - SCL pin služi za unos sata
XDA: - Ovo je senzorska linija podataka I2C SDA za konfiguriranje i čitanje s vanjskih senzora ((opcionalno) koja se u našem slučaju ne koristi)
XCL: - Ovo je satna linija I2C SCL sata za konfiguriranje i očitavanje s vanjskih senzora ((opcionalno) koja se u našem slučaju ne koristi)
ADO: - I2C adresa slave LSB (nije primjenjiva u našem slučaju)
INT: - Prekidna iglica za prikaz spremnosti podataka.
Opis:
U ovom članku prikazujemo očitanja temperature, žiroskopa i akcelerometra na LCD-u pomoću MPU6050 s Arduinom. Ovaj modul daje nam vrijednosti reda i normalizirane vrijednosti u izlazu, ali vrijednosti reda nisu stabilne, tako da ovdje prikazujemo normalizirane vrijednosti preko LCD-a. Ako samo želite vrijednost akcelerometra, također možete koristiti akcelerometar ADXL335 s Arduinom.
U ovom smo projektu prvo prikazali temperaturnu vrijednost preko LCD-a, a nakon 10 sekundi prikazujemo žiroskopske vrijednosti, a nakon 10 sekundi imamo očitanja akcelerometra kao što je prikazano na donjim slikama:


Kružni dijagram i objašnjenje:
Shema sklopa za povezivanje MPU6050 s Arduinom vrlo je jednostavna, ovdje smo koristili LCD i MPU6050. I ovdje smo koristili USB napajanje za prijenosno računalo. Za upravljanje svjetlinom LCD-a koristi se posuda od 10 k. U vezi s MPU6050, napravili smo 5 veza u kojima smo spojili napajanje od 3.3v i masu MPU6050 na 3.3v i uzemljenje Arduina. SCL i SDA pinovi MPU6050 povezani su s Arduinovim A4 i A5 pinom. A INT pin MPU6050 spojen je na prekid 0 Arduina (D2). LCD-ovi RS, RW i EN izravno su povezani s 8, gnd i 9 Arduina. Data pin su izravno povezani s digitalnim pinovima 10, 11, 12 i 13.

Objašnjenje programiranja
Programski dio je također lagan za ovaj projekt. Ovdje smo koristili ovu knjižnicu MPU6050 da bismo je povezali s Arduinom. Dakle, prije svega, moramo preuzeti knjižnicu MPU6050 s GitHub-a i instalirati je u Arduino IDE.
Nakon njega u primjeru možemo pronaći primjere kodova. Korisnik može testirati taj kôd izravnim prijenosom na Arduino i može vidjeti vrijednosti preko serijskog monitora. Ili korisnik može koristiti naš kod naveden na kraju članka za prikaz vrijednosti i preko LCD-a i serijskog monitora.
U kodiranje smo uključili neke potrebne knjižnice poput MPU6050 i LCD-a.
#include
U funkciji postavljanja inicijaliziramo oba uređaja i na LCD zapisujemo poruku dobrodošlice
void setup () {lcd.begin (16,2); lcd.createChar (0, stupanj); Serial.begin (9600); Serial.println ("Inicijalizira MPU6050"); while (! mpu.begin (MPU6050_SCALE_2000DPS, MPU6050_RANGE_2G)) {lcd.clear (); lcd.print ("Uređaj nije pronađen"); Serial.println ("Ne mogu pronaći važeći senzor MPU6050, provjeri ožičenje!"); kašnjenje (500); } brojati = 0; mpu.calibrateGyro (); mpu.setThreshold (3); U petlji Funkcija smo pozvani tri funkcije u svakom 10seconds za prikaz temperature, žiro i akcelerometar čitanja na LCD zaslonu. Ove tri funkcije su tempShow, gyroShow i accelShow , te funkcije možete provjeriti u cjelovitom Arduino kodu navedenom na kraju ovog članka:
petlja void () {lcd.clear (); lcd.print ("Temperatura"); dugo st = milis (); Serial.println ("Temperatura"); dok (milis ()
Žiroskop MPU6050 i akcelerometar koriste se za otkrivanje položaja i orijentacije bilo kojeg uređaja. Žiroskop koristi zemaljsku gravitaciju za određivanje položaja x, y i z osi, a akcelerometar otkriva na temelju brzine promjene kretanja. Akcelerometar smo već koristili s Arduinom u mnogim našim projektima poput:
- Robot pod nadzorom gestova zasnovan na akcelerometru
- Sustav upozorenja na nesreću na bazi Arduina
- Alarm detektora potresa pomoću Arduina
