Arduino UNO板是硬件交互中常用的工具,利用Arduino UNO板和红外线传感器的联动,UXD的学员完成了跟着热源产生行为改变的随感小车制作。今天UXD就给大家来复盘下,零基础小白是如何完成随感小车制作的全过程。 分享人 -Han- UXD在读学员 申请交互设计方向 以下是我们本次随感小车制作过程中所需要的电路图,在实际操作之前,同学已经在老师的带领下完成了电路图重点知识的领会。本次随感小车主要涉及的硬件包括:1.红外线传感器/2.Arduino UNO板/3.L9110S电机驱动模块/4.DC直流电机/5.充电宝/6.面包板 以上排序为1.红外线传感器/2.Arduino UNO板/3.L9110S电机驱动模块 /4.DC直流电机/5.充电宝/6.面包板 本文我将从如下几个方面来还原随感小车制作全过程。 01 红外信号传输部分 02 电机驱动模块组装 03 红外传感器输出信号调试 04 组装测试 01 红外信号传输部分 红外线传输部分的连接电路示意图如上图所示,原理如下: 红外线传感器的VCC引脚接面包板的上的火线(红线); 红外线传感器的GND引脚接面包板的上的地线(蓝线); 1.红外线工作原理 红外线传感器是利用红外线的物理性质来进行测量的传感器。红外线又称红外光,它具有反射、折射、散射、干涉、吸收等性质。任何物质,只要它本身具有一定的温度(高于零度),都能辐射红外线。我们利用这个原理去控制小车行为。 红外线传感器实拍@UXD 2.测试红外线 在制作小车之前,需要测试红外线的感应功能。在一定区域内,输出指示灯亮起说明在一定范围内,可以感应到发热物体。距离范围的灵敏程度可以通过红外线传感器中的分压器(potentiometer)控制。 红外线的测试视频@UXD 3.面包板的功能介绍 在搭建电路时,面包板是最基础的零件之一。面包板上有很多小插孔,专为电子电路的无焊接实验设计制造。由于各种电子元器件可根据需要随意插入或拔出,免去了焊接,节省了电路的组装时间,而且元件可以重复使用,所以非常适合电子电路的组装、调试和训练。 02 电机驱动模块组装 我们需要对L9110S电机驱动模块、DC直流电机与Arduino UNO板接线进行线路的连接,如图所示: 在L9110S电机驱动模块的输入端, L9110S电机驱动模块的VCC端口连接面包板的火线(红线); L9110S电机驱动模块的GND端口连接面包板的地线(蓝线); 这两个端口的连接负责给电机模块进行供电。 L9110S电机驱动模块的A-IA端口连接Aruino UNO板数字电路的2号引脚pin; L9110S电机驱动模块的A-IB端口连接Aruino UNO板数字电路的3号引脚pin; L9110S电机驱动模块的B-IA端口连接Aruino UNO板数字电路的4号引脚pin; L9110S电机驱动模块的B-IB端口连接Aruino UNO板数字电路的5号引脚pin; 这里的四个接口负责电的流通。 面包板上火线端需要接到Arduino Uno的5v引脚; 面包板上地线端需要接到Arduino Uno的GND引脚; 在L9110S电机驱动模块的输出端,上方的马达由A-IA与A-IB接口控制,下方的马达由B-IA与B-IB接口控制。 03 红外传感器输出信号调试 红外线传感器的感应结果将输出到Arduino的串口监视器上: 在Arduino软件程序中,通过红外线传感器的输入数据0或1来控制小车左右轮的转与不转。 下面展示感应小车转动方式的关键程序语句: if ((BLOOD_left == 0) && (BLOOD_right == 0) && (S<10.00)) { Serial.println("Beast is forwarding!"); digitalWrite(2, HIGH); digitalWrite(3, LOW); digitalWrite(4, HIGH); digitalWrite(5, LOW); } if (BLOOD_left == 1 && BLOOD_right == 1) { Serial.println("Beast is backwarding!"); digitalWrite(2, LOW); digitalWrite(3, LOW); digitalWrite(4, LOW); digitalWrite(5, LOW); } if (BLOOD_left == 0 && BLOOD_right == 1) { Serial.println("Beast is turning left!"); digitalWrite(2, HIGH); digitalWrite(3, LOW); digitalWrite(4, LOW); digitalWrite(5, LOW); } if (BLOOD_left == 1 && BLOOD_right == 0) { Serial.println("Beast is turning right!"); digitalWrite(2, LOW); digitalWrite(3, LOW); digitalWrite(4, HIGH); digitalWrite(5, LOW); } 下图展示的就是红外线成功感应后小车左右轮的转动情况: 04 组装测试阶段 完成上述连接后,就可以来到组装测试环节。 小车组装前一片狼藉状态实拍,不过马上就可以看到满地飞奔的小车了。 最后我们来看一下小车组装完成后的运动效果,效果还是挺不错的,后期可以根据不同的需要对小车的外观进行优化,最终就可以得到满意的成品啦。 - 导师说 - Shizhe Sun 爱丁堡大学Design Informatics UXD交互课程金牌导师🏅️ Arduino UNO的应用场景非常丰富,这也得益于arduino有非常丰富的配套原件。我们可以通过简单的处理,即可用arduino实现人与机器的交互互联。UXD大量的基础硬件小课程,可以帮助零基础的同学快速掌握硬件交互必要的原理和知识。 完成此类原型机的制作后,同学们可以根据自己的需要对小车进行迭代和优化,最终做出想要的交互产品。比如帮助用户进行货物搬运的跟随装货小车、智能搬运机等。 |
|