智能小车Word文档格式.docx
- 文档编号:18665385
- 上传时间:2022-12-31
- 格式:DOCX
- 页数:17
- 大小:2.99MB
智能小车Word文档格式.docx
《智能小车Word文档格式.docx》由会员分享,可在线阅读,更多相关《智能小车Word文档格式.docx(17页珍藏版)》请在冰豆网上搜索。
为核心.完成寻线,避障,红外遥控和蓝牙遥控的功能,.套件包含了大量的趣味程序,并可扩展。
外置的电路模块,从而增加小车的使用功能.旨在让使用者在学习ARDUINO单片机时能脱
离枯燥的理论知识,在玩乐中获取单片机系统开发的能力。
随着电子技术、计算机技术和制造技术的飞速发展,数码相机、DVD、洗衣机、汽车等消费类产品越来越呈现光机电一体化、智能化、小型化等趋势。
各种智能化小车在市场玩具中也占一个很大的比例。
根据美国玩具协会的调查统计,近年来全球玩具销量增幅与全球平均GDP增幅大致相当。
而全球玩具市场的内在结构比重却发生了重大改变:
传统玩具的市场比重正在逐步缩水,高科技含量的电子玩具则蒸蒸日上,已经成为玩家行业发展的主流。
因此,遥控加智能的技术研究、应用都是非常有意义而且有很高市场价值的。
由于工业现场中大多数恶劣环境和危险环境中仍采用人工的操作方式,也促使我们对智能车的研究和开发。
现在的智能小车已在许多部门得到广泛应用。
例如焊接、喷漆、检测、医疗应用等。
另外,智能小车自动行驶功能的研究将有助于智能车辆的研究。
智能车辆驾驶任务的自动完成将给人类社会的进步带来巨大的影响,例如能切实提高道路网络的利用率、降低车辆的燃油消耗量,尤其是在改进道路交通安全等方面提供了新的解决途径。
智能车辆是一个运用计算机、传感、信息、通信、导航、人工智能及自动控制等技术来实现环境感知、规划决策和自动行驶为一体的高新技术综合体。
它在军事、民用和科学研究等方面已获得了应用,随着人工智能技术、计算机技术、自动控制技术的迅速发展,智能控制必将迎来它的发展新时代。
计算机控制与电子技术融合为电子设备智能化开辟了广阔前景。
理工学院、韩国理工大学对智能车辆也有较多的研究。
硬件设施
1.金属减速电机2个
2.优质轮胎2个
3.电机固定件2个
4牛眼万向轮
3.机器人底盘2片
4.L298N电机驱动板1个
7.ARDUINOUNO328控制板1个
5.ARDUINO传感器扩展板1个
9.云台1个
6.舵机1个
11.超声波模块1个
7.三组寻线模块
13.红外接收传感器
8.单片机遥控器
15.2000MA18650充电电池2节
16.18650电池盒一个
17.18650充电器一个
9.杜邦线40条
10.铜柱35MM长4个10MM2个
20.3MM螺丝螺母若干
系统硬件设施
三组寻线模块
红外遥控通信模块
超声波模块
蓝牙无线模块
传感器模块
红外遥控通信模块
超声波模块
三组寻线模块
调试中的问题
在调试过程中小车原地转,超声波壁障系统不好使,经过改动了一些程序后解决了这个问题。
小车加上左右转灯时灯直接亮,反接才好使,程序引脚编辑与接线不一致。
加风扇时,突然又小车原地转,经过加风扇的程序与原程序融合时发生了冲突。
小车单车轮转动动。
设计总结
经过几个礼拜的忙碌,在大家共同的努力下,终于给智能循迹
小车画上了句号。
谁说不上是完美,但总算成功了。
刚开始接触
这个项目,我们几个男生对其一点也不了解,无从下手。
后来从
硬件电路开始,慢慢了解其原理,也算知道个大概。
在这期间,
我们也遇到过很多问题。
最开始的便是寻迹电路板。
因为我们用
的是万能板,所以焊接起来有些困难,尤其是线路处理方面。
其
次是程序,
程序是不可能一次性成功的。
在制作的过程中有很多的艰难,比如在组装接线的过程中,由于接线错误,在接通电源
的时候电机板烧了等等现象,但是我们终于成功的做出了令我们满意的作品。
这不仅仅
是一件作品的成功,还使我们增加了自信心和挑战困难的勇气。
在此我们有了很大的收获。
致谢
因为是第一次动手应用自己所学的东西制作物品,所以还有各种不足,尽管这样,
但我们还是迈出了成功的脚步,在此期间还是离不开同学老师们的关心帮助,因此我们
要感谢在制作智能小车时各位人员的热心帮助:
感谢隋美娥老师、刘隆吉老师全程的热心辅导,在各种困难中给予帮助。
感谢李程远邱志军等同学在调试程序和拼装接线时提供的帮助。
经过我们的努力,终于收获了胜利的果实,这也离不开老师同学们的帮助和鼓励,再
次感谢你们。
\
参考文献
Arduino智能小乌龟使用手册
四和一(寻线避障红外遥控蓝牙遥控)多功能程序
手机控制蓝牙智能车
红外遥控智能车实验
超声波避障智能车
循迹智能车
基于arduino的趣味电子制作
附录1
intinputPin=A0;
//定義超音波信號接收腳位
intoutputPin=A1;
//定義超音波信號發射腳位
超声波智能避障车程序(ARDUINO)
L=左
R=右
F=前
B=後
*/
#include<
Servo.h>
intpinLB=6;
//定義6腳位左後
intpinLF=9;
//定義9腳位左前
intpinRB=10;
//定義10腳位右後
intpinRF=11;
//定義11腳位右前
intFspeedd=0;
//前速
intRspeedd=0;
//右速
intLspeedd=0;
//左速
intdirectionn=0;
//前=8後=2左=4右=6
Servomyservo;
//設myservo
intdelay_time=250;
//伺服馬達轉向後的穩定時間
intFgo=8;
//前進
intRgo=6;
//右轉
intLgo=4;
//左轉
intBgo=2;
//倒車
voidsetup()
{
Serial.begin(9600);
//定義馬達輸出腳位
pinMode(pinLB,OUTPUT);
//腳位8(PWM)
pinMode(pinLF,OUTPUT);
//腳位9(PWM)
pinMode(pinRB,OUTPUT);
//腳位10(PWM)
pinMode(pinRF,OUTPUT);
//腳位11(PWM)
pinMode(inputPin,INPUT);
//定義超音波輸入腳位
pinMode(outputPin,OUTPUT);
//定義超音波輸出腳位
myservo.attach(5);
//定義伺服馬達輸出第5腳位(PWM)
}
voidadvance(inta)//前進
digitalWrite(pinRB,LOW);
//使馬達(右後)動作
digitalWrite(pinRF,HIGH);
digitalWrite(pinLB,LOW);
//使馬達(左後)動作
digitalWrite(pinLF,HIGH);
delay(a*100);
voidright(intb)//右轉(單輪)
//使馬達(右後)動作
digitalWrite(pinLB,HIGH);
delay(b*100);
voidleft(intc)//左轉(單輪)
digitalWrite(pinRB,HIGH);
//使馬達(左後)動作
delay(c*100);
voidturnR(intd)//右轉(雙輪)
digitalWrite(pinLF,LOW);
//使馬達(左前)動作
delay(d*100);
voidturnL(inte)//左轉(雙輪)
digitalWrite(pinRF,LOW);
//使馬達(右前)動作
delay(e*100);
voidstopp(intf)//停止
delay(f*100);
voidback(intg)//後退
delay(g*100);
voiddetection()//測量3個角度(0.90.179)
ask_pin_F();
//讀取前方距離
if(Fspeedd<
10)//假如前方距離小於10公分
stopp
(1);
//清除輸出資料
back
(2);
//後退0.2秒
25)//假如前方距離小於25公分
ask_pin_L();
//讀取左方距離
delay(delay_time);
//等待伺服馬達穩定
ask_pin_R();
//讀取右方距離
if(Lspeedd>
Rspeedd)//假如左邊距離大於右邊距離
directionn=Rgo;
//向右走
if(Lspeedd<
=Rspeedd)//假如左邊距離小於或等於右邊距離
directionn=Lgo;
//向左走
if(Lspeedd<
10&
&
Rspeedd<
10)//假如左邊距離和右邊距離皆小於10公分
directionn=Bgo;
//向後走
else//加如前方不小於(大於)25公分
directionn=Fgo;
//向前走
voidask_pin_F()//量出前方距離
myservo.write(90);
digitalWrite(outputPin,LOW);
//讓超聲波發射低電壓2μs
delayMicroseconds
(2);
digitalWrite(outputPin,HIGH);
//讓超聲波發射高電壓10μs,這裡至少是10μs
delayMicroseconds(10);
//維持超聲波發射低電壓
floatFdistance=pulseIn(inputPin,HIGH);
//讀差相差時間
Fdistance=Fdistance/5.8/10;
//將時間轉為距離距离(單位:
公分)
Serial.print("
Fdistance:
"
);
//輸出距離(單位:
Serial.println(Fdistance);
//顯示距離
Fspeedd=Fdistance;
//將距離讀入Fspeedd(前速)
voidask_pin_L()//量出左邊距離
myservo.write(5);
floatLdistance=pulseIn(inputPin,HIGH);
Ldistance=Ldistance/5.8/10;
Ldistance:
Serial.println(Ldistance);
Lspeedd=Ldistance;
//將距離讀入Lspeedd(左速)
voidask_pin_R()//量出右邊距離
myservo.write(177);
floatRdistance=pulseIn(inputPin,HIGH);
Rdistance=Rdistance/5.8/10;
Rdistance:
Serial.println(Rdistance);
Rspeedd=Rdistance;
//將距離讀入Rspeedd(右速)
voidloop()
//讓伺服馬達回歸預備位置準備下一次的測量
detection();
//測量角度並且判斷要往哪一方向移動
if(directionn==2)//假如directionn(方向)=2(倒車)
back(8);
//倒退(車)
turnL
(2);
//些微向左方移動(防止卡在死巷裡)
Reverse"
//顯示方向(倒退)
if(directionn==6)//假如directionn(方向)=6(右轉)
back
(1);
turnR(6);
Right"
//顯示方向(左轉)
if(directionn==4)//假如directionn(方向)=4(左轉)
turnL(6);
Left"
//顯示方向(右轉)
if(directionn==8)//假如directionn(方向)=8(前進)
advance
(1);
//正常前進
Advance"
//顯示方向(前進)
"
附录2
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 智能 小车