智能小车(循迹、避障、测速)循迹原理非常简单,模块上配有一个输出指示灯,部分模块还有电源指示灯,我们主要关注输出指示灯。红外发射器一直发射红外线,红外线经发射后被接收,此时输出低电平,输出指示灯点亮。黑色是不反射红外线的,也就是说循迹模块遇到黑线,模块输出高电平,输出指示灯熄灭。当然除了遇到黑线熄灭,当距离太远红外线反射后检测不到,此时指示灯也会熄灭。那么如果要循迹,模块离地面要近,在没有遇到黑线时确保指示灯长亮,一旦指示灯熄灭就说明遇到黑线了。实现了小车的自平衡、超声波避障以及通过智能手机远程控制的功能。#include "gpio.h"#include "tim.h" #define rightcon1A_low HAL_GPIO_WritePin(GPIOB,GPIO_PIN_0,GPIO_PIN_RESET)#define rightcon1A_high HAL_GPIO_WritePin(GPIOB,GPIO_PIN_0,GPIO_PIN_SET)#define rightcon1B_low HAL_GPIO_WritePin(GPIOB,GPIO_PIN_1,GPIO_PIN_RESET)#define rightcon1B_high HAL_GPIO_WritePin(GPIOB,GPIO_PIN_1,GPIO_PIN_SET) #define leftcon1A_low HAL_GPIO_WritePin(GPIOB,GPIO_PIN_2,GPIO_PIN_RESET)#define leftcon1A_high HAL_GPIO_WritePin(GPIOB,GPIO_PIN_2,GPIO_PIN_SET)#define leftcon1B_low HAL_GPIO_WritePin(GPIOB,GPIO_PIN_10,GPIO_PIN_RESET)#define leftcon1B_high HAL_GPIO_WritePin(GPIOB,GPIO_PIN_10,GPIO_PIN_SET)