第10课 画地为牢智能车#

项目介绍:#

前面我们详细的介绍了智能车上各个传感器、模块、扩展板的使用方法。在这里我们可以结合前面课程中知识制作一个画地为牢智能车。实验中,我们通过循迹传感器检测智能车底部是否存在黑线,然后根据检测结果控制两个电机的转动,从而把智能车关在黑线圈中即画地为牢。

流程图:#

画地为牢智能车具体逻辑如下表格。

检测

中循迹传感器

检测到黑线:高电平

检测到黑线:高电平

检测

中循迹传感器

检测到白线:低电平

检测到白线:低电平

检测

左循迹传感器

检测到黑线:高电平

检测到黑线:高电平

检测

左循迹传感器

检测到白线:低电平

检测到白线:低电平

检测

右循迹传感器

检测到黑线:高电平

检测到黑线:高电平

检测

右循迹传感器

检测到白线:低电平

检测到白线:低电平

条件

条件

条件

状态

左循迹传感器没检测到黑线 且中循迹传感器没检测到黑线且右循迹传感器没检测到黑线

左循迹传感器没检测到黑线 且中循迹传感器没检测到黑线且右循迹传感器没检测到黑线

左循迹传感器没检测到黑线 且中循迹传感器没检测到黑线且右循迹传感器没检测到黑线

前进(PWM设为200)

左循迹传感器检测到黑线 或者中循迹传感器检测到黑线 或者右循迹传感器检测到黑线

左循迹传感器检测到黑线 或者中循迹传感器检测到黑线 或者右循迹传感器检测到黑线

左循迹传感器检测到黑线 或者中循迹传感器检测到黑线 或者右循迹传感器检测到黑线

后退(PWM设为200) 然后左旋转(PWM设为200)

按照前面思路设计好智能车后,我们就需要按照设计思路开始制作智能车。我们需要设计对应的接线,测试代码,然后接线上传代码,运行,确保智能车能够实现理想中的功能。

接线图:循迹模块+电机#

测试代码:#

①初始化

②设置变量L_pin、M_pin、R_pin为整数并赋值为0

③将三个循迹传感器的值赋值给对应的变量L_pin、M_pin、R_pin中

④判断L_pin、M_pin、R_pin的值是否等于0

⑤4WD小车以PWM200的速度前进

⑥当不满足前面的条件则执行下列代码

⑦4WD小车以PWM200的速度后退500毫秒

⑧4WD小车以PWM200的速度左转800毫秒

(在上传程序代码前,需要把蓝牙模块取下,否则代码会上传失败。)

完整代码:

测试结果:#

当小车行驶过程中检测到黑线立即后退500毫秒,然后左转800毫秒继续行驶。