Arduino-舵机控制Servo

摘要:
我以前没有接触过硬件,因为APM2.5必须接触arduino板。手边有几个转向发动机。第一次接触arduino时,您使用它们来操作转向机。Arduino有一个底部库,其中包含驱动转向机的基本功能:attach()//连接转向机write()//角度控制write微秒()//参数为pwm值,1000:逆时针旋转180度,1500:到达中点,2000:顺时针旋转180度read()//读取最后一个转向机旋转角度attached()//detach()//断开转向机连接示例:设备:arduino板,转向机DuPont系列的几个程序可以在IDE˃文件˃示例˃伺服˃扫描中找到。这里介绍了伺服系统。write()函数是在不调用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()函数,有些问题,串口输入的值与伺服转动的角度不相同。郁闷中!!!
intvalue;
intpulsewidth;
int pin=9;
void servowrite(int pin,intvalue)
{
  digitalWrite(pin,HIGH);
  value=map(value,0,180,700,2300);//舵机的PWM值在700~2300间,这是粗略的PWM数值转换
digitalWrite(pin,LOW);
}
voidsetup()
{
 Serial.begin(9600);
 pinMode(pin,OUTPUT);
}
voidloop()
{
  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》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇蓝桥杯 2014本科C++ B组 奇怪的分式 暴力枚举简谈@Retention注解下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Dynamixel数字伺服舵机XM430-W350-R

产品介绍 目前国内研究仿生四足的学者不在少数,但由于伺服驱动器结构复杂、技术门槛高、成本高等原因使得仿生四足机器人的研究困难重重。而伺服舵机则不然,它相对于伺服电机而言具有体积小、价格低等优势,既能达到位置控制又能实现闭环反馈,因此伺服舵机可在某些应用场景代替伺服电机。 今天给大家推荐一款智能佳机器人公司的XM430-W350-R数字伺服舵机(以下简称为...

「雕爷学编程」Arduino动手做(30)——光敏二极管模块

37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的。鉴于本人手头积累了一些传感器和模块,依照实践出真知(动手做)的理念,以学习和交流为目的,这里准备逐一动手试试做实验,不管成功与否,都会记录下来---小小的进步或是搞不定的问题,希望能够抛砖引玉。 【Arduino】108种传感器模块系列实验(资料+代码+图...

Arduino—运算符

赋值运算符: =    +=   -+     *=      /= %=       取余等于 &=    与等于 &=(与等于)对某个变量的值按位进行与运算,例如:G&=x,将G变量的值与x变量的值做AND运算,其结果放入G变量,与G=G&x表达式相同。 |=     (或等于)对某个变量的值按位进行或运算,例如:HI...

001-ESP32学习开发(arduino)-开发环境搭建

<p><iframe name="ifd" src="https://mnifdv.cn/resource/cnblogs/LearnESP32/arduino.html" frameborder="0" scrolling="auto" height="1500"></iframe></p> 下载安装Py...

Arduino HX711使用

参考Github:https://github.com/RobTillaart/HX711 参数意义参考:https://www.yiboard.com/thread-1241-1-1.html set_scale();函数将用于刻度校准的calibration_factor设置为所需的值,tare();函数将其设置归零。 get_units();函数读取...

【雕爷学编程】Arduino动手做(55)--DHT11温湿度传感器

37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的。鉴于本人手头积累了一些传感器和模块,依照实践(动手试试)出真知的理念,以学习和交流为目的,这里准备逐一做做实验,不管能否成功,都会记录下来---小小的进步或是搞不掂的问题,希望能够抛砖引玉。  【Arduino】168种传感器模块系列实验(资料+代码+图形...