标题:
stm32小车超声波避障源码
[打印本页]
作者:
tingesky
时间:
2017-12-18 13:33
标题:
stm32小车超声波避障源码
rt.小车超声波避障
0.jpg
(9.65 KB, 下载次数: 75)
下载附件
2017-12-18 23:03 上传
stm32单片机源程序如下:
#include "stm32f10x.h"
#include "led.h"
#include "Sonic.h"
#include "USART1.h"
#include "bsp_systick.h"
#include "TIM3_PWM.h"
#include "direction.h"
u32 PW1; //左轮pwm
u32 PW2; //右轮pwm
u16 PW3; //舵机pwm
extern u32 averge_distance; //超声波值
int main(void)
{
DIRECTION_GPIO_CONFIG(); //电机初始化
TIM3_PWM_Init(9999,143); //小车电机速度(占空比)控制
SysTick_Init(); //系统滴答定时器初始化
USART_Config(); //串口初始化
LED_GPIO_Config();
UltrasonicWave_Configuration(); //超声波模块初始化
TIM2_Configuration(); //定时器2初始化
while(1)
{ Average_Distance(); //超声波发送
Delay_ms (500); //延时500ms
Auto_run(); //自动避障函数
printf("The Distance is:%d\r\n",averge_distance); //串口打印超声波数值
}
}
/*************************超声波模块工作原理***********************************/
//基本工作原理:
//(1)采用IO口TRIG触发测距,给至少10us的高电平信号;
//(2)模块自动发送8个40khz的方波,自动检测是否有信号返回;
//(3)有信号返回,通过IO口ECHO输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。测试距离=(高电平时间*声速(340M/S))/2;
//本模块使用方法简单,一个控制口发一个10US以上的高电平,就可以在接收口等待高电平输出.一有输出就可以开定时器计时,当此口变为低电平时
//就可以读定时器的值,此时就为此次测距的时间,方可算出距离.如此不断的周期测,即可以达到你移动测量的值.
/****************************************************************************/
复制代码
所有资料51hei提供下载:
小车超声波避障.rar
(352.12 KB, 下载次数: 313)
2017-12-18 23:04 上传
点击文件名下载附件
下载积分: 黑币 -5
作者:
wangyi1998
时间:
2018-4-27 20:54
例程很好
作者:
chysh
时间:
2018-5-3 22:09
坑逼,居然不完整
作者:
51hei1234
时间:
2018-5-31 23:36
附件无法下载 还扣币了
作者:
cmxgx
时间:
2019-1-24 01:11
例程很好
作者:
滑旱冰
时间:
2019-2-18 17:18
楼主,在吗,希望根据你的代码做一个小车,但是现在还是小白,请问理解你的代码需要学习stm32哪些部分那?因为时间比较紧,所以就先学和小车相关的部分了,谢谢,希望回复一下
作者:
053053
时间:
2019-3-13 12:32
我想知道怎么接的,用了几个电机,三个pwm通道,通道三好像没用
作者:
茶靡花开
时间:
2019-7-18 00:19
感谢楼主!
作者:
大灰狼123
时间:
2019-7-26 21:20
感谢楼主
作者:
StaryLL
时间:
2019-8-28 10:02
能行吗
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1