Arduino-舵机控制Servo

Posted 黑乌鸦

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Arduino-舵机控制Servo相关的知识,希望对你有一定的参考价值。

以前没有接触过硬件,因为把弄APM2.5不得不去接触arduino板。Arduino是块极易上手的控板,不像单片机,你要花费大量的时间去学习预备知识,它只要你稍微懂点C语言既能上手。对于我这种业余爱好者,不二之选。手头有几个舵机,首次接触arduino就是用它来操作舵机。Arduino有个底层库(Servo类),包含驱动舵机的基本功能:

attach()//连接舵机
write()//角度控制
writeMicroseconds()//参数为pwm值,1000:逆时针旋转180度,1500:到达中点,2000:顺时针旋转180度
read()//读上一次舵机转动角度
attached()//
detach()//断开舵机连接

 

实例:
器材:arduino板、舵机、杜邦线若干 
程序可以在IDE>File>Examples>Servo>Sweep中找到
这里介绍不调用Servo库,写的Servo.write()函数,有些问题,串口输入的值与伺服转动的角度不相同。郁闷中!!!
int value;
int pulsewidth;
int pin=9;
void servowrite(int pin,int value)
{
  digitalWrite(pin,HIGH);
  value=map(value,0,180,700,2300);//舵机的PWM值在700~2300间,这是粗略的PWM数值转换
  digitalWrite(pin,LOW);
}
void setup()
{
 Serial.begin(9600);
 pinMode(pin,OUTPUT);
}
void loop()
{
  if(Serial.available()>0)
  {
    int val=Serial.read();
    value=val-0;//转换为数字
    value=map(value,0,9,0,180);
    Serial.print("moving servo to");
    Serial.print(value);
    servowrite(pin,value);
   }
    
}

 

以上是关于Arduino-舵机控制Servo的主要内容,如果未能解决你的问题,请参考以下文章

用arduino servo库写机器人程序怎样调整度

Arduino-舵机

Arduino ESP32 Web服务器控制舵机

Arduino舵机控制

ESP3218.舵机实验(Servo库)

ESP3218.舵机实验(Servo库)