构建一款由 Arduino Uno Q驱动的双轮物联网机器人
我们小组的每个人都经常错过上午9点的课,当我们和朋友们聊起时,才发现这在大学生中是个普遍问题。于是当我们看到“电机”出现在可选组件列表中时,立刻明白自己要制作什么:一个能从你身边跑开的闹钟。我们把它叫做“逃逸闹钟”。
它做什么
Runaway 是一款由 Arduino Uno Q 驱动的双轮物联网机器人,它能主动避开你,迫使你从床上起身并真正醒来。我们很快意识到,让 Runaway 自己发出警报声音并不理想,因为我们的扬声器功率太弱。因此,我们还开发了一款配套的手机应用程序,让你可以在手机上设置闹钟。该应用会将闹钟触发信号发送给 Runaway,使其在指定时间自动启动。最棒的是,你无法通过手机关闭闹钟,必须手动按下 Runaway 上的按钮才能停止它。
我们是如何建造它的
我们使用Fusion 360设计了CAD模型,并经过了三次迭代后最终确定了设计方案。Runaway的“大脑”是Arduino Uno Q。我们选用了两个N20电机,因其具有高扭矩,同时通过L298N H桥电路来控制它们。一个超声波传感器帮助机器人检测并避开障碍物。我们利用H桥控制电机的方向和速度,使机器人的运动更加平滑和精准。机器人运动逻辑采用C++语言编写,并结合了全新的Arduino App Lab。配套的应用程序则在Android Studio中开发,以便手机能够连接机器人并触发警报。在开发过程中,我们运用了AI工具进行代码调试,以在有限的时间内提高效率。在Arduino Uno Q上,我们使用Python处理技术,通过Google Cloud系统实现机器人与应用程序之间的可靠通信。
我们遇到的挑战
我们最大的挑战是时间紧迫,尤其是我们试图集成多项高级功能。Arduino Uno Q 的使用比预期要困难得多。由于这是一款较新的板子,相关文档和在线资源较少,导致我们的开发时间增加了数小时。此外,新的 Arduino App Lab 也因工作流程与我们习惯的不同而带来了一些麻烦。我们尝试添加机器学习来识别机器人周围的空间,但最终在规定时间内无法实现。
我们引以为傲的成就
我们非常自豪地实现了在先进的Arduino Uno Q上运行一个完全可工作的失控警报机器人,结合C++实现实时电机控制,以及Python用于应用程序连接。成功让手机应用可靠地触发机器人动作,而无需任何从手机上“暂停”它的简便方法,这感觉是一次巨大的胜利。我们还完成了三次扎实的CAD迭代,并构建了逼真的规避行为,真正迫使你起身追赶它。此外,在疯狂的截止日期内,利用AI工具快速调试并完成所有工作,是我们原本认为无法做到的事情。
Runaway接下来会怎样
未来我们计划加入机器学习技术,以实现更智能的障碍物规避和躲避模式。同时,我们还打算实现自动充电功能,当电量低时可自行停靠充电。减小整体尺寸,打造更紧凑、便携的设计也已列入计划。我们希望提升其智能程度,使其更难被捕捉,例如增加随机路径变化或更快的反应速度。最后,我们希望开发一款更完善、更精致的应用程序,新增多种功能,如多重警报或自定义声音等。
本文编译自hackster.io





