- Mga Kinakailangan na Bahagi:
- MPU6050 Gyro Sensor:
- Paglalarawan:
- Circuit Diagram at Paliwanag:
- Paliwanag sa Programming
Ang MPU6050 sensor ay may maraming mga pagpapaandar sa solong maliit na tilad. Binubuo ito ng isang MEMS accelerometer, isang MEMS gyro, at sensor ng temperatura. Napakatumpak ng module na ito habang kino-convert ang mga halagang analog sa digital dahil mayroon itong 16bit analog sa digital converter hardware para sa bawat channel. Ang modyul na ito ay may kakayahang makuha ang x, y at z channel nang sabay. Mayroon itong isang interface ng I2C upang makipag-usap sa host controller. Ang module na MPU6050 na ito ay isang compact chip na mayroong parehong accelerometer at gyro. Ito ay isang napaka kapaki-pakinabang na aparato para sa maraming mga application tulad ng mga drone, robot, sensor ng paggalaw. Tinatawag din itong Gyroscope o Triple axis accelerometer.
Ngayon sa artikulong ito isasa-interface namin ang MPU6050 Gyroscope na ito kasama ang Arduino at ipinapakita ang mga halagang higit sa 16x2 LCD.
Mga Kinakailangan na Bahagi:
- Arduino Uno
- MPU-6050
- 10K POT
- Jumper wire
- Breadboard
- kable ng USB
- Supply ng kuryente
MPU6050 Gyro Sensor:
Ang MPU-6050 ay isang 8 pin 6 axis gyro at accelerometer sa isang solong maliit na tilad. Gumagana ang module na ito sa I2C serial na komunikasyon bilang default ngunit maaari itong mai-configure para sa interface ng SPI sa pamamagitan ng pag-configure ng pagrehistro nito. Para sa I2C mayroon itong mga linya ng SDA at SCL. Halos lahat ng mga pin ay multifunctioning ngunit narito lamang kami nagpapatuloy sa mga I2C mode na pin.
Pag-configure ng Pin:
Vcc: - Ang pin na ito ay ginagamit para sa pagpapatakbo ng module ng MPU6050 na patungkol sa lupa
GND: - ito ang ground pin
SDA: - Ang SDA pin ay ginagamit para sa data sa pagitan ng module ng controller at mpu6050
SCL: - Ang SCL pin ay ginagamit para sa pag-input ng orasan
XDA: - Ito ang linya ng sensor ng I2C SDA Data para sa pag-configure at pagbabasa mula sa mga panlabas na sensor ((opsyonal) na hindi ginagamit sa aming kaso)
XCL: - Ito ang linya ng orasan ng I2C SCL para sa pag-configure at pagbabasa mula sa mga panlabas na sensor ((opsyonal) na hindi ginagamit sa aming kaso)
ADO: - I2C Slave Address LSB (hindi nalalapat sa aming kaso)
INT: - Makagambala pin para sa indikasyon ng data na handa na.
Paglalarawan:
Sa artikulong ito, nagpapakita kami ng mga pagbabasa ng temperatura, gyro at accelerometer sa paglipas ng LCD gamit ang MPU6050 kasama ang Arduino. Binibigyan kami ng modyul na ito ng mga halagang hilera at na-normalize na halaga sa output ngunit ang mga halagang hilera ay hindi matatag kaya dito ipinakita namin ang na-normalize na mga halaga sa paglipas ng LCD. Kung nais mo lamang ang halaga ng accelerometer, maaari mo ring gamitin ang Accelerometer ADXL335 kasama ang Arduino.
Sa proyektong ito, ipinakita muna namin ang isang halaga ng temperatura sa paglipas ng LCD at pagkatapos ng 10 segundo ipinakita namin ang mga halaga ng gyro at pagkatapos ng 10 segundo mayroon kaming mga pagbabasa ng accelerometer tulad ng ipinakita sa mga imahe sa ibaba:
Circuit Diagram at Paliwanag:
Ang diagram ng circuit, para sa interfacing MPU6050 sa Arduino, ay napaka-simple dito na ginamit namin ang isang LCD at MPU6050. At dito nagamit namin ang isang laptop USB power supply. Ang isang 10k palayok ay ginagamit para sa pagkontrol ng liwanag ng LCD. Kaugnay sa MPU6050, nagawa namin ang 5 mga koneksyon kung saan ikinonekta namin ang 3.3v power supply at ground ng MPU6050 sa 3.3v at ground ng Arduino. Ang mga SCL at SDA na pin ng MPU6050 ay konektado sa A4 at A5 pin ng Arduino. At ang INT pin ng MPU6050 ay konektado upang makagambala sa 0 ng Arduino (D2). Ang LCD, RS, RW at EN ay direktang konektado sa 8, gnd at 9 ng Arduino. Ang data pin ay direktang konektado sa digital pin number 10, 11, 12 at 13.
Paliwanag sa Programming
Madali rin para sa proyektong ito ang bahagi ng programa. Ginamit namin dito ang library ng MPU6050 na ito upang mai-interface ito sa Arduino. Kaya una sa lahat, kailangan naming i-download ang MPU6050 library mula sa GitHub at i-install ito sa Arduino IDE.
Pagkatapos nito, mahahanap natin ang mga halimbawa ng mga code sa halimbawa. Maaaring subukan ng gumagamit ang code na iyon sa pamamagitan ng direktang pag-upload sa kanila sa Arduino at maaaring makita ang mga halaga sa serial monitor. O maaaring gamitin ng gumagamit ang aming code na ibinigay sa dulo ng artikulo upang ipakita ang mga halaga sa paglipas ng LCD at serial monitor din.
Sa pag-coding, isinama namin ang ilang mga kinakailangang aklatan tulad ng MPU6050 at LCD.
# isama
Sa pag- andar ng pag- setup , sinisimulan namin ang parehong mga aparato at isulat ang maligayang mensahe sa LCD
walang bisa ang pag-set up () {lcd.begin (16,2); lcd.createChar (0, degree); Serial.begin (9600); Serial.println ("Initialize MPU6050"); habang (! mpu.begin (MPU6050_SCALE_2000DPS, MPU6050_RANGE_2G)) {lcd.clear (); lcd.print ("Hindi Natagpuan ang Device"); Serial.println ("Hindi makahanap ng wastong sensor ng MPU6050, suriin ang mga kable!"); pagkaantala (500); } bilangin = 0; mpu.calibrateGyro (); mpu.setThreshold (3); Sa loop Function, tumawag kami ng tatlong mga pag-andar sa bawat 10 segundo para sa pagpapakita ng temperatura, gyro, at pagbasa ng accelerometer sa LCD. Ang tatlong mga pagpapaandar na ito ay tempShow, gyroShow at accelShow , maaari mong suriin ang mga pagpapaandar na iyon sa kumpletong Arduino code na ibinigay sa pagtatapos ng artikulong ito:
void loop () {lcd.clear (); lcd.print ("Temperatura"); mahabang st = millis (); Serial.println ("Temperatura"); habang (millis ()
Ang MPU6050 gyro at accelerometer pareho ay ginagamit upang makita ang posisyon at oryentasyon ng anumang aparato. Gumagamit ang Gyro ng gravity sa lupa upang matukoy ang mga posisyon ng x, y at z-axis at nakita ng accelerometer batay sa rate ng pagbabago ng paggalaw. Ginamit na namin ang accelerometer kasama ang Arduino sa marami sa aming mga proyekto tulad ng:
- Nakokontrol na Robot na Batay sa Accelerometer na Nakabatay sa Kamay
- Sistema ng Alerto sa aksidente sa Sasakyan ng Arduino Batay
- Lindol Detector Alarm gamit ang Arduino