方案一:使用PWM波库控制-----------------------------------
include <Servo.h> //加载文件库
int pos = 0;
Servo myservo;
void setup()
{
myservo.attach(9, 500, 2500); //修正脉冲宽度
}
void loop()
{
for (pos = 0; pos <= 180; pos += 1) { //pos+=1等价于pos=pos+1
myservo.write(pos);
delay(15);
}
for (pos = 180; pos >= 0; pos -= 1) {
myservo.write(pos);
delay(15);
}
}
方案二:使用IO高低电平模拟PWM波-----------------------------------
include <Servo.h> //加载文件库
// 引脚命名
define analogPin 5
void setup()
{
pinMode(analogPin,OUTPUT);
}
void loop()
{
steer(0);
delay(100);
steer(1);
delay(100);
}
void steer(unsigned char direction) //参数是方向;
{
if(direction >= 1) //正转
{
for(int i=0;i<=20;i++)
{
digitalWrite(5,HIGH);
delayMicroseconds(1500);//旋转180度,1.5ms;正转
digitalWrite(5,LOW);
delay(10);
}
}
else //反转
{
for(int i=0;i<=20;i++)
{
digitalWrite(5,HIGH);
delayMicroseconds(2500);//旋转180度,2.5ms;反转
digitalWrite(5,LOW);
delay(10);
}
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具