arduino爬坡机器人教材文档格式.docx
- 文档编号:19464948
- 上传时间:2023-01-06
- 格式:DOCX
- 页数:36
- 大小:6.63MB
arduino爬坡机器人教材文档格式.docx
《arduino爬坡机器人教材文档格式.docx》由会员分享,可在线阅读,更多相关《arduino爬坡机器人教材文档格式.docx(36页珍藏版)》请在冰豆网上搜索。
当操作机器人的时候要注意安全。
如果没有正确组装,机器人将不能正常工作甚至会损坏。
组装方法详见第一章机器人组装说明。
在一个足够大的地方进行调试工作
警告!
远离小孩。
尽管该产品看起来像个玩具,在无人照看的情况下,它可能会对小孩造成伤害。
故障发生时,请立即关闭电源。
如果电池被弄破,暴露在液体,火或其他热源面前,可能会导致电击。
不要拆开或修改充电器和其电缆。
当不充电时,请把充电器从电源上拔下。
不要拆卸或修改电机里面的电路板。
不要在热,潮湿或寒冷的环境下使用,因为该产品包含精密的元件。
如果处在一个极端的条件下,错误可能发生。
充电时请确认充电器插座是牢固的。
请仔细阅读本手册,在调试时注意机器人各关节的方向,尽量避免关节相撞。
注意!
机器人的电机需要定期维护以获得和维持恰当的性能。
在一个较大,平整的地方操作时机器人的表现效果会更好。
如果工作空间很小又不平的话,机器人可能会摔倒甚至损坏。
在启动了机器人或操作的时候请不要把住机器人。
在程序的下载过程中不要关闭机器人电源,否则程序会丢失或损坏。
电池!
套件里面包含锂离子(Li-Ion)电池做电源。
该锂离子(Li-Ion)电池是高能量可充电的电池,必须妥善保管,充电和使用。
把充电器接入交流电源并把他连到电池的充电接口上。
当充电器接到交流电源后,它上面的电源灯会亮起来并呈红色。
状态指示灯会呈绿色,当电池充电完成,绿色指示灯熄灭。
电池管理:
该锂电池在使用时不要把电能全部用光才充电,要保留一点点电量。
如果电池充足电后放置很长一段时间,电池性能会降低。
当不使用时,必须把电池与电路板或充电器断开,把电池存储在阴凉,干燥的环境中。
充电时间。
给电池充分充电需要大约40分钟。
这个时间与充电前电池里原有电量有关。
充电时要注意照看,当电池异常的发烫时应立即停止充电。
过度充电可导致电池损坏。
电池处理:
不要拆开或修改电池的连接或更改导线。
不要让物体进入电池的连接头,也不要让导体裸露在外。
不要在高温和极端的环境下使用。
把电池存储在阴凉,干燥的环境中。
在运输或存储时,让电池远离其他导体。
当电池的导线变破旧或磨损时,请更换这个电池。
紧急处理:
如果电池造破坏导致电解材料溅到皮肤上,立即用大量水冲洗皮肤。
如果电解材料溅到眼睛里面,请尽快就医。
电池里的电解材料是有毒物质,能对人和家庭环境、家具等造成污染和危害。
如果电池不能再被充电,请按照垃圾的处理方法或本国家的规则妥善处理。
不要通过焚烧来处理报废的电池。
一、机器人的组装
1.1.组装工具
工具:
尖嘴钳、十字螺丝刀等。
1.2.机器人零件表
1.驱动齿
2.电机
3洞洞板
4.洞洞板条
5.连接件
6.减震板
7.轮子
8.M3X10螺钉
9.M3螺母
10.轴
11.M3X20螺钉
12.尼龙垫片
1.3.装配步骤
在上一步了解完爬坡小车所需要的零件之后,这一步就要开始进行装配了,在组装爬坡小车的过程中由于零件较多机构环节较多,为了能够安全、准备、方便的装配,我们先进行预装,就是说把各个环节先组装起来,然后再进行总装。
具体装配步骤如下。
1)根据爬坡小车的机构因素和装配的排列顺序,首先我们要从下往上装配。
这里我们第一步是要组装爬坡小车的地盘,在这一步我们先准备好所需要的零件、底盘。
2)连接件固定在底盘上。
3)安装轮轴。
4)安装车轮。
5)安装减震板。
6)安装电机固定平台。
7)安装电机和驱动齿轮。
8)完成安装总图。
到这里我们所有组装工作已经完成。
二、系统概述
2.1.arduino介绍
要了解arduino就先要了解什么是单片机,arduino平台的基础就是AVR指令集的单片机。
1、什么是单片机?
它与个人计算机有什么不同?
一台能够工作的计算机要有这样几个部份构成:
中央处理单元CPU(进行运算、控制)、随机存储器RAM(数据存储)、存储器ROM(程序存储)、输入/输出设备I/O(串行口、并行输出口等)。
在个人计算机(PC)上这些部份被分成若干块芯片,安装在一个被称之为主板的印刷线路板上。
而在单片机中,这些部份全部被做到一块集成电路芯片中了,所以就称为单片(单芯片)机,而且有一些单片机中除了上述部份外,还集成了其它部份如模拟量/数字量转换(A/D)和数字量/模拟量转换(D/A)等。
2、单片机有什么用?
实际工作中并不是任何需要计算机的场合都要求计算机有很高的性能,一个控制电冰箱温度的计算机难道要用酷睿处理器吗?
应用的关键是看是否够用,是否有很好的性能价格比。
如果一台冰箱都需要用酷睿处理起来进行温度控制,那价格就是天价了。
单片机通常用于工业生产的控制、生活中与程序和控制有关(如:
电子琴、冰箱、智能空调等)的场合。
下图就是一个Atmega328P-PU单片机,基于AVR指令集的8位处理器,频率20MHz,存储器空间32KB。
3、什么是Arduino?
Arduino是一个能够用来感应和控制现实物理世界的一套工具。
它由一个基于单片机并且开放源码的硬件平台,和一套为Arduino板编写程序的开发环境组成。
Arduino可以用来开发交互产品,比如它可以读取大量的开关和传感器信号,并且可以控制各式各样的电灯、电机和其他物理设备。
Arduino项目可以是单独的,也可以在运行时和你电脑中运行的程序(例如:
Flash,Processing,MaxMSP)进行通讯。
Arduino板你可以选择自己去手动组装或是购买已经组装好的;
Arduino开源的IDE可以免费下载得到。
Arduino的编程语言就像似在对一个类似于物理的计算平台进行相应的连线,它基于处理多媒体的编程环境。
4、为什么要使用Arduino?
有很多的单片机和单片机平台都适合用做交互式系统的设计。
例如:
ParallaxBasicStamp,Netmedia’sBX-24,Phidgets,MIT’sHandyboard和其它等等提供类似功能的。
所有这些工具,你都不需要去关心单片机编程繁琐的细节,提供给你的是一套容易使用的工具包。
Arduino同样也简化了同单片机工作的流程,但同其它系统相比Arduino在很多地方更具有优越性,特别适合老师,学生和一些业余爱好者们使用:
∙便宜-和其它平台相比,Arduino板算是相当便宜了。
最便宜的Arduino版本可以自己动手制作,即使是组装好的成品,其价格也不会超过200元。
∙跨平台-ArduinoIDE可以运行在Windows,MacintoshOSX,和Linux操作系统。
大部分其它的单片机编译软件都只能运行在Windows上。
∙简易的编程环境-初学者很容易就能学会使用Arduino编程环境,同时它又能为高级用户提供足够多的高级应用。
对于老师们来说,一般都能很方便的使用Processing编程环境,所以如果学生学习过使用Processing编程环境的话,那他们在使用Arduino开发环境的时候就会觉得很相似很熟悉。
∙软件开源并可扩展-Arduino软件是开源的,对于有经验的程序员可以对其进行扩展。
Arduino编程语言可以通过C++库进行扩展,如果有人想去了解技术上的细节,可以跳过Arduino语言而直接使用AVRC编程语言(因为Arduino语言实际上是基于AVRC的)。
类似的,如果你需要的话,你也可以直接往你的Arduino程序中添加AVR-C代码。
∙硬件开源并可扩展-Arduino板基于Atmel的ATMEGA8和ATMEGA168/328单片机。
Arduino基于CreativeCommons许可协议,所以有经验的电路设计师能够根据需求设计自己的模块,可以对其扩展或改进。
甚至是对于一些相对没有什么经验的用户,也可以通过制作试验板来理解Arduino是怎么工作的,省钱又省事。
Arduino基于AVR平台,对AVR库进行了二次编译封装,把端口都打包好了,寄存器啦、地址指针之类的基本不用管。
大大降低了软件开发难度,适宜非专业爱好者使用。
优点和缺点并存,因为是二次编译封装,代码不如直接使用AVR代码编写精练,代码执行效率与代码体积都弱于AVR直接编译。
性能:
DigitalI/O数字输入/输出端口0—13。
AnalogI/O模拟输入/输出端口0-5。
支持ICSP下载,支持TX/RX。
输入电压:
USB接口供电或者5V-12V外部电源供电。
输出电压:
支持3.3V级5VDC输出。
处理器:
使用AtmelAtmega168328处理器,因其支持者众多,已有公司开发出来32位的MCU平台支持arduino。
arduino板子上基本端口如描述,对几个比较特殊的端口下面详细说明下:
VIN端口:
VIN是inputvoltage的缩写,表示有外部电源时的输入端口。
如果不使用USB供电时,外接电源可以通过此引脚提供电压。
(如电池供电,电池正极接VIN端口,负极接GND端口)
AREF:
Referencevoltagefortheanaloginputs(模拟输入的基准电压)。
使用analogReference()命令调用。
ICSP:
也有称为ISP(InSystemProgrammer),就是一种线上即时烧录,目前比较新的芯片都支持这种烧录模式,包括大家常听说的8051系列的芯片,也都慢慢采用这种简便的烧录方式。
我们都知道传统的烧录方式,都是将被烧录的芯片,从线路板上拔起,有的焊死在线路板上的芯片,还得先把芯片焊接下来才能烧录。
为了解决这种问题,发明了ICSP线上即时烧录方式。
只需要准备一条R232线(连接烧录器),以及一条连接烧录器与烧录芯片针脚的连接线就可以。
电源的+5V,GND,两条负责传输烧录信息的针脚,再加上一个烧录电压针脚,这样就可以烧录了。
2.2.Arduino驱动安装
首先在电脑上面打开光盘,找到Arduino项目开发文件夹,拷贝到你的电脑上你想放到的盘符上,例如D盘(建议不要放到桌面上),然后打开,可以看到如下:
光盘中所带arduinoIDE为1.0.3版本,是目前最新版本,IDE就是arduino的软件程序开发环境,里面已经集成了项目中所需要的很多外设库,还有一些其他设置,比如添加中文注释,为用户省去了很多麻烦。
IDE中所带库文件均经过调试,和光盘代码完全匹配。
arduino资料相关文件夹中是一些入门资料以及我们提供的arduino电路板原理图。
(注:
光盘中所带软件仅支持Windows系统。
其他系统请去官网下载。
)
Arduino控制板到手后,首先需要在电脑上把驱动装上,这样才可以进行各种实验。
首先打开包装,找到蓝色USB数据线,一端连接ARDUINO控制板另一端连接电脑USB端口。
本文以win732位为例,会出现识别到新硬件显示。
然后会开始查找系统内驱动。
如果没有找到驱动,会显示这个画面。
这时,需要在开始菜单,“计算机”上面点右键,点“属性”。
然后点击设备管理
会看到打了感叹号的未识别硬件
在未识别硬件上点右键,点击“属性”,选择更新驱动程序软件。
选择浏览计算机以查找驱动程序软件
然后目录选择你的arduino1.0所在目录的drivers目录
注意,如果您的计算机提示无法找到驱动,需要将目录进一步定位到\drivers\FTDIUSBDrivers即可
点击下一步,就可以安装好驱动了。
安装好驱动后,就可以显示是COM几端口,我这里显示的是COM14端口。
2.3.ArduinoIDE菜单介绍
接着我们介绍下Arduino的IDE界面,首先进入软件目录。
然后就可以看到arduino.exe文件,双击打开IDE,可以生成桌面快捷方式,方便以后使用。
首先映入眼帘的是下图的界面,工具栏按钮功能依次为“编译”--“上传”--“新建程序”--“打开程序”--“保存程序”--“串口监视器”
菜单栏上,首先看File菜单~介绍如下:
接下来看Edit菜单~介绍如下:
Sketch菜单介绍
Tools菜单介绍
Arduino也支持中文界面,如果英文界面看着不爽的话,,只要打开File-preferences,如下图中选择简体中文,点击OK,关闭后重新打开软件即可。
在正常使用之前我们还需要对arduino软件做如下设置:
1)打开ArduinoIDE,选择文件-参数设置,按如下设置。
2)选择工具-板卡,点选如图所示。
因为我们用的是328的芯片,如果为其他型号相应选择即可。
串口就选择电脑-设备管理器里面显示的串口号即可。
至此ArduinoIDE的设置基本完成。
可以编写编译代码进行开发了。
2.4.电机驱动扩展板L293D介绍
电机驱动扩展板L293D可驱动4路直流电机或者2路步进电机的同时还能驱动2路舵机。
使用时只要和328控制板对应插在一起就可以使用了。
arduinoIDE已经集成了直流控制库,在程序开头调用库AFMotor.h就可以,使用电机库文件时,定义电机端口,写电机状态可以控制电机。
两路舵机接口
两路电机接口
碰撞开关接口
外接电源接口
六路模拟接口
实物图
电机驱动扩展板L293D参数
*2个5V伺服电机(舵机)端口联接到Arduino的高解析高精度的定时器-无抖动!
*多达4个双向直流电机及4路PWM调速(大约0.5%的解析度)
*多达2个步进电机正反转控制,单/双步控制,交错或微步及旋转角度控制。
*4路H-桥:
L293D芯片每路桥提供.0.6A(峰值1.2A)电流并且带有热断电保护,4.5Vto36V。
*下拉电阻保证在上电时电机保持停止状态。
*大终端接线端子使接线更容易(10-22AWG)和电源。
*带有Arduino复位按钮。
*2个大终端外部电源接线端子保证逻辑和电机驱动电源分离。
三、实验操作
3.1.火焰传感器
3.1.1火焰传感器介绍
火焰传感器可以检测火焰或者波长在760纳米~1100纳米范围内的光源。
探测角度60度左右,对火焰光谱特别灵敏。
灵敏度可调,性能稳定。
端口说明:
DO为数字量输出,AO为模拟量输出。
3.1.2火焰传感器实验
接线图:
火焰传感器
利用火焰传感器控制LED灯。
例程:
intsensor=3;
//把火焰传感器接到3脚上
intval=0;
//保存火焰传感器的状态值
intLED=13;
//定义LED灯
voidsetup()
{
pinMode(sensor,INPUT);
//设置传感器引脚为输入模式
pinMode(LED,OUTPUT);
//设置LED引脚为输出模式
}
voidloop()
val=digitalRead(sensor);
//采集火焰传感器状态值0或1
if(val==0)//火焰传感器检测到信号
digitalWrite(LED,HIGH);
//打开LED
if(val==1)//火焰传感器没有检测到信号
digitalWrite(LED,LOW);
//关闭LED
}
知识点:
pinMode()
描述
将指定的引脚配置成输出或输入。
语法
pinMode(pin,mode)
参数
pin:
要设置模式的引脚
mode:
INPUT或OUTPUT
逻辑:
火焰传感器检测到火焰时,打开LED。
没有检测到时,关闭LED。
实验现象:
下载例程上电后,LED灯处于关闭状态,火焰传感器检测到火焰时,打开LED。
反之,关闭LED灯。
3.2.直流电机实验操作
控制电机正反转。
接线图如下,电机接在M1口。
电机接口
#include<
AFMotor.h>
intbuttonpin(9);
AF_DCMotormotor1
(1);
motor1.setSpeed(255);
{
motor1.run(BACKWARD);
//正转
delay(10000);
//延时10秒
motor1.run(RELEASE);
//停止
delay(5000);
//延时5秒
motor1.run(FORWARD);
//反转
<
扩展板L293D电机驱动库AFMotor
AF_DCMotor电机变量(接口)——设定直流电机的接口。
setSpeed(速度)——可以设定电机的速度,可设定速度范围是0到255。
电机变量.run(状态)——设定电机的状态,状态FORWARD为电机正转,状态BACKWARD为电机反转,状态RELEASE为电机停止。
电机正转10秒,停止5秒,反转10秒。
上电后,下载例程,电机正转10秒,停止5秒,反转10秒,再循环。
//把碰撞开关接到3脚上
//保存碰撞开关的状态值
//采集碰撞开关状态值0或1
if(val==0)//碰撞开关传感器检测到信号
if(val==1)//碰撞开关传感器没有检测到信号
碰撞开关传感器被触碰后,打开LED。
碰撞开关传感器没有被触动时,关闭LED。
上电后,LED灯处于关闭状态,碰撞开关传感器被触碰后,打开LED。
碰撞开关传感器被松开后,关闭LED灯。
四、使用说明
4.1.接线端口介绍
火焰传感器接9口;
爬坡电机接M1,灭火风扇电机接M3。
灭火电机
爬坡电机
4.2.操作说明
把机器人放在梯子底部,打开电源,机器人往上爬。
当火焰传感器检测到火焰信号时,机器人停止。
灭火风扇电机转动灭火。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- arduino 爬坡 机器人 教材