Arduino 控制9g舵机

本文介绍了一种9g舵机的工作原理,它具有-90°到+90°的旋转范围,并通过调整20ms周期内的高电平时间来控制舵机转动角度。提供的代码示例展示了如何使用Arduino的9号引脚控制舵机从+90度转向0度,每次循环间隔3秒。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

9g舵机即下图所示种类舵机:
请添加图片描述

1、这种舵机由于有限位器,因此只能在-90°和+90°的范围内旋转。
2、同时使用普通数字引脚即可控制。
3、棕色–地,红色–5V,橙色–信号。

其控制信号为多个20ms周期经调制的脉冲。(单个周期来不及完成转向动作。)
其中20ms的周期内有0.5ms的高电平,将控制舵机转向-90度;
其中20ms的周期内有1ms的高电平,将控制舵机转向-45度;
其中20ms的周期内有1.5ms的高电平,将控制舵机转向0度;
其中20ms的周期内有2ms的高电平,将控制舵机转向+45度;
其中20ms的周期内有2.5ms的高电平,将控制舵机转向+90度;
请添加图片描述
其旋转角度和从此视角观察旋转角度一致(正上方是0°,左边是-90°,右边是+90°):
请添加图片描述

其代码如下:(使用9号针脚控制舵机转向+90度再转向0度,停留3秒开始下一轮循环。)

int duojipin = 9;
void setup() {
  // put your setup code here, to run once:
  pinMode(duojipin, OUTPUT);
}

void loop() {
  // put your main code here, to run repeatedly:
  unsigned char i;
  //+90度
  for(int i = 0; i<100; i++)
  {
      digitalWrite(duojipin,HIGH);
      delayMicroseconds(2300);//2.3ms
      digitalWrite(duojipin,LOW);
      delayMicroseconds(17700);//17.7ms
  }
  delay(300);
  //0度
  for(int i = 0; i<100; i++)
  {
      digitalWrite(duojipin,HIGH);
      delayMicroseconds(1500);//1.5ms
      digitalWrite(duojipin,LOW);
      delayMicroseconds(18500);;//18.5ms
  }
  delay(3000);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Dunkle.T

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值