arduino控制三个舵机的 程序和仿真图
时间: 2023-05-15 18:00:49 浏览: 174
虽然有现成的库可以控制舵机,但最好掌握每个舵机细节,为此,我们需要查阅制造商的文档。例如,TowerPro SG90 舵机的周期为 20ms,所以我们需要以同样周期采样控制信号输出。
为实现此目的,我们可以使用 arduino 的计时器来生成适当周期的脉冲信号。舵机连接到控制板上,我们需要引导让每个信号连到对应的引脚上。对于 SG90 舵机,连接到控制板的7,8,9 引脚上。
以下是一段使用 arduino 控制三个 SG90 舵机运动的示例代码。值得注意的是,写入舵机的位置通常为 0 到 180 度之间的角度值。UART与Delay也需要根据实际情况进行调整。
```C++
#include <Servo.h>
Servo myservo1, myservo2, myservo3;
void setup() {
myservo1.attach(7);
myservo2.attach(8);
myservo3.attach(9);
}
void loop() {
for (int pos = 0; pos <= 180; pos += 1) {
myservo1.write(pos);
myservo2.write(pos);
myservo3.write(pos);
delay(15);
}
for (int pos = 180; pos >= 0; pos -= 1) {
myservo1.write(pos);
myservo2.write(pos);
myservo3.write(pos);
delay(15);
}
}
```
为了更现实地模拟运动,我们可以使用仿真工具,如 Tinkercad,它与 arduino 许多板和传感器的模拟组件库相匹配。以下是使用 Tinkercad 上的 SG90 舵机模拟三个串联的示例图。
![舵机仿真展示](https://gitee.com/sifangcloud/source/raw/master/assistant/0807/q1.png)
阅读全文