最近更新于 2023-08-13 14:23

关于舵机的控制方式相关说明参考:树莓派使用舵机

测试环境

Arduino UNO R3

Servo 1.18 (舵机控制库)

2 个 TS90A 舵机

手柄

接线

GND 和 VCC 就不用提了,强调一下舵机的接线,红色为正极,棕色为 GND,黄色为信号线

手柄的 X 和 Y 分别接 Arduino 的 A0 和 A1

水平转动的舵机信号线接 2,上下转动的舵机信号线接 3

示例

#include "Servo.h"

Servo servo_x, servo_y;
void setup()
{
    // 设置舵机接口
    servo_x.attach(2);
    servo_y.attach(3);
}

int x, y, ang_x, ang_y;
void loop()
{
    // 读取手柄
    x = analogRead(A0);
    y = analogRead(A1);
    // 角度转换
    // 读取模拟值范围是 0~1023
    // 对应到 0 ~ 180 度
    ang_x = (int)(x * 0.175781);
    servo_x.write(ang_x);
    ang_y = (int)(y * 0.175781);
    servo_y.write(ang_y);
}