昨天做了一个简答的小实验,我感觉挺有意思的跟大家分享一下。
我用了按键控制mg90s数字舵机,前不久一直研究模拟舵机,数字舵机与模拟舵机的控制方式是一样的pwm时序。 数字舵机接线方面:
与模拟舵机一样红线接vcc,棕线接GND,黄线接定义的板子引脚。
具体的对应角度如图所示:
我的板子引脚规定是 舵机信号线接PB5,key0引脚是PC5,key1引脚是PA15
在这里大家看一下我的程序: main.c
#include "led.h"
#include "delay.h"
#include "sys.h"
#include "key.h"
#include "timer.h"
#include "usart.h"
int main(void)
{
u8 t=0;
delay_init();
LED_Init();
KEY_Init();
LED0=0;
u16 pwm_val=0;
TIM3_PWM_Init(199, 7199);
while(1)
{
if(KEY1==0)
{
pwm_val=190;
TIM_SetCompare2(TIM3,pwm_val);
delay_ms(2000);
pwm_val=195;
TIM_SetCompare2(TIM3,pwm_val);
}
else if(KEY0==0)
{
pwm_val=185;
TIM_SetCompare2(TIM3,pwm_val);
delay_ms(2000);
pwm_val=195;
TIM_SetCompare2(TIM3,pwm_val);
}
else if(WK_UP==0)
{
pwm_val=180;
TIM_SetCompare2(TIM3,pwm_val);
delay_ms(2000);
pwm_val=195;
TIM_SetCompare2(TIM3,pwm_val);
}
}
}
/**************************************
PB5——PWM信号线(黄线) +5v——+5v(红线) GND——GND(棕线) 0度——195 45度——190 90度——185 135度——180 180度——175 **************************************/
|