硬件篇:教你做STM32蓝牙+循迹+避障+pwm调速小车

L;

M;

R;

}

TCRT.h

#ifndef __TCRT_H

#define __TCRT_H

#include “stm32f10x.h”

#define L GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_4)

#define M GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_5)

#define R GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_6)

void TCRT_config(void);

void Read_TCRT_Date(void); //读循迹模块返回的值

#endif

避障

避障我选用了一个超声波模块,通过舵机的左右转动实现障碍物的检测,进而选择前进的道路,另一种方案是采用左、右、中三个超声波模块实现避障,这样做可以保证小车在前进的同时实现障碍物的检测。可以根据自己的需求选择。

这个模块第一次使用,简要介绍一下原理:

HC-SR04基本工作原理:

(1)采用IO口TRIG触发测距,给最少10us的高电平信呈。

(2)模块自动发送8个40khz的方波,自动检测是否有信号返回;

(3)有信号返回, 通过IO口ECHO输出一个高电平, 高电平持续的时间就是超声波从发射到返回的时间。 测试距离=(高电平时间*声速(340M/S))/2。

这里的代码我参照了另一位大佬的代码进行了修改,原文链接丢失,感谢大佬的文章!!

避障模块左右转

这里我采用了一个SG90的180度舵机,用定时器2生成一路PWM波驱动,代码如下:

sg90.c

#include “sg90.h”

void SG9

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值