安防类?--【门禁系统安防之舵机的安装调试】

一、舵机的概述

       伺服电机通常被称为舵机,它是一种带有输出轴的小装置。当我们向伺服器发送一个控制信号时,输出轴就可以转到特定的位置。只要控制信号持续不变,伺服机构就会保持轴的角度位置不改变。如果控制信号发生变化,输出轴的位置也会相应发生变化。
二、需要的器件

舵机,跳线若干

 

       舵机有很多规格,但是所有的舵机都有外接三根线,分别用棕、红、橙三种颜色进行区分,由于舵机品牌不同,颜色也会有所差异,棕色为接地线,红色为电源正极线,橙色为信号线。

三、舵机如何控制转动角度

脉冲宽度调制(PWM):控制线用于传输角度控制信号,这个角度是由控制信号脉冲的持续时间决定。

       舵机的控制一般需要一个20ms左右的时基脉冲,该脉冲的高电平部分一般为0.5ms-2.5ms范围,总间隔为2ms。脉冲的宽度将决定马达转动的距离。如1.5毫秒的脉冲,电机将转向90度的位置(通常称为中立位置,对于180°舵机来说,就是90°位置)。

四、代码程序

//UART send 1~9==>20~180 degree
int servopin=9;//设置舵机驱动脚到数字口9 
int myangle;//定义角度变量 
int pulsewidth;//定义脉宽变量 
int val;
void servopulse(int servopin,int myangle)//*定义一个	脉冲函数,	用来模拟方式产生PWM值
{
pulsewidth=(myangle*11)+500;//将角度转化为500-2480 的脉宽  10微秒/9度	
digitalWrite(servopin,HIGH);//将舵机接口电平置高
delayMicroseconds(pulsewidth);//延时脉宽值的秒数 
digitalWrite(servopin,LOW);//将舵机接口电平置低 
delay(20-pulsewidth/1000); //延时周期内剩余时间
}
void setup()
{
pinMode(servopin,OUTPUT);//设定舵机接口为输出接口
Serial.begin(9600);//设置波特率为9600
Serial.println("servo=o_seral_simple ready");
}
void loop()//将0 到9 的数转化为0 到180 角度,并让LED 闪炊乐相应数的次数
{
val=Serial.read();//读取串口收到的数据
if(val>'0'&&val<='9') //判断收到数据值是否符合范围
{
val=val-'0';//将ASCII码转换成数值
val=val*(180/9);//将数字转化为角度
Serial.print("moving servo to "); 
Serial.print(val,DEC); 
Serial.println();
for(int i=0;i<=50;i++) //给予舵机足够的时间让它转到指定角度
{
servopulse(servopin,val);//引用脉冲函数
}
}
}

五、实物连接及结果


 

 

       视频我没上传好,就是弄好后打开控制台窗口,按下1-9,分别回车观察到舵机以每次20°的大小进行转动,最后按下1又自动转到你最开时候舵机的状态。 

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值