標(biāo)題:
PWM調(diào)速+超聲波控制車距的小車stm32源碼
[打印本頁(yè)]
作者:
51dasttwbd
時(shí)間:
2018-7-24 16:28
標(biāo)題:
PWM調(diào)速+超聲波控制車距的小車stm32源碼
STM32f103EZ 系列
超聲波 通過(guò)定時(shí)器來(lái)測(cè)量,PWM調(diào)速 控制車速 小車可以實(shí)現(xiàn)設(shè)定距離之間的 運(yùn)動(dòng) ,實(shí)現(xiàn)跟隨運(yùn)動(dòng)
具體的 源程序 如下 :
#include "stm32f10x.h"
#include "bsp_usart1.h"
#include "bsp_length.h"
#include "bsp_tick.h"
# include "motor.h"
# include "pwm_motor.h"
#define CLI() __set_PRIMASK(1) /* 關(guān)閉總中斷 */
#define SEI() __set_PRIMASK(0) /*開(kāi)總中斷*/
void Delay(unsigned short int time); //粗略的延時(shí)函數(shù)
float ChangeDistance(unsigned int cout1); //時(shí)間轉(zhuǎn)為距離函數(shù)
//ECHO PA4
//TRIG PA5
int main(void)
{
unsigned int count=0; // 計(jì)數(shù)
float distance=0; // 距離
/* USART1 config 115200 8-N-1 */
USART1_Config();
Distance_Config(); //測(cè)距模塊對(duì)應(yīng)的引腳初始化
CLI() ;//關(guān)閉總中斷
SEI(); //開(kāi)總中斷
Tim3_Config(); //定時(shí)器的初始化
Motor_Config();
TIM_Mode_Config(); //PWM 調(diào)速
GPIO_ResetBits(GPIOA,GPIO_Pin_5); //先拉低電平
while(1)
{
printf(" 超聲波初始化完成。 \r \n");
printf(" 測(cè)距開(kāi)始 \r \n");
GPIO_SetBits(GPIOA,GPIO_Pin_5); //拉高電平
Delay(30); //延時(shí)20個(gè)微秒
// Delay(20);
// Delay(20);
GPIO_ResetBits(GPIOA,GPIO_Pin_5); //拉低電平
TIM3->CNT=0; //TIM3的計(jì)數(shù)器清0
while(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_4) == 0); //等待ECHO的高電平
TIM_Cmd(TIM3,ENABLE); //運(yùn)行TIM3進(jìn)行計(jì)時(shí)
while((GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_4) == 1) && (TIM3->CNT < TIM3->ARR-10))
{
TIM_Cmd(TIM3,DISABLE);
count++;
}
printf("count=%d",count);
distance=ChangeDistance(count);
printf(" 當(dāng)前距離為:%f\n",distance);
Delay(20000);
Delay(20000);
if(distance>10)
Go_forward();
else
Go_back();
while(1);
}
}
void Delay(unsigned short int time) //粗略的延時(shí)函數(shù)
{
unsigned char i=0;
while(time--)
{
i=10;
while(i--);
}
}
float ChangeDistance(unsigned int cout1)
{
float distance=0;
printf("cou1=%d\n",cout1);
distance=cout1/58.0;
return distance;
}
/*********************************************END OF FILE**********************/
復(fù)制代碼
全部資料51hei下載地址:
超聲波+PWM調(diào)速 小車.rar
(318.71 KB, 下載次數(shù): 45)
2018-7-24 17:02 上傳
點(diǎn)擊文件名下載附件
跟隨運(yùn)動(dòng)
下載積分: 黑幣 -5
作者:
nick_mao
時(shí)間:
2018-8-6 17:50
你好,能否詳細(xì)說(shuō)一下超聲波測(cè)距的具體作用
作者:
jiangkeqin_sy
時(shí)間:
2018-10-15 10:32
你好,能否詳細(xì)說(shuō)一下超聲波測(cè)距的具體作用
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1