我想用Arduino做一个寻线小车都需要哪些东西?

作者&投稿:斐的 (若有异议请与网页底部的电邮联系)
我想用Arduino做一个寻线小车都需要哪些东西?~

  首先必须需要有一个车底盘如4WD或者2WD,然后需要一个双H桥电机驱动器,作为动力推动小车运动,这时就需要一个Arduino UNO控制器。它是整个系统的核心,需要判断前进还是后退,左转还是右转。要增加寻线功能还需要至少三个红外寻线传感器,为了方便插接再加上一个Arduino传感器扩展板,这样整个系统就完成了。最后装上电池,写好程序就可以实现功能了。

1.小车控制及驱动单元的选择
此部分是整个小车的大脑,是整个小车运行的核心部件,起着控制小车所有运行状态的作用。通常选用单
片机作为小车的核心控制单元,本文以台湾凌阳公司的SPCE061A单片机为例予以介绍。SPCE061是一款拥有
2K RAM、32KFlash、32 个I/O 口,并集成了AD/DA功能强大的16位微处理器,它还拥有丰富的语音处理功能,
为小车的功能扩展提供了相当大的空间。只要按照该单片机的要求对其编制程序就可以实现很多不同的功能。
小车驱动电机一般利用现成的玩具小车上的配套直流电机。考虑到小车必须能够前进、倒退、停止,
并能灵活转向,在左右两轮各装一个电机分别进行驱动。当左轮电机转速高于右轮电机转速时小车向右转,
反之则向左转。为了能控制车轮的转速,可以采取PWM调速法,即由单片机的IOB8、IOB9输出一系列频率固定
的方波,再通过功率放大来驱动电机,在单片机中编程改变输出方波的占空比就可以改变加到电机上的平均
电压,从而可以改变电机的转速。左右轮两个电机转速的配合就可以实现小车的前进、倒退、转弯等功能。
2.小车循迹的原理
这里的循迹是指小车在白色地板上循黑线行走,通常采取的方法是红外探测法。
红外探测法,即利用红外线在不同颜色的物体表面具有不同的反射性质的特点,在小车行驶过程中不断
地向地面发射红外光,当红外光遇到白色纸质地板时发生漫反射,反射光被装在小车上的接收管接收;如果
遇到黑线则红外光被吸收,小车上的接收管接收不到红外光。单片机就是否收到反射回来的红外光为依据来
确定黑线的位置和小车的行走路线。红外探测器探测距离有限,一般最大不应超过15cm。对于发射和接收红
外线的红外探头,可以自己制作或直接采用集成式红外探头。
(1)自制红外探头电路如图1所示,红外光的发送接收选用型号为ST168的对管。当小车在白色地面行驶时,
装在车下的红外发射管发射红外线信号,经白色反射后,被接收管接收,一旦接收管接收到信号,那么图中
光敏三极管将导通,比较器输出为低电平;当小车行驶到黑色引导线时,红外线信号被黑色吸收后,光敏三
极管截止,比较器输出高电平,从而实现了通过红外线检测信号的功能。将检测到的信号送到单片机I/O口,
当I/O口检测到的信号为高电平时,表明红外光被地上的黑色引导线吸收了,表明小车处在黑色的引导线上;
同理,当I/O口检测到的信号为低电平时,表明小车行驶在白色地面上。此种方法简单,价格便宜,灵敏度可
调,但是容易受到周围环境的影响,特别是在图1较强的日光灯下,对检测到的信号有一定的影响。
(2)集成式红外探头可以采用型号为E3F-DS10C4集成断续式光电开关探测器,它具有简单、可靠的工作性
能,只要调节探头上的一个旋钮就可以控制探头的灵敏度。该探头输出端只有三根线(电源线、地线、信号线)
,只要将信号线接在单片机的I/O口,然后不停地对该I/O口进行扫描检测,当其为高电平时则检测到白纸,当
为低电平时则检测到黑线。此种探头还能有效地防止普通光源(如日光灯等)的干扰。其缺点则是体积比较大
,占用了小车有限的空间。
3.红外探头的安装
在小车具体的循迹行走过程中,为了能精确测定黑线位置并确定小车行走的方向,需要同时在底盘装设4个
红外探测头,进行两级方向纠正控制,提高其循迹的可靠性。这4个红外探头的具体位置如图2所示。图中循迹
传感器共安装4个,全部在一条直线上。其中InfraredMR与InfraredML 为第一级方向控制传感器,InfraredSR
与InfraredSL 为第二级方向控制传感器。小车行走时,始终保持黑线(如图2 中所示的行走轨迹黑线)
在InfraredMR和InfraredML这两个第一级传感器之间,当小车偏离黑线时,第一级探测器一旦探测到有黑线,
单片机就会按照预先编定的程序发送指令给小车的控 制系统,控制系统再对小车路径予以纠正。若小车回到
了轨道上,即4个探测器都只检测到白纸,则小车会继续行走;若小车由于惯性过大依旧偏离轨道,越出了第
一级两个探测器的探测范围,这时第二级动作,再次对小车的运动进行纠正,使之回到正确轨道上去。可以看
出,第二级方向探测器实际是第一级的后备保护,从而提高了小车循迹的可靠性。
4.软件控制
其程序控制框图如图3。小车进入循迹模式后,即开始不停地扫描与探测器连接的单片机I/O口,一旦检测
到某个I/O口有信号,即进入判断处理程序(switch),先确定4个探测器中的哪一个探测到了黑线,如
果InfraredML(左面第一级传感器)或者InfraredSL(左面第二级传感器)探测到黑线,即小车左半部分压到黑线
,车身向右偏出,此时应使小车向左转;如果是InfraredMR(右面第一级传感 器)或InfraredSR(右面第二级传
感器)探测到了黑线,即车身右半部压住黑线,小车向左偏出了轨迹,则应使小车向右转。在经过了方向调整
后,小车再继续向前行走,并继续探测黑线重复上述动作。
由于第二级方向控制为第一级的后备,则两个等级间的转向力度必须相互配合。第二级通常是在超出第一
级的控制范围的情况下发生作用,它也是最后一层保护,所以它必须要保证小车回到正确轨迹上来,则通常使
第二级转向力度大于第一级,即level2>level1(level1、level2为小车转向力度,其大小通过改变单片机输出
的占空比的大小来改变),具体数值在实地实验中得到。
专家点评:根据本文所讲述的方法,我们可以较容易地做出按照一定轨迹行走的智能电动小车。但是按照
该方法行走的小车如果是走直线,有可能会是蛇形前进。为了使小车能够按轨迹行走的更流畅,可以在软件编
程时运用一些简单的算法。例如,在对小车进行纠偏时,适当提前停止纠偏,而不要等到小车完全不偏时再停
止,以防止小车的过冲。

首先必须需要有一个车底盘如4WD或者2WD,然后需要一个双H桥电机驱动器,作为动力推动小车运动,这时就需要一个Arduino UNO控制器。它是整个系统的核心,需要判断前进还是后退,左转还是右转。要增加寻线功能还需要至少三个红外寻线传感器,为了方便插接再加上一个Arduino传感器扩展板,这样整个系统就完成了。最后装上电池,写好程序就可以实现功能了。


Arduino是什么有什么优势
Arduino是一款便捷灵活、方便上手的开源电子原型平台。包含硬件(各种型号的Arduino板)和软件(Arduino IDE)。由一个欧洲开发团队于2005年冬季开发。其成员包括Massimo Banzi、Gianluca Martino、David Mellis和Nicholas Zambetti等。Arduino的优势 1、跨平台 Arduino IDE可以在Windows、Macintosh OS X、Linux三大...

如何使用Arduino?
外部中断(2号和3号):触发中断引脚,可设成上升沿、下降沿或同时触发。脉冲宽度调制PWM(3、5、6、9、10 、11):提供6路8位PWM输出。SPI(10(SS),11(MOSI),12(MISO),13(SCK)):SPI通信接口。LED(13号):Arduino专门用于测试LED的保留接口,输出为高时点亮LED,反之输出为低时LED熄灭...

arduino编程用的是什么软件(arduino是什么编程语言)
arino是通过Bootloader来进行程序下载的,所以一般情况下不支持仿真,但主控制器本身可能支持仿真功能,这时需要对应的仿真工具,但这样的话Arino也就不能用了或者不能直接用了,目前还没听说有什么方法可以进行硬件仿真的。

声音传感器模块儿怎么接
声音传感器模块连接的方法是:用Arduino来连接声音传感器连接非常简单。首先将模块上的VCC引脚连接到Arduino上的5V,并将GND引脚接地。在将OUT引脚连接到Arduino的数字引脚#7就可以了。并且为了从声音传感器中获取准确的读数,建议您首先对其进行校准。该模块具有一个内置电位计,用于校准数字输出(OUT)。通过...

初学者用arduino做什么比较好?设计一个产品
比较火的当然是智能家居了,可以先用WIFI远程控制arduino,可以关注arduino论坛,里面有许多爱好者。

猿编程可编程电机怎么用?
编写程序:在开发环境中编写控制猿编程电机的程序,可以使用Arduino IDE提供的编程语言或者其他编程语言。编写好程序后,将程序上传到主控板中。控制电机:将主控板通过USB线连接到电脑上,然后打开猿编程开发环境中的串口监视器,即可实现对电机的控制。根据编写的程序,可以控制电机的转速、方向、角度等。需...

arduino一般使用哪种方式搭建电路
2, Arduino 模块 Arduino 模块就是把电子元件做在一个电路板上,  引出几个管脚.  使用者只需把管脚连接到Arduino板, 即可组成电路.  这样做很方便,  初学者甚至不需要懂得元件或 电路, 就能开展电子制作.Arduino 模块种类非常多,包括:LED, 开关, 各类传感器等. 俺...

想用arduino做一个定时播放的小喇叭,选择什么型号的音频模块比较合适...
买个垃圾Mp3播放器,拆了,然后把播放键引出来,用光耦,通过Arduino控制光耦间接控制播放键。从而播放,Mp3播放器的价格烂到家了,有时候在街上的音像店可以买到20大洋一个的。

arduino哪个板子好用?有什么优点?
可以包含更大的程序(上面说的FLASH空间不是所有都可用,一般会有几K作为BOOTLOADER 就是引导程序 几K,可以忽略不计,多数程序都没有那么大,32K对于单片机来说已经很大了)。arduino产品序列性能更好的 还有2560。挑选的时候主要要看做工,价格,还有就是周边元件,很多1280或者2560使用的还是FT32的USB...

怎么用arduino单片机模拟一个ds18s20(ds1820)的信号
他靠单线端口通讯,就是它只需要一根线和单片机连接,剩下两根分别接电源正极和负极。编程如下:先使用一段汇编语言,将其保存为ds.asm \/*--- 程序名: 温度数据汇编精确时间采集 编写人: 杜洋 ---*\/ DSSP SEGMENT CODE ;程序段 PUBLIC DSS ;入口地址,跳转到DL标号处执行汇编程序 RSEG DSSP ;...

兴安盟15789436736: 我想用Arduino做一个寻线小车都需要哪些东西? -
阴曼长源: 硬件:1)小车(带电机)2)寻线传感器3)arduino控制器 软件:1)arduino2)处理传感器数据3)控制电机

兴安盟15789436736: 在arduino上编写程序做智能小车要调用哪些程序 -
阴曼长源: int outputPin = 5; int inputPin = 4; int cmdPin = 3; int pinI1=8;//定义I1接口 int pinI2=9;//定义I2接口 int speedpin1=11;//定义EA(PWM调速)接口 int pinI3=6;//定义I3接口 int pinI4=7;//定义I4接口 int speedpin2=10;//定义EB(PWM调速)接口 int ...

兴安盟15789436736: 基于arduino的智能小车需要配置驱动模块么?本人新手,感觉可以直接在板上写入程序即可,为什么还 -
阴曼长源: Arduino就是一个AVR的单片机啊,驱动能力几十mA,但即使小电机也有上百mA,堵转时更大,正常应该用:Arduino+双H桥电机驱动器+直流减速电机+电池+各种传感器(如红外循线,避障、超声波等)

兴安盟15789436736: Arduino巡线小车如何越过障碍 -
阴曼长源: 离地距离增加可以适当增加红外检测的放大倍数. 不过巡线小车设计用来在平面跑的,复杂地形有履带式.检测手段也会随之变化.

兴安盟15789436736: arduino 平衡小车需要用编码器A相B相吗 -
阴曼长源: 先必须需要有一个车底盘如4WD或者2WD,然后需要一个双H桥电机驱动器,作为动力推动小车运动,这时就需要一个Arduino UNO控制器.它是整个系统的核心,需要判断前进还是后退,这样整个系统就完成了.最后装上电池,左转还是右转.要增加寻线功能还需要至少三个红外寻线传感器,为了方便插接再加上一个Arduino传感器扩展板

兴安盟15789436736: 纯新人求助如何用arduino做出一个能够定向行走的小车 -
阴曼长源: 原地行走动画 重心不做水平移动只做肢体动作和重心的上下浮动 并且要做成循环的动画 vrp后边的什么意思我看不懂你要问的什么 无法解答 查看原帖>>

兴安盟15789436736: arduino 小车怎样搭电路 -
阴曼长源: arduino官网有arduino的原理图,保证原理图没有变化,或者变化不影响功能(比方说替换的电源部分的电路),那做出来的板子,就可以兼容arduino板子了.至于你说的设计外围电路,那得看你设计什么电路.假如说你是设计LCD1602这种...

兴安盟15789436736: 如果给安卓手机编程一个控制小车行动的程序?小车使用arduino UNO,写出大体的方法就可以了 -
阴曼长源: 硬件: 1)小车(带电机) 2)寻线传感器 3)arduino控制器 软件: 1)arduino 2)处理传感器数据 3)控制电机

兴安盟15789436736: arduino做循迹智能小车的问题 -
阴曼长源: 楼主这活我也玩过. 1、对于传感器不听话,很大可能是你的检测阈值设置得不是很好. 2、一般来说你的传感器个数应该比较多,可能6~10个吧,如此多的信号不应该都进入中断,再说单片机也没那么多外部中断可给你用,建议所有信号加或门进入外部中断(可分为左边一组,右边一组,两个中断).否则在主函数(更好的是,定时器)判断,这个信号最好连接到同一个端口上,如P0端口,通过位判断当前信号值. 3、L298N功率芯片,如果要调速且是直流电机,一般是对其控制使能脚施加占空比变化的信号,以达到不同的驱动效果.如果是步进电机,则控制方式有所不同,请查阅相应文献.

兴安盟15789436736: arduino 多个步进电机 接线,最好有图 -
阴曼长源: 我目前用的器材:两个两相四线步进电机,分别由两个l298n驱动,均安装在后轮上,主控制板是arduino2560,nrf24l无线芯片及ArduinoJoyStickShield板子进行遥控控制.遥控小车运动要求是:能前进,后退,左转,右转.目前问题:控制的程序不会写,参照过51单片机的程序,但是无法转换到arduino的IED.希望好心人帮帮忙,确实焦头烂额了!下面放出步进电机,正转_反转_减速_加速

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网