Arduino | 通过串口控制舵机角度

网友投稿 2019-09-15 12:42

https://cdn.china-scratch.com/timg/190917/1242254209-0.jpg

实例效果

本实例,实现通过Arduino IDE的串口监视器,控制舵机的角度,例如输入:90,则舵机会转到90度的位置。

本实例程序打包下载地址:

https://u16460183.ctfile.com/fs/16460183-295173181


元件说明

https://cdn.china-scratch.com/timg/190917/12422542N-1.jpg


舵机,是一个可以转向指定角度的动力装置,可以选择购买扭力大的舵机,可以抬举大重量的东西。

舵机种类很多,有普通舵机和数字舵机,还有分可以转动不同角度的90度180度等等,甚至有些可以360度旋转。



引脚说明

舵机一般三条线:

地线(GND) 棕色或黑色
电源线(VCC) 红色
信号线(IN) 橙色或白色



BOM表




Arduino UNO x 1
舵机 x 1
USB数据线 x 1



接线

https://cdn.china-scratch.com/timg/190917/124225IW-2.jpg

注意:板子上的数字接口,有些数字旁边有个~,有些却没有,其实~代表具有有PWM功能,板子上也会有说明,可以留意一下。(PWM又叫脉冲宽度调制,请自行搜索)

程序代码
Servo myservo;
char inByte = 0;
int angle = 0;
String temp = ;
void setup()
{
myservo.attach(9);
Serial.begin(9600);
}
void loop()
{
while (Serial.available() > 0)
{
inByte = Serial.read();
temp += inByte;
}
if(temp != )
{
angle = temp.toInt();
Serial.println(angle);
}
temp = ;
myservo.write(angle);
delay(100);
}

接好线,上传完程序,打开Arduino IDE的串口监视器,输入0-180的数字,并发送,就可以控制舵机的转动到指定角度了。

程序思路

  • 1,我们需要引入舵机的库,#include

  • 2,通过 Servo myservo 创建舵机对象

  • 3,使用 myservo.attach(9); 定义引脚9为舵机

  • 4,通过 myservo.write(angle) 函数控制舵机的角度

--end--

声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com