收藏 分享(赏)

Arduino机器人制作入门教程.pdf

上传人:weiwoduzun 文档编号:3580792 上传时间:2018-11-13 格式:PDF 页数:72 大小:2.03MB
下载 相关 举报
Arduino机器人制作入门教程.pdf_第1页
第1页 / 共72页
Arduino机器人制作入门教程.pdf_第2页
第2页 / 共72页
Arduino机器人制作入门教程.pdf_第3页
第3页 / 共72页
Arduino机器人制作入门教程.pdf_第4页
第4页 / 共72页
Arduino机器人制作入门教程.pdf_第5页
第5页 / 共72页
点击查看更多>>
资源描述

1、 1Arduino 机器人制作入门教程 深圳市中科鸥鹏智能科技有限公司 版权所有 2014年 9月 C 5 A rduino机器人制作入门教程 2 目 录 第一章 Arduino教学机器人硬件组装和编程入门1 1 本体组装.1 2 Arduino 硬件和驱动安装 .7 3 Arduino 编程环境和编程入门10 第二章 机器人点亮一个 LED 灯和串口通信.14 1 点亮一个 LED灯.14 2 Arduino 机器人与 PC通信 19 3 通过 PC端控制 LED灯亮灭 .22 第三章 伺服电机控制和机器人运动控制.27 1 伺服电机调零.27 2 伺服电机旋转.31 3 机器人运动控制.

2、33 第四章 机器人触觉导航.39 1 触须电路搭建与测试.39 2 机器人触须导航程序设计.43 第五章 机器人红外导航.52 1 红外电路搭建与测试.52 2 机器人红外导航程序设计.58 第六章 机器人人机交互和显示技术.64 1 机器人按键控制 LED灯亮灭.64 2 数码管显示机器人信息.66 C 5 A rduino机器人制作入门教程 1 第一章 Arduino 教学机器人硬件组装和编程入门 1 本体组装 本节将指导你组装 Arduino 教学机器人,必须依照每个组装步骤说明仔细组装。 1.1 组装工具 图 1.1 所示的工具是比较通用的工具,一般家庭或学校都有,在一些五金商店也

3、可以买到。在 与书本配套的机器人套件中已经配有此套工具。 图 1.1 机器人组装工具 1.2 安装机器人底盘零件 零件列表分为 4 类:金属杆件,螺钉与铜螺柱,万向轮,电机套件与电池盒。 金属杆件名称及数量 图 1.2 金属杆件图 螺钉与铜螺柱及数量 万向轮名称及数量 F) 2*11 金属杆件:2个 D) 开槽金属杆件: 2个 C) 1*5 金属杆件:2 个 E) 2*10 金属杆件:2个 1、尖嘴钳 2、螺丝刀 B)2*2 转弯件:4 个 A) 1*1 金属转弯件:2个C 5 A rduino机器人制作入门教程 2图 1.3 螺钉与铜螺柱图 图1.4 万向轮图 电机套件与电池盒名称及数量

4、图 1.5 电机套件与电池盒图 1.3 机器人组装步骤 步骤 1:组装机器人车体 图 1.6 步骤1 组装后的效果图 1 A)M3*6 平头螺钉:3个 B)M3*6 圆头螺钉:34个 C)M2.5*6 电屏蔽螺钉2个 D)M3*8 圆头螺钉:8 个 E)12mm 铜螺柱:4 个 F)20mm 铜螺柱:4 个 万向轮 1个 2)电池盒:1 个 1)车轮皮带:2个 3)车轮:2 个 4)伺服电机:2个 (1)完成组装步骤 1 所需零件: 1)M3*6 圆头螺钉:11颗 2)2*10 金属杆件:2 个 3)2*11 金属杆件:2 个 4)20cm 铜螺柱:4 个 5)1*5 金属杆件:2 个 6)开

5、槽金属杆件:1 个 (2)组装说明 1)图 1.6 和图 1.7 是步骤 1 需要完成的组装内 容。 2)图 1.6 横向为底盘框架的长,采用 2*11 金C 5 A rduino机器人制作入门教程 3图 1.7 步骤1 组装后的效果图 2 步骤 2:组装机器人电机安装支架 图 1.8 组装后的前方效果图 图 1.9 组装后的后方效果图 图 1.10 组装后的侧方效果图 步骤 3:电机的安装 (1)完成组装步骤 2 所需零件: 1)1*1 金属转弯件:2 个 2)2*2 金属转弯件:4 个 3)开槽金属杆件:1 个 4)M3*6 圆头螺钉 :10颗 (2)组装说明 1) 组装方式参照图 1.

6、8、 图 1.9 和图1.10。 2) 先按照图 1.8 和图 1.9将 4 个2*2金属 转弯件安装于底盘前部的两侧,用于固定伺 服电机。再按图 1.10 用 2 个 1*1 金属转弯 件将开槽金属杆件固定于前部,用于安装传 感器或者其它工具。 C 5 A rduino机器人制作入门教程 4图 1.11 伺服电机安装侧面图 图 1.12 步骤 3 之伺服电机安装底部图 步骤 4:车轮、皮带和电池盒的安装 图 1.13 安装车轮和轮皮带的效果图 图 1.14:安装电池盒图 1 图 1.15:安装电池盒图 2 步骤 5:安装万向轮 (1)完成组装步骤 3 所需零 件: 1)伺服电机:2 个 2

7、)M3*8 圆头螺钉:8 颗 (2)组装说明 1) 按图1.11和图1.12 安 装伺服电机。 2)用 8 颗 M3*8 圆头螺钉 将两个伺服电机安装于底盘 两侧前端。 3)图 1.11 伺服电机安装 侧面图; 图 1.12 为伺服电机 安装底部图。 (1)完成组装步骤 4 所需零件: 1)车轮皮带:2 个 2)车轮:2个 3)3*4 电池盒:1 个 4)M3*6 平头螺钉 :2 颗 5)M2.5*6 电屏蔽螺钉:2 颗 (2)组装说明 1)先将车轮皮带套到车轮上,再用 两颗 M2.5*6 电屏蔽螺钉将车轮安装到 电机上,图 1.13 为安装好的效果图。 2) 用 2 颗M3*6 平头螺钉将电

8、池盒安 装到底盘上开槽金属杆件上, 如图 1.14 和图 1.15 所示。 C 5 A rduino机器人制作入门教程 5图 1.16 万向轮安装后的后视效果图 图 1.17 万向轮安装后的侧视效果图 图 1.18 组装完成的机器人底盘总体效果图 步骤 6 安装 Arduino 控制板和扩展学习板 (1)完成组装步骤 5 所需零件: 1)12mm 铜螺柱:4 个 2)M3*6 圆头螺钉:8 颗 3)万向轮:1 个 (2)组装说明 1)首先用 4 颗 M3*6 圆头螺钉 将4个12mm铜螺柱安装到万向轮 上。 2) 再把万向轮安装于底盘的尾 部, 安装方法如图 1.16 和图 1.17 所示。

9、 3)到此机器人底盘便组装完 毕,图 1.18所示为组装完毕的机 器人底盘整体效果图。 C 5 A rduino机器人制作入门教程 6图 1.19 机器人组装完成侧面图 图 1.20 机器人组装完成前部图 图 1.21 机器人组装完成上部图 (1)完成组装步骤 6 所需零件: 1)Arduino控制板:1 个 2)M3*6 圆头螺钉:3 颗 3)M3*6 平头螺钉:1 颗 4)扩展学习板:1 个 (2)组装说明 1)首先使用两颗 M3*6 圆头螺钉 将扩展学习板安装于机器人底盘前 上部。 2)再使用一颗 M3*6 圆头螺钉和 一颗 M3*6 平头螺钉将 Arduino 教 学板安装到底盘后部

10、开槽金属杆件 的两个铜螺柱上。安装方式参照图 1.19、图1.20 和图1.21。 3)到此机器人组装全部完成。 C 5 A rduino机器人制作入门教程 7 2 Arduino硬件和驱动安装 2.1 Arduino 控制板介绍 图 1.22 Arduino UNO 学习板说明图 这里使用的 Arduino 控制板是 Arduino 系列产品中的一个新成员,如图 1.22 所示,其接口 电压为:712V,有 USB 串口下载和 ISP 下载两种程序下载模式,控制芯片是 Atmega8 芯片, 该芯片具有数字引脚、模拟引脚、串口通信引脚、PWM 输出引脚、外部中断引脚、SPI 通信端 口和

11、TWI通信端口。具体的引脚说明如下: 数字引脚:013(共 14 个数字 IO 口) ; 模拟引脚:A0A5(为区分数字引脚,在引脚前加 A) ; 串行通信:0,1(这些引脚是一些数字引脚的第二功能;0 作为 RX,即接收数据引脚;1 作 为 TX,即发送数据引脚) ; PWM 输出:3,5,6,9,10,11(这些引脚是一些数字引脚的第二功能) ; SPI 通信:10(SS) ,11(MOSI) ,12(MISO) ,13(SCK) (这些引脚是一些数字引脚的 第二功能) ; TWI通信:A4(SDA) ,A5(SCL) (这些引脚是一些模拟引脚的第二功能) ; 2.2 Arduino 控制

12、板原理图 复位按键 USB 下载 端口 电源接口 14 个数字 IO 口 AT ISP 下载接口 AV R 芯片 6 个模拟 IO 口 C 5 A rduino机器人制作入门教程 8 图 1.23 Arduino 控制板原理图 想详细了解 Arduino 控制板的电路连接及芯片连接可参考图 1.23。 2.3 Arduino控制板硬件驱动安装 (1)将数据线的圆口端插在 Arduino 控制板上,如图 1.24 所示。 图 1.24 数据线的方口端插到 Arduino 控制板图 (2)将数据线扁口端插入电脑的一个 USB 接口上。 (3) Arduino 控制板与电脑连接后,打开设备管理器,

13、会发现未安装驱动的设备。如图 1.25 所 示。 图 1.25 查看设备管理器图 (4) 将机器人配套光盘放入电脑光驱中,双击如图 1.26 所示的光盘图标进入光盘。然后双击软 件文件夹,再双击开发辅助工具文件夹,在开发辅助工具文件夹内看到名为“CH341SER.EXE”的 Arduino 控制板硬件驱动文件,如图 1.27 所示。 图 1.26 双击光盘图标进入光盘 图 1.27 Arduino 控制板硬件驱动文件 (5)双击图 1.27 所示图标,产生如图 1.28 所示的界面。单击安装,等待十几秒文件自动安装,C 5 A rduino机器人制作入门教程 9 待安装成功将弹出图 1.29

14、 所示的对话框,单击“确定”Arduino 控制板硬件驱动安装完成。安装完 成后再去查看设备管理器,此时端口(COM 和 LPT)选项下的感叹号没了,感叹号“USB2.0-Serial” 端口变成“USB-SERIAL CH340 (COM5)”端口,(COM5)由连接的 USB 端口决定。如图 1.30 所示为安 装成功感叹号“USB2.0-Serial”端口变成“USB-SERIAL CH340 (COM5)”端口的效果图。 图 1.28 安装 Arduino控制板硬件驱动界面 图 1.29 安装成功弹出的对话框 图 1.30 变成“USB-SERIAL CH340 (COM5)”端口效果

15、图 C 5 A rduino机器人制作入门教程 10 3 Arduino编程环境和编程入门 3.1 Arduino 编程环境获取 Arduino 开发环境是以 AV R - G C C 和其他开源软件为基础,并采用 Java 编写,软件无需 安装,下载完成解压缩后就可以直接打开使用。软件可以从 Arduino 的网站 http:/www.arduion.cc上免费下载,如图 1.31为 Arduino 的网站截图。 图1.31 登录 Arduino 网站截图 在 Arduino 网站中找到如图 1.32 所示的界面,并找到红色框内的选项,选择你电脑对 应的版本下载下来。 Windows In

16、staller选项是下载 Arduino软件的 Windows下的可执行文件, Windows 选项是下载下载 Arduino 软件的 Windows 下的压缩文件。前者需要安装,后转免 安装。 图 1.32 选择 Arduino开发环境下载版本截图 图1.33 Arduino开发环境启动图标 本文主要讲解免安装压缩文件如何找到 Arduino 开发环境。首先解压 Windows 选项下 载的压缩包,点击进入解压文件,并找到如图 1.33 所示的 Arduino 开发环境启动图标,双 击图标便启动 Arduino 开发环境。弹出如图 1.34所示的 Arduino 开发环境界面图。 C 5 A

17、 rduino机器人制作入门教程 11图1.34 Arduino 开发环境界面 3.2 编程入门 Arduino 开发环境菜单栏下方是最常用的 5 个功能按钮,读者需要了解一下这 5 个功能 按钮,如图 1.35 所示。这 5 个功能按钮依次是:Verify(校验)、Upload(上传)、New(新建)、 Open(打开)、Save(保存)。 图1.35 Arduino 开发环境菜单栏下方 5 个按钮 各按钮的具体功能如下: 效验 上传 新建 打开 保存C 5 A rduino机器人制作入门教程 12Verify(校验),用以完成程序的检查与编译。 Upload(上传),将编译后的程序文件

18、上传到 Arduino 板中。 New(新建),可新建一个程序文件。 Open(打开),打开一个存在的程序文件,Arduino 开发环境下的程序文件后缀名 为.pde。 Save(保存),保存当前程序文件。 下面将通过调用 Arduino开发环境封装的程序实现 LED灯闪烁的例子。 Arduino 控制板 的 13 号脚与一个 LED灯连接,如图 1.36 所示。控制 13 号脚 LED 灯闪烁的程序为 Blink程 序,直接调用 Blink 程序便可看到 Arduino 控制板上 13 号 LED灯闪烁。 图1.36 连接 13 号引脚的 LED灯位置示意图 首先点击 Open 按钮,选择

19、01.Basics Blink,再点击 Blink 选项,Blink 程序就可以加 载到 Arduino开发环境的编辑区,如图 1.37 为寻找 Blink 程序选项示意图。 图1.37 寻找 Blink 程序选项示意图 点击“校验”按钮 实现对程序的编译和检查。等待片刻后状态栏会提示编译错误, 如果编译没有错误则提示 Done compiling(程序编译完成)。在状态栏的黑色区域会显示有信 息提示去,用来显示编译错误或编译完成后的大小,如图 1.38 所示,Blink 程序编译后的大 小为 1084 bytes。 与 13 号脚连 接的 LED灯 C 5 A rduino机器人制作入门教程

20、 13图1.38 Blink 程序编译后的大小 编译完成后连接 USB 下载线,点击“上传”按钮 ,点击上传可能会出现选择下载 端口对话框,如图 1.39所示。选择 USB 连接线对应的端口,点击确认便可。上传成功状态 栏会有上传成功提示: Done uploading。 如图 1.40所示的提示信息。 上传完成后观察到 Arduino 控制板上 LED 灯不停闪烁,Arduino 控制板通过 LED 闪烁的方式告诉你,你已经会使用 Arduino 了,Arduino 的使用就是这么简单。 图1.39 选择端口对话框 图 1.40 上传成提示示意图 C 5 A rduino教学机器人教程

21、14 第二章 机器人点亮一个LED灯和串口通信 1 点亮一个 LED 灯 1.1 LED灯简介 LED 全称为发光二极管,它由镓(Ga) 、砷(As)与磷(P)的化合物制成的二级管。 LED 的发光原理是:当电源的正极与二极管的阳极相连,负极与二极管的阴极相连,此时 二极管内部的电子与空穴复合辐射出可见光。在电路及仪器中 LED 常作为指示灯,或者组 成文字或数字显示。不同的元素组合 LED 会发出不同的光,如磷砷化镓发红光、磷化镓二 极管发绿光、碳化硅二极管发黄光。LED 灯的工作电压一般为 1.52.0V,其工作电流一般 为 320mA。所以在 5V的逻辑电路中,可使用 1k 电阻作为限流

22、电阻。 1.2 点亮 LED 电路连接 任务所需元器件清单: L E D 一个 1k 一个 Arduino 机器人 一个 导线 若干 USB 下载线 1 条 本任务在扩展学习板的面包板上完成电路连接, 在连接电路前先对扩展学习板上的面包 板作简单介绍。如图 2.1所示,面包板上的孔共有 10 行 17 列,列与列之间互不相通。中间 凹槽为分界,凹槽上测同列相连通,凹槽下侧同列也相连通,凹槽两侧则互不相通。 图 2.1 扩展学习板 根据图 2.2 所示的电路连接图连接电路。图 2.2 中 图标代表 Arduino 板上的 2 号引脚; 图标代表 Arduino板上的 5V端口(即 VCC); 图

23、标代表电阻元件(阻值 1k ), 电阻在电路中起到保护 LED灯的作用; 图标代表 LED灯,图标的竖线和尖头一端是 LED灯的阴极,而另一端是 LED灯的阳极。 LED电路连接图详解:LED灯的阳极与 5V端口(即 VCC)连接,其阴极先与电阻连接, 再连接到 2 号引脚。LED 电路驱动方式是采用低电平驱动,当 2 号引脚输出为低电平时, LED灯亮;当 2 号引脚输出为高电平时,LED灯灭。准备好元器件清单列出的所有元器件, 根据图 2.2 所示 LED 电路连接图在 Arduino 机器人面包板上完成 LED 电路连接,如图 2.3 为 LED电路连接实物图。 同列 各列 之间不相 同

24、列 各列 之间不相 凹槽 两侧不相C 5 A rduino教学机器人教程 15图 2.2 LED电路连接图 图 2.3 LED电路连接实物图 1.3 控制 LED 亮灭程序 (1) 控制 LED亮灭程序编辑 点击 New(新建)按钮新建 Arduino 开发环境下的程序文件,如图 2.4 为点击新建按 钮新建程序文件。再点击 Save(保存)按钮选择保存路径,新建一个 LED 文件夹用来保 存程序文件,该程序文件以“LED”命名,并将该文件保存入 LED 文件夹。如图 2.5 选择 保存类型 “所有文件(*.*) ”不变,最后点击保存即成功生成 LED.ino 程序文件,并且对 话窗口自动跳

25、转到 LED程序文件编辑窗口,如图 2.6 所示。 图 2.4 点击新建按钮新建程序文件 C 5 A rduino教学机器人教程 16图 2.5 选择新建程序文件保存路径 图 2.6 LED程序文件编辑窗口 按图 2.7 所示将控制 LED亮灭程序写入编辑区,点击 Verify(校验)对程序进行编译 和检查,如果程序写入无疏漏则编译通过。接通 Arduino 控制板的电源,首先用 USB 下载 线连接 Arduino 控制板与电脑,再点击 Upload(上传)将编译完成的控制程序下载入 Arduino 控制板,下载的过程中软件自动搜索 USB 下载线端口,如端口有变化则软件会弹出 如图 2.

26、8 所示的对话框,点击确定便可成功下载控制程序。仔细观察 LED 灯亮灭变化,会 看到 LED灯每 0.5s间隔亮一次。 图 2.7 控制 LED亮灭程序 C 5 A rduino教学机器人教程 17图 2.8 端口改变软件弹出对话框 控制 LED 亮灭程序主要由 pinMode()、digitalWrite()、delay()三个函数构成,这三个函 数是 Arduino封装子函数,在 Arduino开发环境下可以直接调用。下面对这 3 个函数作详细 说明: pinMode(pin , mode)函数是数字 IO 口输入输出模式函数,它是一个无返回值的函 数,函数有两个输入参数 pin 和

27、mode,pin 参数表示所要配置的引脚(即 013 引 脚) ,mode参数表示设置的模式INPUT(输入)或 OUTPUT(输出) 。 digitalWrite(pin , value) 函数是数字 IO 口输出电平定义函数,它的作用是设置引脚 的输出电压为高电平或低电平,该函数无返回值。函数有 2 个输入参数,即 pin 和 value。pin 参数表示所要设置的引脚(013 引脚) ,value 参数表示输出的电压 HIGH(高电平)或 LOW(低电平) 。 delay(ms)函数是一个延时函数,输入参数为无符号长整型(即 unsigned long) ,输 入参数表示延时时长,单位为

28、 ms。函数无返回值。注明:无符号长整型是一种数 值表示范围,当一个变量被定义为无符号长整型时,该变量的值表示范围是: 04294967295。 其他数字 I/O口设置函数的补充: digitalRead( pin )函数是用在引脚为输入的情况下,获取引脚电压情况的输入函数。获 取的电压为HIGH(高电平)或 LOW(低电平) ,参数 pin 表示所要获取电压值的引脚 编号,该函数返回值为 int 型,表示引脚的电压情况。 (2) 控制 LED亮灭程序如何工作 Arduino 程序一般由 setup()和 loop()函数构成。 setup()函数是初始化部分, setup()函数一 般放在程

29、序开头,该函数主要用于设置一些引脚的输入/输出模式、初始化串口等,该函数 只在上电或重启时执行一次。loop()函数是执行部分,loop()函数是个死循环函数,loop()函 数内的代码将被循环执行, 该函数用于完成程序的大部分功能, 因此大部分函数都放在 loop() 函数内执行。 控制 LED亮灭程序由 setup()和 loop()两部分构成,下面对 setup()、loop()和程序执行操 作做详细介绍。 程序首先进入 setup()函数, 在 setup()函数内把 2号引脚设置为输出引脚。 setup() 函数内程序如下: void setup() / / 设置 2 号引脚为输出引

30、脚 pinMode(2,OUTPUT); setup()函数执行一次结束,再执行 loop()函数。loop()函数程序如下: void loop() C 5 A rduino教学机器人教程 18/ / 设置 2 号引脚输出为高电平,LED灯灭。 digitalWrite(2,HIGH); / / 延时 0.5s 。 delay(500); / / 设置 2 号引脚输出为低电平,LED灯亮。 digitalWrite(2,LOW); / / 延时 0.5 s 。 delay(500); loop()函数是一个死循环函数,其中的代码将被循环执行。loop()函数执行操作如下: 1)设置 2 号

31、引脚为高电平,LED灯灭; 2)延时 0.5s; 3)设置 2 号引脚为低电平,LED灯亮; 4)延时 0.5s; 5)回到 1) 。 以下将用流程图的形式详解程序执行操作,如图 2.8 所示。 setup() 2 loop() 2 0.5s 2 0.5s图 2.8 控制 LED灯亮灭程序流程图 C 5 A rduino教学机器人教程 19 2 Arduino机器人与 PC 通信 在古代人类通过驿站、飞鸽传书、烽火报警、符号、身体语言、眼神、触碰等方式进行 通信,在科技飞速发展的现代,人们通过固定电话、移动电话、互联网甚至视频电话等方式 进行通信。不管在那个时代通信都非常重要,有效通信能提高

32、人与人之间的协作能力,提高 工作效率,拉近人与人的距离。 在实际应用中,机器人需要与机器人通信或机器人与外部设备通信,这样机器人才能完 成每一项任务。本任务将学习 Arduino 机器人与 PC 通信,通过 USB 串口线实现 Arduino 机 器人与 PC 的通信。 Arduino 机器人与 PC 的通信方式是串行全双工通信, 串行通信分为三种: 单双工、半双工和全双工。 单双工指数据传输仅能沿一个方向,不能实现反方向传输。 半双工指数据传输可以沿两个方向,但需要分时进行。 全双工指数据可以同时进行双向传输。 Arduino 控制板有两个引脚专门用于通信,这两个专业引脚是:RX 和 TX。

33、其中,RX 为接收引脚,该引脚是 Arduino 控制板用于接收外部设备通过串口发送的信息;TX 为发送 引脚,该引脚是 Arduino控制板用于通过串口发送信息给外部设备。Arduino 控制板的 USB 下载口与 RX 和 TX引脚相连,所以 USB 下载线只要与 PC 相连就可进行通信。 任务所需元器件清单: USB 下载线 1 条 Arduino 机器人 1 辆 (1) 机器人与 PC 通信程序 void setup() / / 波特率设置为 9600 Serial.begin(9600); void loop() / / 单片机向 PC 发送“Hello Word! ”字符串。 Se

34、rial.println(“Hello World!“); / / 延时 1s,每次发送字符串间隔 1s。 delay(1000); 机器人与 PC 通信涉及一个专业词语波特率。在电子通信领域,单片机(Arduino 控制板上使用的单片机是 AV R)或计算机在串口通信时的速率用波特率表示,它的定义为 每秒传输二进制代码的位数,即 1波特=1 位/秒,单位为 bps(位/秒) 。如果串口通信波特率 设置为 9600 bps,则表示串口每秒传输 9600 位二进制代码。 (2) 函数说明 机器人与 PC 通信程序使用了两个新函数,即 Serial.begin(x)函数和 Serial.print

35、ln(val, formal) 函数。这两个函数的详细说明如下所述: C 5 A rduino教学机器人教程 20 Serial.begin(x)函数是初始化串口波特率函数,该函数无返回值,输入变量 x 为 unsigned long 型。如设置串口通信波特率为 9600,则为 Serial.begin(9600)。 Serial.println(val,formal) 函数是串口输出数据函数,该函数无返回值。输入变量 val 为需要打印的数据;输入变量 formal 为输出数据格式,包括整数类型和浮点型 数据,当 formal 变量缺省时,默认为整数型输出。 (3) 机器人与 PC 通信操

36、作 将机器人与 PC 通信程序写入 Arduino编程环境中, 写完程序点击 Verify(校验)对程 序进行编译和检查,如果程序写入无疏漏则编译通过。接通 Arduino 控制板的电源,首先用 USB 下载线连接 Arduino 控制板与 PC,再点击 Upload(上传)将编译完成的程序下载入 Arduino 控制板。保持 USB 下载线连接,调去 Arduino 软件自带的串口调试助手查看机器人 发送给 PC 的字符串。调用 Arduino 软件步骤:先点击 Arduino 软件菜单栏的 Tools 选项, 再点击 Serial Monitor选项,操作方式如图 2.9 所示;然后点击

37、Serial Monitor选项弹出如图 2.10 所示的串口调试助手,在串口调试助手上可看到机器人发送给 PC 的字符。 图 2.9 调去 Arduino 软件自带的串口调试助手 C 5 A rduino教学机器人教程 21图 2.10 串口调试助手显示接收的字符 C 5 A rduino教学机器人教程 22 3 通过 PC 端控制 LED灯亮灭 上一节我们学习了 Arduino 控制板发送信息给 PC,这一节我们将学习 PC 发送信息给 Arduino 控制板,Arduino控制板根据接收到的信息控制 LED灯亮灭。 学习本案例所需元器件: L E D 1 个 1k 电阻 1 个 Ar

38、duino 机器人 1 辆 USB 下载线 1 条 导线 若干 (1) 电路连接 根据图 2.11的电路连接原理在扩展学习板上连接好电路, 如图 2.12 所示为 LED电路连 接实物图。本案例的电路连接方式与第一节的电路连接方式完全相同,本案例的电路连接方 式是:LED的阳极与+5V(VCC)相连,LED阴极与 1 k 电阻相连,1 k 电阻另一端再与 Arduino 控制板的 2 号引脚相连。 图2.11 LED灯电路连接原理图 图2.12 LED电路连接实物图 (2) PC端控制 LED灯亮灭程序 void setup() / / 设置 2 号引脚为输出引脚 C 5 A rduino教学

39、机器人教程 23pinMode(2,OUTPUT); / / 波特率设置为 9600 Serial.begin(9600); void loop() / / c on tr o l变量定义为用于接收 PC 发送信息的变量。 int control; / / 判断串口是否接收到数据。 if(Serial.available() control=Serial.read(); if(control=H | control=h) / / 设置 2 号引脚输出为高电平,LED灯灭。 digitalWrite(2,HIGH); / / 单片机向 PC 发送“Destroy the LED! ”字符串。

40、S er ia l. pr int ln(“Destroy the LED!“); / / 延时 0.5s 。 delay(500); if(control=L | control=l) / / 设置 2 号引脚输出为高电平,LED灯亮。 digitalWrite(2,LOW); / /A r du in o向 PC 发送“Light up the LED! ”字符串。 Serial.println(“Light up the LED!“); / / 延时 0.5s 。 delay(500); 本案例学习了新的语句if语句。该语句是条件选择判断语句,该语句可以实现选择 结构。 它可根据给定的条

41、件进行判断, 以决定执行某个分支程序段。 if语句有三种基本形式: 1) 第一种基本形式 if (表达式) 语句 2) 第二种基本形式 if (表达式) 语句1 else 语句2 3) 第三种基本形式 if (表达式1) 语句1 else if (表达式 2) 语句2 else if (表达式 3) 语句3 C 5 A rduino教学机器人教程 24 else if (表达式 n) 语句n else 语句m 三种 if语句的功能描述:如果表达式 1 的结果为真,则执行语句 1,然后退出 if 选择语 句,不执行下面的语句;否则,判断表达式 2,如果表达式 2 的结果为真,则执行语句 2,

42、然后退出 if选择语句,不执行下面的语句,同样如果表达式 2 的结果为假则判断表达式 3, 依次类推,最后,如果表达式 n 不成立,则执行 else 后面的语句 m。 在使用 if语句时还要注意以下问题: 在 3 种基本形式中, if关键字后面均为表达式。该表达式通常是逻辑表达式或关系 表达式,也可以是一个变量。 在 if 语句中,条件判断表达式必须用括号括起来。在语句之后必须加分号,如果 是多行语句组成的程序段,则要加话括号括起来。 本节使用的 本案例使用了新函数Serial.available(),该函数的作用是判断串口是否收到数据,函 数的返回值为 int 型(整型) 。该程序具体流程如

43、下所述: 1) 首先在 setup()函数中设置 2 号引脚为输出引脚和设置通信波特率为 9600; 2) 进入 loop()函数,先定义接收 PC 发送信息的变量control; 3) 在利用 Serial.available()函数判断串口是否接收到信息; 4) 接收到信息,判断接收到的信息。如果接收到的信息为“H”或“h” ,则 LED 灯 灭,并向 PC 发送“Destroy the LED! ”提示信息,在延迟 0.5 s;如果接收到的信息为“L” 或“l” ,则 LED 灯亮,并向 PC 发送“Light up the LED! ”提示信息。 5) 回到 3) ,在 loop()函

44、数内一直循环执行。 C 5 A rduino教学机器人教程 25图 2.13 PC 端控制 LED 灯亮灭程序流程图 C 5 A rduino教学机器人教程 26 (3) PC端控制 LED灯亮灭实现 将 PC 端控制 LED 灯亮灭程序写入 Arduino 编程环境的编辑区,输入完程序点击 Verify(校验)对程序进行编译和检查,如果程序写入无疏漏则编译通过。接通 Arduino 控制板 的电源,首先用 USB 下载线连接 Arduino 控制板与 PC,再点击 Upload(上传)将编译完 成的程序下载入 Arduino 控制板。保持 USB 下载线连接,调去 Arduino 软件自

45、带的串口调 试助手查看机器人发送给 PC 的字符串。调用 Arduino 软件步骤: (1) 先点击 Arduino 软件菜单栏的 Tools 选项; (2) 再点击 Serial Monitor 选项,操作方式如图 2.9 所示; (3) 然后点击 Serial Monitor 选项弹出如图 2.14 所示的串口调试助手; (4) 在 Send 左边输入栏上输入字符。如输入“l”或“ L”则点亮 LED 灯,同时 Arduino 控制板发回“Light up the LED!”提示信息;如输入“h”或“ H”则 LED 灯灭,同时 Arduino 控制板发回“Destroy the LED!

46、”提示信息。 图2.14 Arduino 软件自带串口调试助手 C 5 A rduino教学机器人教程 27 第三章 伺服电机控制和机器人运动控制 伺服电动机又称执行电动机,在自动控制系统中,用作执行元件,把所收到的电信号转 换成电动机轴上的角位移或角速度输出。伺服电机可使控制速度、位置精度非常准确。本教 材使用的是连续旋转伺服电机,该电机具有速度控制精度高,但角度位置精度差。如图 3.1 所示,图中指示了该伺服电机的外部配件,这些配件将在本章或后续章节中使用到。 图 3.1 连续旋转伺服电机 1 伺服电机调零 本讲将学习电机与 Arduino 控制板的连接方式,及如何对电机调零。本任务所需清单如 下所述: 连续旋转伺服电机 2 台 Arduino 控制板 1 块 6V电源 1 个 (1) 伺服电机控制脉冲说明 连续旋转电机与一般电机有所不同,连续旋转电机的外接线有三根,白色线为信号线, 红色线为电源线,黑色线为电源地线。一般电机只有 2 根线,即电源线和电源地线。控制板 通过信号线,发送 PWM 信号控制连续旋转电机转动速度。这里的 PWM 即脉冲宽度调制, 简称脉宽调制。以 PW

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 实用文档 > 简明教程

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报