12浏览
查看: 12|回复: 2

[项目] 【Arduino 动手做】Arduino MPU6050传感器控制伺服电机

[复制链接]
在这个 aduino 项目中,我们将使用 MPU6050 Accelerometer 传感器来控制伺服电机。有四种手势模式,如 UP、DOWN、LEFT 和 RIGHT。我们可以使用这个项目来构建手势控制汽车和许多其他项目。

组件要求:   
1. Arduino Uno
2. MPU6050
3. 伺服电机 SG90 X 4
4. 面包板
5. 跳线
电路图:

引脚连接:
6. 让我们使用 Arduino Uno 和面包板进行连接。
• 将 Arduino 5v 引脚连接到面包板正极。
• 将 Arduino GND 连接到面包板 GND 侧。
7. 现在,我们必须与 Arduino Uno 和 MPU6050 加速度传感器建立连接。
• 将 mpu6050 VCC 引脚连接到 Arduino 3.3v 引脚。
• 将 mpu6050 GND 引脚连接到面包板 GND 侧。
• 将 mpu6050 SCL 引脚连接到 Arduino a5 引脚。
• 将 mpu6050 SDA 引脚连接到 Arduino a4 引脚。
8. 现在,我们必须与 Arduino Uno 和伺服电机建立连接。

9. 现在电路完成了
10. 让我们跳到编码部分
11. 打开 Arduino IDE
12. 首先,我们必须安装库,因此,转到工具 --> Manage Libraries,然后搜索这三个库并安装它们。
13. Adafruit MPU6050
14. Adafruit 统一传感器
15. Adafruit SSD1306
16.
安装库后,现在从下面复制代码并将其粘贴到 sketch 上。
17. 通过 USB 数据线将 Arduino Uno 连接到 PC。
18. 转到工具 -->板 --> Arduino AVR板 -- 选择您的Arduino板。
19. 跳转工具 --> port --> 选择您的端口
20. 现在一切都完成了,所以上传代码
21. 转到串行监视器并检查值。

【Arduino 动手做】Arduino MPU6050传感器控制伺服电机图2

【Arduino 动手做】Arduino MPU6050传感器控制伺服电机图1

【Arduino 动手做】Arduino MPU6050传感器控制伺服电机图3

【Arduino 动手做】Arduino MPU6050传感器控制伺服电机图4

驴友花雕  中级技神
 楼主|

发表于 4 小时前

【Arduino 动手做】Arduino MPU6050传感器控制伺服电机

项目代码

  1. #include <Adafruit_MPU6050.h>
  2. #include <Adafruit_Sensor.h>
  3. #include <Wire.h>
  4. #include <Servo.h>
  5. Adafruit_MPU6050 mpu;
  6. int x = 0
  7. ;
  8. int y = 0
  9. ;
  10. int z = 0
  11. ;
  12. Servo
  13. servo1;
  14. Servo
  15. servo2;
  16. Servo
  17. servo3;
  18. Servo
  19. servo4;
  20. int value  = 0
  21. ;
  22. void setup(void
  23. ) {
  24.   Serial.begin(115200
  25. );
  26.   // Try to initialize!
  27.   if (!mpu.begin
  28. ()) {
  29.     Serial.println("Failed to find MPU6050 chip"
  30. );
  31.     while (1
  32. ) {
  33.       delay(10
  34. );
  35.     }
  36.   }
  37.   Serial.println("MPU6050 Found!"
  38. );
  39.   // set accelerometer range to +-8G
  40.   mpu.setAccelerometerRange(MPU6050_RANGE_8_G);
  41.   // set gyro range to +- 500 deg/s
  42.   mpu.setGyroRange(MPU6050_RANGE_500_DEG);
  43.   // set filter bandwidth to 21 Hz
  44.   mpu.setFilterBandwidth(MPU6050_BAND_21_HZ);
  45.   delay(100
  46. );
  47.   servo1.
  48. attach(7
  49. );
  50.   servo2.
  51. attach(6
  52. );
  53.   servo3.
  54. attach(5
  55. );
  56.   servo4.
  57. attach(4
  58. );
  59.   servo1.
  60. write(0
  61. );
  62.   servo2.
  63. write(0
  64. );
  65.   servo3.
  66. write(0
  67. );
  68.   servo4.
  69. write(0
  70. );
  71. }
  72. void loop
  73. () {
  74.   /* Get new sensor events with the readings */
  75.   sensors_event_t a, g, temp;
  76.   mpu.getEvent(&a, &g, &temp);
  77.   x = a.acceleration.x;
  78.   y = a.acceleration.y;
  79.   z = a.acceleration.z;
  80. //Serial.print(x);Serial.print(" ");Serial.println(y);
  81. if (x < 10 && x > 0 && y < 4 && y > -4
  82. ){
  83.   Serial.println("up"
  84. );
  85.    value =
  86. map(x,  0, 10, 0, 180
  87. );
  88.    servo1.
  89. write
  90. (value);
  91.    Serial.print
  92. (value);
  93.   }
  94. else if (x > -10 && x < 0 && y < 4 && y > -4
  95. ){
  96.   Serial.println("down"
  97. );
  98.   value =
  99. map(x,  -10, 0, 180, 0
  100. );
  101.   servo2.
  102. write
  103. (value);
  104.   Serial.print
  105. (value);
  106.   }
  107. if (y < 10 && y > 0 && x < 4 && x > -4
  108. ){
  109.   Serial.println("Right"
  110. );
  111.   value =
  112. map(y,  0, 10, 0, 180
  113. );
  114.   servo3.
  115. write
  116. (value);
  117.   Serial.print
  118. (value);
  119.   }
  120. else if (y > -10 && y < 0  && x < 4 && x > -4
  121. ){
  122.   Serial.println("left"
  123. );
  124.   value =
  125. map(y,  -10, 0, 180, 0
  126. );
  127.   servo4.
  128. write
  129. (value);
  130.   Serial.print
  131. (value);
  132.   }
  133. }
复制代码


回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 4 小时前

【Arduino 动手做】Arduino MPU6050传感器控制伺服电机

【Arduino 动手做】Arduino MPU6050传感器控制伺服电机
项目链接:https://www.mrelectrouino.com/20 ... 0servo%20motor.html
项目作者:ElectroUino

项目视频 :https://www.youtube.com/watch?v=_4SqfPy5-J8&t=174s


【Arduino 动手做】Arduino MPU6050传感器控制伺服电机图1

【Arduino 动手做】Arduino MPU6050传感器控制伺服电机图2

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4 备案 沪公网安备31011502402448

© 2013-2025 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail