如何利用Arduino 制作一个小机器人?

引文

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)

原文发布于微信公众号 - FreeBuf(freebuf)

原文发表时间:2016-04-12

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏FreeBuf

Linux应急故事之四两拨千斤:黑客一个小小玩法,如何看瞎双眼

某日,深信服刘同学,一位办事处拥有多年应急经验的老手,像往常一样忙碌而娴熟的处理所在区域的各种安全应急事件。突然,某客户求助,称深信服的安全感知产品检测到了异常...

1481
来自专栏大数据文摘

泄露数据中的秘密:中国网民的密码设置习惯

1592
来自专栏我是攻城师

程序员眼中的单词

3747
来自专栏双十二技术哥

Android性能优化(九)之被忽视的电量

移动互联网的大潮到来之后,我们都变身好男人:“用智能手机的男人都是好男人,因为晚上必须回家充电。”一句笑言,但也可以看得出来目前使用智能设备电量方面的问题。

2543
来自专栏安智客

图说ARM架构知识

ARM架构分为系统架构、安全架构、CPU架构。 ? CPU架构主要是指系统架构上的芯片实现。 安全架构主要是指PSA,前面介绍过。请参考: ARM公司PSA平台...

2689
来自专栏Zchannel

#安卓应用推荐#PingTools – 非常实用的全能网络工具

1333
来自专栏沃趣科技

隔壁老王的数据备份“变形”记

隔壁老王作为一名合格的DBA 守护数据安全是他不可推卸的责任 比如每一次的数据库备份 可是你懂的 那备份的速度 ? 于是乎 兢兢业业的老王一边盯着屏幕 一边若有...

4237
来自专栏安恒信息

发现黑色之旅“暗链”

那些我们已经看惯了的黑 咱们平常最了解的被黑,大概就是那种黑你一脸,继而昭告天下的类型,什么黑页啦,反共啦。一般这种就是出于纯粹的黑站,为了报复、宣传之类的。 ...

4126
来自专栏沈唁志

纪建站66天:自己都无法琢磨的博主心态

1673
来自专栏程序员互动联盟

杀毒软件是如何发现病毒的?

一、杀毒软件引擎与病毒库的关系 首先必须指出杀毒软件的引擎与其病毒库并没有什么直接的关系。杀毒引擎的任务和功能非常简单,就是对于给定的文件或者程序进程判断其是否...

8407

扫码关注云+社区

领取腾讯云代金券