void TCRT_config(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOB, ENABLE); // 使能PC端口时钟
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_6; //选择对应的引脚
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;//配置GPIO模式,输入上拉
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOB, &GPIO_InitStructure); //初始化PC端口
}
void Read_TCRT_Date(void)
{
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输出一个高电平ÿ