和爷爷一起学Arduino如何循迹防撞防跌落
这是我们在2018年做的智能小车。开始用了五个传感器。车头正下方(就是上图中的左边一个)是两路循迹传感器,车头两侧各有一个防跌落传感器(上图中间那个)和一个避障传感器(上图右边那个)。
两路循迹传感器是左右两对红外发射接收管。四个管子都是朝下安装的。在地面贴上轨迹黑条,如果小车是在循着黑条前进,左右两路都接收不到反射红外线,输出都是低电平。当右侧循迹传感器移出黑条时,这路输出变成高电平。这时,应该使左电机减速,因为右车轮转速大于左车轮,小车向左偏转,回到正确轨道上。如果左侧循迹传感器移出黑条,则左路输出变成高电平,应使右电机减速。
避障传感器是水平安装的,发射接收管朝外。平常输出为低电平,当接近障碍物时,接收到反射回来的红外线,输出变成高电平。这时,电机也应转向避让。
防跌落传感器,我们是借用避障传感器,不过是朝下安装。防跌落传感器必须安装在小车底盘外。平常,接收到来自桌面的反射,输出为高电平。当小车车轮接近桌边时,防跌落传感器已经移出桌面,接收不到红外线,输出为低电平。电机也是转向避让。
循迹、避障、防跌落,对电机的控制是不同的。还有更复杂的走迷宫。为了适应各种情况,我们设计了各种策略。譬如转向,我们的左、右转向都有三种。以后说整车时再说。
这五个传感器有个共性,都是红外线发射、接收对管。像这种工作机理的传感器,还有不少。如测速传感器、心跳检测传感器、红外测距等等。