Arduino 控制9g舵机

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);
}

猜你喜欢

转载自blog.csdn.net/weixin_44350337/article/details/125093347
今日推荐