只要 A 极接高电平、K 极接低电平,红外发射管就能发出红外线。可以在传感器加上外围电路来检测接收管的信号,进而确定是否接受到反射回来的红外线,如上图图右下方的器件 工作示意图。
所谓电压比较的原理就是给任一输入端一个参考电压(通过转动电位器来改变参考电压的 值),我的原理图中给 IN-输入参考电压,当 IN+的电压高于IN-时,OUT 为低电平,反之亦然,IN+仅需与IN-相差mV 就能在OUT 端得到比较结果。
在做 Arduino 扩展板的时候一定要对各端口的使用有个大致的规划,其实我觉得 Arduino 核心板的设计是不太理想的,见下图:
大家都知道,万能板相邻两孔的间距是标准的 100mil 也就是 2.54mm,图中 b= 5.08mm,图中
2.54<a<5.08,这就很尴尬,导致我之前焊的万能板如果要同时用 0-7 和 8-13 口的时候,板子需要很费劲的插上去,并且插上去万能板就弯曲了,如下图:
所以我为了避免那样的情况再次发生,我板子里的端口只用了 0-7 和 A0-A5(A 口也可以做数字输入输出,端口为 14-19),还有VIN-RESET。
电压比较器原理图
注:扩展板上加一个复位开关是非常方便调试的。
下图是用万能板焊好的电路,这个电路焊完非常有成就感,对于万能板来说应该密度还挺高 的。
怎么样,本人的焊接技术还行吧!
考虑到给舵机供电的原因,我决定给每个舵机独立用 7805 供电,还好 L7805CV 的电流最大有 1A,完全能满足舵机的需求,这个板我称作基础动力电源扩展板,预留了超声波接口和一个多余的舵机口,所以这个板用来实现超声波壁障也是没问题的。
都焊过前面那个板子了,焊这个板子当然是小菜一碟了。
插上调试,我的两个用万能板焊的板子没有任何问题,在佩服自己的同时也再次自信一下吧! 将电路装到小车上,开始调试……
4 程序部分
(时间仓促,未精调,只是实现功能)供大家参考: 先定义各接口
上图若干:
这个小车不算完,因为有太多的功能可供大家玩,比如我就装上了超声波和红外传感器,是不是挺萌的!
与其叫这个东西小车,不如说它是每个机器人爱好者入门的神车吧!
,摘要:随着科技的发展,芯片技术已经越来越与我们的生活紧密联系,他给我们的生活带来了不少的便利,不管是智能手机还是相机和电脑,都离不开芯片技术的发展与进步。而在最近几年,新出现了一种叫做Arduino的芯片开发板,他的成本低廉,开发简单方便,而且功能强大。可以非常方便的连接各种传感器,是一款便捷灵活、方便上手的开源电子原型平台,包含硬件(各种型号的开发板板)和软件(arduino IDE)。她适用于艺术家、设计师、爱好者和对于“互动”有兴趣的朋友们。Arduino能通过各种各样的传感器来感知环境,通过控制灯光、马达和其他的装置来反馈、影响环境。我在这里就是使用的Arduino的开发平台,充分利用他的各种便利特性设计了这样的一款自动指南小车,这款自动指南小车可以利用传感器自动采集环境数据从而按照程序自动运行,他虽然只是一个简单的应用而已但是已经能够初步表现出了Arduino开发平台的宽广潜力和应用价值。
摘要:芯片;Arduino;自动指南小车;传感器
Abstract:Absrtact: with the development of science and technology, chip technology has been more and more closely related to our life, it has brought us a lot of convenience, no matter smart phone, camera and computer, can not do without the development and progress of chip technology. In recent years, a new chip development board called Arduino has emerged, which is inexpensive, easy to develop, and powerful. It is a convenient and flexible open source electronic prototype platform, including hardware (various types of development board) and software. She applies to Artists, designers, enthusiasts, and friends interested in "interaction". Arduino can sense the environment through a variety of sensors, feedback by controlling lights, motors, and other devices to influence the environment. I'm using the Arduino development platform here, and I've designed an automatic guide car that uses sensors to automatically collect environmental data and run automatically according to the program, taking advantage of its various convenience features. Although he is only a simple application, he has been able to demonstrate the broad potential of the Arduino development platform and Applied value.
Absrtact: chip Arduino; automatic guide car; sensor
目 录
1. 绪论1
1.1自动指南小车的研究1
1.1.1背景1
1.1.2自动指南小车的研究目的1
1.1.3自动指南小车的研究意义2
1.2国内外研究的概况2
1.3自动指南小车系统的发展史3
1.4主要工作3
1.5小结3
2. 基于Arduino开发板的自动指南小车控制系统的整体设计4
2.1 自动指南小车控制系统的整体设计4
2.1.1 寻线功能的实现4
2.1.2 避障功能的实现6
2.1.3 超声波测距功能的实现8
2.1.4温度传感功能的实现9
2.1.5红外控制功能的实现11
2.2 自动指南小车系统的结构框图14
2.3 系统需要注意的几个要点15
2.4 小结15
3. 主控制器16
3.1 微处理器介绍17
3.1.1 ATMEGA 32818
3.1.2 主要特性说明19
3.1.3 各个引脚说明19
3.2 由ATMEGA 328组成的Arduino开发板介绍19
3.2.1 Arduino开发板的特性说明20
3.2.2 Arduino开发板对应的扩展板21
3.3 自动指南小车驱动系统介绍21
3.3.1 驱动系统模块的运作方式21
3.3.2 PWM的介绍22
3.4 PID技术介绍22
3.5 总结23
4. 主控制器软件的设计25
4.1 Arduino编程简介25
4.2 各种模块设计26
4.2.1 寻线和红外避障传感器程序设计26
4.2.2 超声波传感程序设计27
4.2.3 DS18B20温度传感程序设计28
4.2.4 红外遥控程序设计29
4.3 程序逻辑与思路30
4.4 总结30
5. 系统整体调试与总结32
5.1 软件的调试与运行32
5.2 设计存在的不足32
5.3 设计可能的改进与完善33
参考文献34
附录35
致谢36
DIY 制作 Arduino 指南小车
想必每位有志于在机器人领域发展,为人类未来创造更加美好生活的有志之士(废话也是必 不可少的有木有)入门必不可少接触的一个练手之物便是指南小车,但是,一套现成的指南 小车全套下来要上千大洋有木有,所以我觉得我自己可以动手 DIY 一台这样神车出来,一来满足一下我练手的需要,二来将本人用万能板制作 Arduino 扩展板的经验介绍给大家。爱
DIY,爱机器人,就一起来动手证明一下你自己吧。不当之处望大家积极指正。 整车尺寸:135*138*85mm
1 材料和工具:
360 度连续旋转舵机两个铝合金型材若干
万向轮*1
arduino 核心板*1
ST188 光电传感器*2
LM339N 电压比较器*1
103 电位器*4
IN4007 二极管*1 发光二极管*5 L7805CV*3
47uf 电解电容 6
107 钽电容*1
1K 电阻*5
10K 电阻*4 微动开关*2
11.1V 锂电池*1(航模用,不用担心功率不足) 各种杜邦线、插头若干(用起来方便到爆)
部分元件如下图:
工具就不多介绍,见下图
2 结构制作部分
前天 10:33 上传下载附件 (16.34 KB)
铝合金材料
加工好的全部的铝合金组件(全部手工)
机械结构组装好后就基本成型了,黑色的是绝缘电工胶带,便于安放各种电路板。
这个轮子是在街上买的万向轮然后把轮子单独拆了下来,轮子厚 20mm,直径 50mm。
轮子通过舵机的摆臂固定上,这样很方便的连接舵机。
万向轮装上去,万向轮高 35mm,后面俩轮子装到舵机上底板正好离地 35mm,万向轮装上去正好合适,很幸运。
3 电路制作部分:
下图是我从网上买的光电传感器及其基于 LM339N 的电压比较器比较器
但是用买来的光电传感器各种测试不理想,而且还得用导线跟 Arduino 连接,所以我就有了自己 DIY 的年头,我专门花一周时间学习了 Altium designer 9,所以参考别人的光电传感器电压比较强模块我画了原理图也大致用 PCB 规划了一下走线,然后用万能板焊接,这个过程之后还是相当有成就感的。
光电传感器模块
Header2 方便接跳线帽,可以选择是加电就返回信号,还是对发光二极管控制才返回信号, 我用的加电就返回信号。
下图是模块的走线规划。
光电传感器由发射二极管和接收管组成,A、K 是红外发射二极管的正负极,C、E 是接收管的正负极。如图: