- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
第 组:Arduino原型——迷宫⼩⻋
1.设计背景
10SecondNinjaX是Steam平台上⼀款备受好评的游戏。因为这款游戏的通关需要兼具合理的路线规划
和挑战极限的操作,所以是对⼤脑和身体的双重考验。我们以此为灵感,将这款游戏实体化,以
Arduino⼩⻋的形式进⾏呈现。此外,我们希望予以玩家最⼤的⾃由度,因此我们允许玩家⾃⾏设计各
种路线,并根据路线的难度⾃定义合理的挑战时⻓。
2.制作⽬标
制作⼀辆红外遥控⼩⻋,玩家可通过遥控器设置挑战时间和控制⼩⻋移动。在规定时间内收集所有颜⾊
并⾛出迷宫即为完成挑战,否则失败。
●实现红外输⼊数字和遥控⼩⻋
●使⽤颜⾊传感器识别颜⾊并计数
●实现倒计时功能
●通过液晶屏进⾏可视化输出
●控制两个直流电机实现⼩⻋的前后⾏驶和左右转向
3.所需材料
Arduinouno开发板、专⽤数据线、LCD1602液晶显示屏、TCS34725颜⾊传感器、旋转电位器、红外
控制模块及遥控器、履带⼩⻋组件(包括两个⽤于驱动的直流电机和履带装置)、L298N电机驱动模
块、杜邦线、两个9V电池
1
4.硬件连接
▲硬件连接示意图(L298N模块⽤⻢达扩展版代替,连接⽅式相同)
2
▲硬件连接完成
●红外遥控部分:中间的信号引脚连接arduino9号引脚,其余两端分别接⼊5V和GND引脚。
●颜⾊传感器部分:SDA接⼊A4引脚,SCL接⼊A5引脚,其余两端分别接⼊5V和GND引脚。
●LCD显示屏部分:VSS、K、RW接⼊GND引脚,VDD和A接⼊5V引脚,V0接旋转电位器中间引
脚,SR接12引脚,E接11引脚,D4接5引脚,D5接4引脚,D6接3引脚,D7接2引脚;旋转电位器其
余两端分别接5V和GND。
●L298N模块部分:GND接⼊GND引脚,左边的直流电机的两条线分别接⼊OUT1和OUT2,右边的
直流电机两条线分别接⼊OUT3和OUT4,12V引脚接外部电源正极(此处使⽤9V电池)
注意:L298N和arduino主板必须共地,即L298N的GND和arduino主板的GND相连,⼩⻋内的直流电
机才可被驱动;调节旋转电位器以使LCD显示屏显示字⺟和数字;电机耗电量⼤,需准备电量⾜够的充
电电池(Arduino套件内9V电池供电⽀撑时间较短);颜⾊传感器感应距离有限,建议固定在⻋底部以
便于检测和采集颜⾊;市场上的普通红外遥控信号⾮常不稳定,容易误操作,建议在条件允许的情况下
使⽤较⾼质量硬件。
3
5.参考代码
●红外控制部分:irrecv.decode(results)将解码数据放⼊results中,使⽤设定的fun函数转化为数字
代号,使⽤if语句判断,当接收到相应的红外信号后即可执⾏相应操作。irrecv.resume()恢复接受
信号状态。
●直流电机控制部分:直流电机的两端通过电压⾼低控制转向,使⽤digitalWrite()写⼊电压⾼低。
●液晶显示屏控制部分:lcd.setCursor()设置⽂字输⼊位置,lcd.clear()清屏,lcd.print()写⼊显示内
容。
4
C
1#includeIRremote.h
2#includeLiquidCrystal.h
3#includeAdafruit_TCS34725.h
4#includeServo.h
文档评论(0)