昨天做了一个简答的小实验,我感觉挺有意思的跟大家分享一下。

我用了按键控制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();		  	 	//初始化与LED连接的硬件接口
	KEY_Init();          	//初始化与按键连接的硬件接口
	LED0=0;					//点亮LED
	 
	u16 pwm_val=0;

   

   	TIM3_PWM_Init(199, 7199);//50hz
	 
	
	while(1)
	{
		if(KEY1==0)
		{
					pwm_val=190;//45

					TIM_SetCompare2(TIM3,pwm_val);

					delay_ms(2000);
			
					pwm_val=195;//0

					TIM_SetCompare2(TIM3,pwm_val);

		}
		else if(KEY0==0)
		{
					pwm_val=185;//90

					TIM_SetCompare2(TIM3,pwm_val);

					delay_ms(2000);
			
					pwm_val=195;//0

					TIM_SetCompare2(TIM3,pwm_val);

		}
		else if(WK_UP==0)
		{
					pwm_val=180;//45

					TIM_SetCompare2(TIM3,pwm_val);

					delay_ms(2000);
			
					pwm_val=195;//0

					TIM_SetCompare2(TIM3,pwm_val);

		}
	}
}

/**************************************

PB5——PWM信号线(黄线)
+5v——+5v(红线)
GND——GND(棕线)
0度——195
45度——190
90度——185
135度——180
180度——175
**************************************/

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐