极客DIY:利用Arduino 制作一个小机器人
引文
Arduino是一款开源电子原型平台,包含硬件(各种型号的Arduino板)和软件(Arduino IDE)。arduino的一些特点,开源架构。我们也可以很低的价格从网上购买到现成的控制板;统一接口的传感器,应有尽有的传感器组件。通过统一的插口,很方便就能连接不同扩展设备。作者提供了一些参考( 点击我)。
作者决定开始购买电子元件以及开发板来完成这次的任务,我需要至少两个电机、一些模块(Arduino)、L293D芯片等。下面就是需要用到的东西
arduino nano V3.0 ATMEGA328P(OSOYOO)
后来又用了Arduino Nano V3.0
Arduino Nano可以说是Arduino USB接口的微型版本,最大的不同是没有电源插座以及USB接口是Mini-B型插座。Arduino Nano是尺寸非常小的而且可以直接插在面包板上使用。其处理器核心是ATmega168(Nano2.x)和ATmega328(Nano3.0),,同时具有14路数字输入/输出口(其中6路可作为PWM输出),8路模拟输入,一个16MHz晶体振荡器,一个mini-B USB口,一个ICSP header和一个复位按钮。 考虑价格等因素于是选择了后者,当然可以利用 Arduino IDE编写程序,然后可通过Nano上ICSP header直接下载程序到MCU。
如果想要了解更多之前的芯片资料,可以访问Arduino网站。( 点击我)
确保之后的工作继续,我将Arduino Nano连接到我的电脑,打开 Arduino IDE然后复制好测试程序(找一个led灯闪烁测试程序),然后查看板子上LED灯是否按照程序执行。
在 RobotPlatform.com网站上面有关于L293D芯片的详细信息,视频(见文章最后)中详细介绍了利用面包板如何与板子连接,还有连接跳线的具体方法。视频中虽然有接线方法,但是作者提供了一个示例图,可以通过这个图来帮助你连接板子。
我在这里虽然使用了L293D芯片,当然如果你想要在此基础上增添更多的功能,可以通过跳线连接面包板的方式来扩展更多的功能。当然你需要确保提供5v的电压,而外接电池引脚是VIN,如果需要更多的电压,可以利用这一点,其自带稳压IC的。
Pin 8 -> VIN Nano
Pin 1 -> Pin 16
Pin 9 -> Pin 16
Pin 16 -> 5v供电(Nano)
Pin 12 -> Pin 13 (接地)
Pin 4 -> Pin 13 (接地)
Pin 12 -> Nano(Gnd )
Pin 10 -> D5 ( Nano)控制右边电机
Pin 15 -> D4 (Nano)控制右边电机
Pin 7 -> D7 (Nano )控制左边电机
Pin 2 -> D6 (Nano )控制左边电机
Pin 3 -> 左边电机负极
Pin 6 -> 左边电机正极
Pin 14 -> 右边电机负极
Pin 11 -> 右边电机正极
电池正极-> VIN(Nano)
电池负极->GND( Nano)
接线图
如果引脚被短路的接地或在其5V电路上会受到损坏甚至烧毁,所以需要小心这一点。所以作者后来考虑成本问题,又买了三个新的板子。这种布线方式允许Nano和电机被同一组电池供电,作者用的电池组可以供6v电压。
作者代码是在 论坛上选的,这样就可以看看电机是如何工作的了。
现在可以在Arduino IDE上面编译它了,在Arduino IDE 工具选项里面,选择processor(作者是 ATamega328),以及端口(dev/cu.wchusbserial1420)。详细程序代码: 点击我
将程序传至板子上,看看会发生什么,它应该在三秒内向前向后运动,当然这一切取决于连接方式,如果按照之前的来,应该之后会突然停止然后迅速向左转,然后再向前走。利用这篇文章的思路,结合自己的实际情况可以完成更多的事情。
视频观看
*参考来源: volumelabs,FB小编亲爱的兔子编译,转载请注明来自FreeBuf黑客与极客(FreeBuf.COM)