引文
Arduino是一款开源电子原型平台,包含硬件(各种型号的Arduino板)和软件(Arduino IDE)。
我们也可以很低的价格从网上购买到现成的控制板;统一接口的传感器,应有尽有的传感器组件。通过统一的插口,很方便就能连接不同扩展设备。作者提供了一些参考。
作者决定开始购买电子元件以及开发板来完成这次的任务,我需要至少两个电机、一些模块(Arduino)、L293D芯片等。下面就是需要用到的东西
L293D芯片
arduino nano V3.0 ATMEGA328P(OSOYOO)
后来又用了Arduino Nano V3.0
杜邦线
面包板(170孔)
机器人小车底盘套件、编码器以及电池盒
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)