MPU6050 giao tiếp Arduino dùng Cảm phát triển thành GY-521 6DOF IMU MPU6050 được thực hiện để đo 6 thông số: 3 trục Góc cù (Gyro), 3 trục vận tốc hướng (Accelerometer), là loại cảm biến gia tốc thịnh hành nhất trên thị trường hiện nay, ví dụ và code dành cho nó không ít và hầu như có trên mọi nhiều loại vi điều khiển, nếu bạn có nhu cầu mua cảm ứng gia tốc để làm các mô dường như con lắc động, xe cộ tự cân nặng bằng, thứ bay,… thì MPU6050 sẽ là sự việc lựa chọn về tối ưu.

Bạn đang xem: Cảm biến gia tốc mpu 6050

MPU6050/GY521 dùng để đo gia tốc góc, tốc độ góc, góc tảo với độ đúng chuẩn lên cho tới 0.01 độ, đo gia tốc, vận tốc hoạt động tịnh tiến


Liên hệ có tác dụng Đồ án cùng Mạch năng lượng điện tử

FB : Huỳnh Nhật Tùng

gmail.com

Chi tiết: Nhận làm mạch cùng đồ án Điện tử


Mục lục

1 1. Linh kiện quan trọng làm mạch cảm ứng gia tốc MPU6050 tiếp xúc Arduino1.1 1.1 Vi tinh chỉnh Arduino trong mạch cảm biến gia tốc MPU6050 giao tiếp Arduino1.2 1.2 cảm biến cảm biến gia tốc MPU6050 tiếp xúc Arduino1.3 1.4 Oled đến mạch cảm biến gia tốc MPU6050 tiếp xúc Arduino2 2. Giải đáp đồ án cảm ứng gia tốc MPU6050 giao tiếp Arduino hiển thị Oled4 4. Nỗ lực thể hoạt động vui chơi của mạch cảm ứng gia tốc MPU6050 giao tiếp Arduino

1. Linh kiện quan trọng làm mạch cảm ứng gia tốc MPU6050 giao tiếp Arduino

1.1 Vi điều khiển Arduino vào mạch cảm biến gia tốc MPU6050 tiếp xúc Arduino

a. Giới thiệu

Arduino Uno R3 (Dip) có 14 chân digital dùng để đọc hoặc xuất tín hiệu. Bọn chúng chỉ tất cả 2 mức năng lượng điện áp là 0V với 5V với cái vào/ra về tối đa trên từng chân là 40mA. Ở mỗi chân đều phải sở hữu các năng lượng điện trở pull-up từ được cài đặt ngay trong vi điều khiển ATmega328 (mặc định thì những điện trở này sẽ không được kết nối).

Các tính năng khác

Arduino Uno R3 là một bảng mạch vi điều khiển nguồn mở dựa trên vi điều khiển và tinh chỉnh Microchip ATmega328 được trở nên tân tiến bởi Arduino.cc. Bảng mạch được trang bị những bộ chân đầu vào/ đầu ra Digital với Analog có thể giao tiếp với các bảng mạch không ngừng mở rộng khác nhau.

Mạch Arduino Uno thích hợp cho những bạn mới tiếp cận với đam mê về năng lượng điện tử, lập trình…Dựa trên nền tảng gốc rễ mở bởi Arduino.cc cung cấp chúng ta dễ dàng xây cất cho mình một dự án sớm nhất có thể ( xây dựng Robot, xe từ hành, điều khiển bật tắt led…).

*

Vi xử lý có nhiều loại bước đầu từ 4 bit cho tới 32 bit, vi xử lý 4 bit hiện giờ không còn nhưng mà vi cách xử lý 8 bit vẫn còn mặc dù đã có vi xử lý 64 bit.Lý do sự trường thọ của vi giải pháp xử lý 8 bit là cân xứng với một số yêu cầu điều khiển và tinh chỉnh trong công nghiệp. Những vi xử trí 32 bit, 64 bit thường thực hiện cho các laptop vì trọng lượng dữ liệu của máy tính rất cao nên cần những vi xử trí càng dũng mạnh càng tốt.Các khối hệ thống điều khiển trong công nghiệp sử dụng những vi cách xử trí 8 bit hay 16 bit như khối hệ thống điện của xe pháo hơi, khối hệ thống điều hòa, khối hệ thống điều khiển những dây chuyền sản xuất, …

*

b. Công dụng của Arduino R3:2 chân Serial: 0 (RX) và 1 (TX): dùng để gửi (transmit – TX) và nhận (receive – RX) dữ liệu TTL Serial. Arduino Uno rất có thể giao tiếp với vật dụng khác trải qua 2 chân này. Liên kết bluetooth thường trông thấy nói nôm na đó là kết nối Serial không dây. Còn nếu không cần tiếp xúc Serial, bạn không nên sử dụng 2 chân này nếu không cần thiếtChân PWM (~): 3, 5, 6, 9, 10, cùng 11: có thể chấp nhận được bạn xuất ra xung PWM với độ phân giải 8bit (giá trị từ 0 → 28-1 tương xứng với 0V → 5V) bởi hàm analogWrite(). Nói một cách solo giản, chúng ta có thể điều chỉnh được năng lượng điện áp ra sinh sống chân này từ mức 0V đến 5V thay vị chỉ thắt chặt và cố định ở mức 0V với 5V tựa như các chân khác.Các chức năng khácChân giao tiếp SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Ko kể các tác dụng thông thường, 4 chân này còn dùng để truyền phát dữ liệu bằng giao thức SPI với những thiết bị khác.LED 13: bên trên Arduino UNO có 1 đèn led màu cam (kí hiệu chữ L). Khi bấm nút Reset, các bạn sẽ thấy đèn này nhấp nháy để báo hiệu. Nó được nối cùng với chân số 13. Khi chân này được người tiêu dùng sử dụng, LED đã sáng.Arduino Uno R3 có 6 chân analog (A0 → A5) cung cấp độ phân giải biểu thị 10bit (0 → 210-1) nhằm đọc quý giá điện áp trong tầm 0V → 5V. Cùng với chân AREF trên board, bạn cũng có thể để đưa vào điện áp tham chiếu lúc sử dụng các chân analog. Có nghĩa là nếu chúng ta cấp năng lượng điện áp 2.5V vào chân này thì chúng ta cũng có thể dùng những chân analog để đo năng lượng điện áp trong vòng từ 0V → 2.5V với độ sắc nét vẫn là 10bit. Đặc biệt, Arduino UNO có 2 chân A4 (SDA) cùng A5 (SCL) cung ứng giao tiếp I2C/TWI với những thiết bị khác.

*


c.Thông số kỹ thuật Arduino Uno R3 (Dip)
DatasheetsAtmega328
Standard Package27
CategoryIntegrated Circuits (ICs)
FamilyEmbedded – Atmel
SeriesAtmega
PackagingTube
Core ProcessorAVR
Core Size8-Bit
Speed16MHz
ConnectivityI²C, SPI, UART / USART, USB
PeripheralsBrown-out Detec t/ Reset, HLVD, POR, PWM, WDT
Number of I /O14
Program Memory Size32KB
Program Memory TypeFLASH
EEPROM Size1KB
RAM Size2K
Voltage – Supply (Vcc/Vdd)4.2 V ~ 5.5 V
Data ConvertersA/D 6 x 10bit
Oscillator TypeInternal
Operating Temperature-40°C ~ 85°C
Package / Case28-SOIC (0.295″, 7.50mm Width)
Other NamesAtmega328
d. PowerLED: Có 1 LED được tích phù hợp trên bảng mạch cùng được nối vào chân D13. Khi chân có quý giá mức cao (HIGH) thì LED đang sáng và LED tắt khi ở tại mức thấp (LOW).VIN: Chân này dùng làm cấp nguồn ngoài (điện áp cấp cho từ 7-12VDC).5V: Điện áp ra 5V (dòng điện trên mỗi chân này buổi tối đa là 500mA).3V3: Điện áp ra 3.3V (dòng năng lượng điện trên từng chân này buổi tối đa là 50mA).GND: Là chân mang điện rất âm trên board.IOREF: Điệp áp hoạt động của vi tinh chỉnh và điều khiển trên Arduino UNO và rất có thể đọc năng lượng điện áp trên chân IOREF. Chân IOREF không dùng để triển khai chân cấp cho nguồn.e.Bộ nhớ

Vi tinh chỉnh và điều khiển ATmega328:

32 KB bộ nhớ Plash: trong đó bootloader chỉ chiếm 0.5KB.2 KB đến SRAM: (Static Random Access Menory): giá chỉ trị các biến khai báo sẽ được lưu ở đây. Khai báo càng những biến thì sẽ càng tốn nhiều bộ nhớ RAM. Lúc mất nguồn tài liệu trên SRAM sẽ ảnh hưởng mất.

Xem thêm: 5 Cách Khắc Phục Lỗi Mất Âm Thanh Win 7, 10 Nhanh Chóng Nhất

1 KB cho EEPROM: (Electrically Eraseble Programmable Read Only Memory): Là nơi có thể đọc và ghi tài liệu vào đây và vẫn tồn tại dữ liệu lúc mất nguồn.f. Các chân đầu vào và đầu ra

Trên Board Arduino Uno có 14 chân Digital được sử dụng để có tác dụng chân đầu vào và đầu ra và chúng sử dụng những hàm pinMode(), digitalWrite(), digitalRead(). Giá chỉ trị điện áp trên mỗi chân là 5V, dòng trên mỗi chân là 20mA và bên phía trong có điện trở đẩy lên là 20-50 ohm. Cái tối đa trên mỗi chân I/O ko vượt thừa 40mA để tránh sự cố gây lỗi board mạch.

Ngoài ra, một số chân Digital bao gồm chức năng đặt biệt:

Serial: 0 (RX) và 1 (TX): Được sử dụng để nhận dữ liệu (RX) cùng truyền dữ liệu (TX) TTL.Ngắt ngoài: Chân 2 và 3.PWM: 3, 5, 6, 9 với 11 Cung cấp đầu ra xung PWM với độ phân giải 8 bit bằng hàm analogWrite ().SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Những chân này cung cấp giao tiếp SPI bằng thư viện SPI.LED: Có 1 LED được tích đúng theo trên bảng mạch cùng được nối vào chân D13. Lúc chân có quý giá mức cao (HIGH) thì LED vẫn sáng với LED tắt khi ở tầm mức thấp (LOW).TWI/I2C: A4 (SDA) và A5 (SCL) cung ứng giao tiếp I2C/TWI với những thiết bị khác.

1.2 cảm ứng cảm biến vận tốc MPU6050 giao tiếp Arduino

a. Reviews MPU6050 giao tiếp Arduino

Cảm biến GY-521 6DOF IMU MPU6050 được áp dụng để đo 6 thông số: 3 trục Góc xoay (Gyro), 3 trục gia tốc hướng (Accelerometer), là loại cảm ứng gia tốc phổ biến nhất trên thị trường hiện nay, ví dụ cùng code dành cho nó không hề ít và phần lớn có bên trên mọi nhiều loại vi điều khiển, nếu bạn muốn mua cảm ứng gia tốc để triển khai các mô dường như con lắc động, xe pháo tự cân nặng bằng, thiết bị bay,… thì MPU6050 sẽ là sự việc lựa chọn buổi tối ưu.

MPU6050/GY521 dùng để làm đo gia tốc góc, gia tốc góc, góc con quay với độ chính xác lên tới 0.01 độ, đo gia tốc, vận tốc hoạt động tịnh tiến

Module cảm biến MPU6050 rất có thể kết nối với vi điều khiển sang một trong 2 giao thức là SPI hoặc I2C. Bên phía trong cảm biến tích hợp 6 trục cảm biến bao hàm con xoay quy hồi 3 trục(trục X,Y với Z) và cảm biến gia tốc 3 trục. MPU6050 còn có 1KB bộ nhớ lưu trữ để lưu trữ lệnh từ bỏ vi điều khiển và tinh chỉnh và dữ liệu sau thời điểm nó tính toán kết thúc các quý hiếm đo được.

*

b. Thông số kỹ thuật 

Điện áp sử dụng: 3~5VDCĐiện áp giao tiếp: 3~5VDCChuẩn giao tiếp: I2CGiá trị Gyroscopes trong khoảng: +/- 250 500 1000 2000 degree/secGiá trị Acceleration trong khoảng: +/- 2g, +/- 4g, +/- 8g, +/- 16gBoard mạch mạ vàng, linh phụ kiện hàn tự động bằng máy quality tốt nhất.Chip : MPU-6050 Giao tiếp: I2C, SPIHỗ trợ AD 16 Bit

c. Chức năng các chân

VCC5V/3V3
GND0V
SCLChân SCL trong giao tiếp I2C
SDAChân SDA trong tiếp xúc I2C
XDAChân dữ liệu (kết nối với cảm ứng khác)
XCLChân xung (kết nối với cảm biến khác)
AD0Bit0 của showroom I2C
INTChân ngắt
d. Ứng dụngCác trang bị ổn định hình ảnh, phòng rung…Các ứng dụng bảo mật/an ninhCác ứng dụng điều khiển và tinh chỉnh không tiếp xúcCác vận dụng nhận biết hoạt động (điều khiển bởi cử chỉ,…)Thiết bị game, ứng dụng cầm tayCác trang bị mặc trên cơ thể (sức khỏe, thể thao,…)Các thí nghiệm, đo lường,..

1.4 Oled cho mạch cảm ứng gia tốc MPU6050 tiếp xúc Arduino

a. Giới thiệu

Màn hình Oled 1.3 inch giao tiếp I2C cho khả năng hiển thị đẹp, sang trọng trọng, rõ đường nét vào buổi ngày và kỹ năng tiết kiệm tích điện tối nhiều với mức túi tiền phù hợp, màn hình hiển thị sử dụng tiếp xúc I2C cho chất lượng đường truyền định hình và khôn cùng dễ tiếp xúc chỉ cùng với 2 chân GPIO.

Màn hình OLED SH1106 với size 1.3 inch, cho kĩ năng hiển thị hình ảnh tốt với khung hình 128×64 pixel. Ko kể ra, screen còn tương xứng với phần đông các vi điều khiển hiện giờ thông qua giao tiếp SPI. Màn hình sử dụng driver SH1106 cùng thiết kế nhỏ tuổi gọn sẽ giúp bạn cải cách và phát triển các sản phẩm DIY hoặc những ứng dụng không giống một biện pháp nhanh chóng.

*

Màn hình Oled chuẩn truyền I2C

*

Màn hình Oled chuẩn truyền SPI

b. Thông số kỹ thuậtĐiện áp sử dụng: 2.2~5.5VDCCông suất tiêu thụ: 0.04wGóc hiển thị: to hơn 160 độSố điểm hiển thị: 128×64 điểm.Độ rộng màn hình: 1.3 inch.Màu hiển thị: white / Xanh Dương.Giao tiếp: I2C hoặc SPI tùy loạiDriver: SH1106Kích thước 1.3 inch (128x64px)Góc nhìn về tối đa: 160°Nhiệt độ làm việc: -30°V mang lại 80°CTương mê say với phần đông các board như: Arduino, ESP8266, ESP32, STM32,

Lưu ý khi sử dụng Oled 1.3in

Hiện trên thị trường sẽ có:+ 2 loại đó là 0.96in với 1.3in+ 2 mã số là SH1106 cùng SH1306+ 2 chuẩn chỉnh truyền SPI cùng I2C

Vì thế việc lựa lựa chọn đúng đối tượng người sử dụng để xây dựng mới hoàn toàn có thể hiển thị được tin tức mong muốn.

2. Chỉ dẫn đồ án cảm ứng gia tốc MPU6050 giao tiếp Arduino hiển thị Oled

Phần này chưa được chia sẻ.

LIÊN HỆ thông tin sống TẠI ĐÂY sẽ được hổ trợ xuất sắc hơn.

Phần cứng

*

Phần mềm

Thư viện áp dụng có sẵn trên phần mềm IDE Arduino

#include #include #include Adafruit_MPU6050 mpu;Adafruit_SSD1306 display = Adafruit_SSD1306(128, 64, &Wire);void setup() Serial.begin(115200);// while (!Serial);Serial.println("MPU6050 OLED demo");if (!mpu.begin()) Serial.println("Sensor init failed");while (1)yield();Serial.println("Found a MPU-6050 sensor");// SSD1306_SWITCHCAPVCC = generate display voltage from 3.3V internallyif (!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) // Address 0x3C for 128x64Serial.println(F("SSD1306 allocation failed"));for (;;); // Don"t proceed, loop foreverdisplay.display();delay(500); // Pause for 2 secondsdisplay.setTextSize(1);display.setTextColor(WHITE);display.setRotation(0);void loop() sensors_event_t a, g, temp;mpu.getEvent(&a, &g, &temp);display.clearDisplay();display.setCursor(0, 0);Serial.print("Accelerometer ");Serial.print("X: ");Serial.print(a.acceleration.x, 1);Serial.print(" m/s^2, ");Serial.print("Y: ");Serial.print(a.acceleration.y, 1);Serial.print(" m/s^2, ");Serial.print("Z: ");Serial.print(a.acceleration.z, 1);Serial.println(" m/s^2");display.println("Accelerometer - m/s^2");display.print(a.acceleration.x, 1);display.print(", ");display.print(a.acceleration.y, 1);display.print(", ");display.print(a.acceleration.z, 1);display.println("");Serial.print("Gyroscope ");Serial.print("X: ");Serial.print(g.gyro.x, 1);Serial.print(" rps, ");Serial.print("Y: ");Serial.print(g.gyro.y, 1);Serial.print(" rps, ");Serial.print("Z: ");Serial.print(g.gyro.z, 1);Serial.println(" rps");display.println("Gyroscope - rps");display.print(g.gyro.x, 1);display.print(", ");display.print(g.gyro.y, 1);display.print(", ");display.print(g.gyro.z, 1);display.println("");display.display();delay(100);

3. Hoạt động vui chơi của mạch cảm ứng gia tốc MPU6050 giao tiếp Arduino

Khi cấp cho điện khối hệ thống hoạt động, vi điều khiển và tinh chỉnh đưa tín hiệu ban sơ cho lcd1602 hiển thị thông tin người dùng, hôm nay vi tinh chỉnh chờ biểu đạt được gửi vào từ cảm biến gia tốc MPU6050 tiếp xúc Arduino giữ hộ vào. Khi dấn được biểu đạt vi điều khiển và tinh chỉnh xử lý cùng gửi quý giá tọa độ trục X, Y, Z ra ngoài screen Oled nhằm hiển thị cực hiếm theo yêu mong đã được lập trình.

4. Thế thể buổi giao lưu của mạch cảm biến gia tốc MPU6050 tiếp xúc Arduino

Ngoài ra còn đa phần và các môn khác

Đồ án điện tử, thiết kế vi điều khiển và tinh chỉnh tổng hòa hợp File đồ dùng án – Phần 1Mạch điện tử, lập trình vi điều khiển tổng đúng theo File thứ án – Phần 2Thiết kế mạch năng lượng điện tử, xây dựng vi tinh chỉnh tổng thích hợp File đồ vật án – Phần 3Vi xử lý, lập trình vi tinh chỉnh và điều khiển Pic – 8051 – Avr – Phần 4Tổng đúng theo File ĐỒ ÁN Điện tử cơ bảnTổng phù hợp File ĐỒ ÁN Viễn thôngTổng thích hợp File ĐỒ ÁN PLCTổng phù hợp File ĐỒ ÁN cung cấp điện