机器人创新设计作品说明材料

更新时间:2024-07-01 01:01:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

机器人创新设计 目录 机器人创新设计目录机器人创新设计目录

机器人创新设计作品说明材料

学 校 名 称:景德镇高等专科学校

作 品 名 称:探索者机器人创新设计

作 品 设 计 成 员:

作 品 设 计 时 间:二零一二年十月十九日

机器人创新设计 机器人创新设计机器人创新设计

摘 要

本文主要介绍了一个基于ARM7 LPC2138,32 位的高性能主控芯片控制的探

索者机器人的创新设计,该设计包括C语言编程,声控、振动、触碰、光强、闪

动、黑标、白标、近红外等多种传感控制,图形化编程及便携式编程三种编程

模式,能满足任何软件水平的用户实现简单或复杂的自动化控制程序及其他功

能实现。

在设计中,详细的展现了探索者机器人的各个功能模块、传感器的属性功能

工作状况。最后,实现整个实验功能创新设计。

1

机器人创新设计 机器人创新设计机器人创新设计

目录

摘 要……………………………………………………..…………………… 1 第一章 引言………………………………………………………..…………..… 1

1.1 探索者机器人创新设计概述…………………………....…………....… 2 1.2 探索者机器人创新设计特点...…………………………………….…… 2 1.3 探索者机器人创新设计目的…………………………..……………….. 3 1.4 探索者机器人创新设计意义和前景………………………..……..…… 4 第二章、主控板………………………………………………...……….………… 5 第三章、红外接收头……………………………………….………...…….………5 第四章、语音模块………………………………………….......……….………… 5 第五章、LED 模块………………………………………………...…….………… 6 第六章、舵机…………………………………………….…………………...…… 6 第七章、传感器………………………………………………...……….………… 7

7.1 黑标/白标传感器…………………………………………..….………… 8 7.2 近红外传感器………………………………………………….………… 8 7.3 姿态传感器…………………………………………………….………… 9 7.4 闪动传感器...………………….……………………………………….… 9 7.5 声控传感器…………………………………………………….………… 10 7.6 触碰传感器…………………………………………………….………… 10 7.7 振动传感器…………………………………………………….………… 11 7.8 触须传感器…………………………………………………….………… 11 7.9 光强传感器…………………………………………………….………… 11 第八章、编程手柄说明……………………………………………...….………… 12 第九章、C 语言编程基础指南..…………………….……………………….…… 13

9.1 安装编程环境………………………………………………….………… 13 9.2 第一个ARM 软件……………………………………………….………… 18 9.3 烧写程序……………………………………………………….………… 21 9.4 ARM 主控板端口列表…………………………………………….……… 22 9.5 库函数………………………………...…………………………..….……24

lib_io.c………………………………….…………………….………… 24 lib_irq.c………………………………...…………………….………… 26 lib_arm.c………………………………...…………………….………… 27

第十章、Robottime Robotway Studio 指南………………...…………….…… 28

10.1 准备运行环境………………………………………………….……..… 28 10.2 RRS 使用流程………………………………………………….…..…… 28 第十一章、扩展模块指南……………………...………………...……..………… 29

11.1 蓝牙模块……………………………………………………….……..… 29 11.2 语音识别模块………………………………………………….…..…… 29 11.3 自平衡模块………………………………………………..….………… 30

2

机器人创新设计 机器人创新设计机器人创新设计

第一章、引言

1.1、探索者机器人创新设计概述

“探索者”机器人创意设计是机器时代推出的一种机器人创新设计理念。探

索者采用了世界先进的仿生和欠驱动设计理念,机械结构设计概念明显,传动结

构突出,可以满足绝大部分的机械原理构造。金属机械零件美观耐用,除了可以

的搭建常规的机器人机构,还可以组合成各种仿真动物以及智能家居品。探索者

主控板采用了32 位高性能主控芯片,拥有C 语言编程、图形化编程及便携式编

程三种编程模式,能满足任何软件水平的用户实现简单或复杂的自动化控制程

序。包装箱里更配备了多种常见传感器,能让用户搭建的机器人活起来,使它们

能够听到、看到、触摸到人类世界。

1.2、探索者机器人创新设计特点

", Ⅰ、突出机构设计。

探索者的设计思路是采用多种具备“积木”特点的基础机械零件,搭建出各 式各样的机械结构。包含大量传动机构零件,引入欠驱动设计思路。除了可搭建出各种典型的机器人机构以外,更可以激发想象力,设计出无数种创意独特的机器人机构。

Ⅱ、控制能力优越。 探索者控制器采用ARM7 LPC2138,32位的高性能主控芯片,是一款专为智能机器人和小型智能设备设计的多功能控制器。拥有巨大的缓冲区空间和强大的处理功能,可同时控制6 路舵机,2路直流电机,4路传感器,并可串联协同工作,非常适合作为智能机器人的主控制器。

", Ⅲ、开放电子端口。

探索者开放了包括控制器和多种传感器在内的所有电子部件I/O 接口,并提 供所有电子元件电路图,供用户学习使用,可进行单片机、传感器、数字/模拟

3

机器人创新设计 机器人创新设计机器人创新设计

电路等课程的各种实验。极大方便了有二次开发需求的用户。

4

机器人创新设计 机器人创新设计机器人创新设计

1.3、探索者机器人创新设计目的

探索者机器人是一个典型的自动化系统,是目前世界各国进行工程训练、教学实验和研究的最为理想的平台。随着自动化技术的发展,许多创新的工程专业都有了共同的专业基础课程,那就是电子电路、检测技术与传感器、控制原理与控制工程。可以说这些专业基础课程是现代创新工程专业普遍性原理,也就是可以将其称为现代创新工程之道。许多国内外的知名公司都相继在开发各种教育与娱乐机器人,为现代创新工程专业教育提供共同的教育平台,引导学生学习电子电路、检测技术与传感器、控制原理和控制工程等基础课程。因此,采用机器人作为计算机、检测与控制技术的教学实验平台是各相关工程专业的最佳选择,这就是探索者机器人的目的和动因。教学常用机器人大致可以分为三大类:轮式机器人、仿生机器人和人形机器人。目前,人形机器人是世界上最为看好也是技术含量最高的一款。

机器人创新设计将紧密结合主要面向大学生进行课程实验与实践(包括嵌入式微控制器、数电和模电、数字逻辑、工业传感器和工业控制、基础机器人等课程),同时照顾部分优秀学生开展机器人创新竞赛等要求进行建设,满足机器人基础创新课程实验和实践以及高级机器人创新竞赛两个层次的教学要求。机器人创新设计能满足大量学生进行基础课程实验,掌握电子电路、嵌入式微控制器、检测与控制技术等工程基础课程的内容,又能组织大量学生观摩智能机器人平台和部分优秀学生代表学校参加各种创新竞赛,激励学生投身科技的热情和提高学校的知名度。

机器人创新设计可以引领科技走向进步,实现科学、便捷、安全、效率、自动化、智能化等多功能设计。为打造世界知名的民族机器人品牌、探索全人类机器人梦想而努力。造福人类,贡献社会。

4

机器人创新设计 机器人创新设计机器人创新设计

1.4探索者机器人创新设计意义和前景

㈠、为电子设计,自动化、机械制造、计算机、机器人等主要工程专业

的学生提供一个以机器人为实验对象的创新基地,课程教学内容、方法和手

段全面引进先进教学实验模式,使学生能在“做中学、学中做”,提高学生

的创新能力和动手能力,提升整个教学实验水平,并不断的扩展和延伸,使

之能够广泛适用于各个专业教学实践和创新要求。

㈡、与机器人技术发展趋势相结合,用机器人取代传统的电子、电路、

单片机等分立式实验仪器,增强实验的开放程度和系统性,为学生提供一个

可以发挥自己想象力、创造力和展现才能的空间。

㈢、为学校参加国内、国际各种机器人大赛等提供配套的硬件和软件支

持,激励学生投身工程科技的热情和提高学校的知名度。对于学生结束学业

后走上工作岗位更好的适应市场需求奠定基础,对于学校招生也起到一个助

推作用。

㈣、达到教育部提出的“高等教育要重视培养大学生创新能力、实践能

力和创业精神”的创新教育的要求。

㈤、智能机器人玩具的研发与设计。

㈥、通过探索者机器人的创新设计可以投入到实际工程项目设计,制造

出用于生活、商业、工业、军工、航空、航天、探险等多种领域的工具。

5

机器人创新设计 机器人创新设计机器人创新设计

第二章、主控板(晶振:11.0592M)

1、输入端口A,连接传感器 2、输入端口B,连接传感器 3、输入端口C,连接传感器 4、输入端口D,连接传感器 5、红外接收端口,连接红外接收头

6、通道选择键,对应手柄的通道选择键,分为ABC三个通道

7、程序写保护口,1为正常工作状态,当按钮拨向ON时才可以进行程序下载 8、程序下载端口,连接下载线

9、舵机端口1~6,连接舵机,从左起竖排4针接口为一组,共分为6组。(注意:

具体连接方式在操作说明中会用图示详细说明,在没有看过操作说明之前请不要连接电机) 10、输出端口7~8,连接LED、语音模块等执行部件,从左起竖排4针接口为一组,

共分为2组。(注意:具体连接方式在操作说明中会用图示详细说明,在没有 看过操作说明之前请不要连接LED以及语音模块) 11、电源端口,接入电池或适配器连接

12、复位键,对单片机进行重启,会清除单片机内所有未保存的动作 13、电源开关

14、电源指示灯,当开关打开后,指示灯长亮并且呈红色

第三章、红外接收头

红外接收头主要用于接收来自手柄控制发出的红外信号。 工作电压:4.7~5.5V 工作电流:1.2mA 频 率:37.9KHZ 有效距离:5米 ①、红外接收元件,用于接收手柄发出的红外信号 ②、固定孔,便于用螺丝将接收头固定于机器人上 ③、三芯输入线接口,连接三芯输入线

6

机器人创新设计 机器人创新设计机器人创新设计

第四章、语音模块

可录制、存储和播放50分贝以上,最长20秒的音频。

①、录音键,一直按下可以录音,白色LED长亮,录音完毕松开录音键,LED

灯熄灭

②、四芯输出线接口,用于连接四芯输出线

③、播放键,按下,可以播放录音,播放完毕后LED闪动一下 ④、固定孔,便于用螺丝将模块固定于机器人上 ⑤、音频输入口,可插入音频输入线进行录音 ⑥、麦克风,录制声音时需要将音源对准麦克风 ⑦、音频输出口,可以连接外放设备(音箱、耳机等)

第五章、LED模块

工作电压:4.7~5.5V 工作电流:1.2mA ①、固定孔,便于用螺丝将模块固定于机器人上 ②、双色LED灯,颜色为红色与绿色 ③、四芯输出线接口,用于连接四芯输出线

7

机器人创新设计 机器人创新设计机器人创新设计

第六章、舵机

1、圆周舵机正反转控制见光盘资料例程/舵机控制/ServoCode,可直接烧录hex

文件,该程序控制输出端口1的舵机转动,速度由大至小-改变转动方向-速

度由小至大。

2、在硬件上,圆周舵机是由标准舵机改造,拆除标准舵机中电位器与减速箱之

间的反馈电路,致使标准舵机的电机无法判断自身转动角度而持续转动。因

此圆周舵机在软件控制原理上与标准角度舵机相同,都是PWM 控制。

3、舵机控制函数Servo(uint8 Num,uint16 Ang),第一个参数为插接在主控制板

上的输出端口的序号,第二个参数的范围在0~180之间,该参数对标准舵机

而言,对应的是标准舵机的转动角度为0~180度,标准舵机的默认角度(复

位角度)为90度;对圆周舵机而言,该参数越接近0或180,舵机转动速度越

快,反之越慢,参数等于90时圆周舵机停止转动,但是由于舵机硬件误差,

舵机停止转动的参数往往不等于90,而是在90左右浮动。因此,需要人为设

定圆周舵机的停止参数值大小,对圆周舵机的控制也要以此值为中心。在使

用指南手柄控制主控制板编程中,有关于手柄对圆周舵机微调的说明,以帮

助理解圆周舵机的编程控制技巧。黑色插线连接最外插针。

8

机器人创新设计 机器人创新设计机器人创新设计

第九章、C 语言编程基础指南

9.1 安装编程环境

一、安装ADS

下载ADS1.2:http://www.mcu123.com/down/get.asp?id=39(右键单击链接) 左键点击上图所示的“本地双线路服务器”直接下载,或右键单击迅雷下载 解压后点击“setup.exe”开始安装。

1、点击“Next”

2、点击“Yes”

14

机器人创新设计 机器人创新设计机器人创新设计

3、点击“Next”

4、选择“Full”,点击“Next”

5、点击“Next”

15

机器人创新设计 机器人创新设计机器人创新设计

6、点击“Next”

7、点击“Next”

8、点击“下一步”

16

机器人创新设计 机器人创新设计机器人创新设计

9、点击“下一步”

10、选择安装程序“crack”目录下“LICENSE.DAT” 点击“下一步”

17

机器人创新设计 机器人创新设计机器人创新设计

11、点击“下一步”

12、点击“完成”

13、点击“Finish”

18

机器人创新设计 机器人创新设计机器人创新设计

9.2 第一个ARM软件

打开ads 软件

1、点击“file”—“new”—“project”—“ARM Execuable Image for lpc2131”,选择

工程存放路径“位置”,

录入“工程名”(led),点击“确定”

19

机器人创新设计 机器人创新设计机器人创新设计

2、工程建立完毕

3、选择红色下拉菜单处为“DebugInFLASH”

4、点击“Edit”—“DebugInFLASH Settings”,“Target Settings”项中“Post-Linker”选择“ARM fromELF”,点击“Apply”

20

机器人创新设计 机器人创新设计机器人创新设计

5、续5,“ARM FromELF”项中“Output Format”选择“Intel 32 bit Hex”,“Output file name”栏输入“*.hex”(led.hex),点击“Apply”—“OK”

6、输入程序代码 /*点亮一个LED 灯*/ #include \#include \

const uint32_t Led1 = (1<<31); int main(void) {

PINSEL2 = PINSEL2 & (0x08); IO1DIR = Led1; IO1SET = Led1; IO1CLR = Led1; initSysTime(); while(1) {

IO1SET = Led1; pause(100000); IO1CLR = Led1; pause(100000); }

return 0; }

7、点击F7,完成代码编译,led 工程目录FlashRel 中生成LPC21xx.hex 烧录文件

21

机器人创新设计 机器人创新设计机器人创新设计

9.3 烧写程序

一、设置USB下载线

1、下载USB 驱动:http://code.google.com/p/robotway/downloads/list

2、解压后点击“setup”打开安装程序,在程序窗口点击“INSTALL”,完成后关闭驱动安 装程序

3、将USB 下载线接入电脑,选择自动查找设备,完成驱动安装

4、右键单击“我的电脑”,选择“属性”—“硬件”—“设备管理器”—“端口(COM 和 LPT)”,右键单击“USB-SERIAL(COM×)”,选择“属性”—“端口设置”—“高级”,选择“COM 端口号”为“COM3”,点击确定完成。

二、下载安装烧写程序

1、下载烧写程序:

http://filer.blogbus.com/6243670/resource_6243670_12840150560.rar 2、解压后点击“Philips Flash Utility Installation.exe”安装程序

三、连接ARM主控板

1、将USB 下载线miniUSB 端接入ARM 主控板程序下载端口 2、拨动程序写保护口到“ON”位 3、打开ARM 主控板电源 4、按一次复位键

四、烧写程序

1、打开“开始菜单\\程序\\Philips Semiconductors\\Flash Utility\\Launch LPC210x_ISP.exe”

2、界面右侧Communication 栏,选择Connected to Port 为“COM 3:” 3、点击界面中下侧“Read Device ID”按钮,正常时出现“Please reset your LPC2000 board now and then press OK”,确定后界面左下角出现“Read Part ID Successfully” 4、点击界面中间“Erase”按钮,界面左下角出现“Erased LPC2000 Flash Successfully” 5、在“Flash Programming”栏,点击“Filename:”右下侧“...”按钮,在出现的对话框中选择编译完成的“*.hex”文件,点击“Upload to Flash”,完成程序烧录。

22

机器人创新设计 机器人创新设计机器人创新设计

9.4 ARM主控板端口列表

端口名称 端口号 端口功能 功能说明

EINT0 外部中断0 输入

红外接收端口 P0.16 MAT0.2 定时器0 的匹配输出通道2

CAP0.2 定时器0 的捕获输入通道2 PWM5 脉宽调制器输出5

输出端口1 P0.21 CAP1.3 定时器1 的捕获输入通道3

AD0.2 A/D转换器0 输入2

输出端口1 P0.29 CAP0.3 定时器0 的捕获输入通道3

MAT0.3 定时器0 的匹配输出通道3 AD0.1 A/D 转换器0 输入1

输出端口2 P0.28 CAP0.2 定时器0 的捕获输入通道2

MAT0.2 定时器0 的匹配输出通道2

SSEL0 SPI0 从机选择SPI0 接口用作从机

输出端口2 P0.7 PWM2 脉宽调制器输出2

EINT2 外部中断输入2 AD0.0 A/D 转换器0 输入0

输出端口3 P0.27 CAP0.1 定时器0 的捕获输入通道1

MAT0.1 定时器0 的匹配输出通道1

输出端口3 P0.8 TxD1 UART1 发送输出端

PWM4 脉宽调制器输出4 RxD1 UART1 接收输入端

输出端口4 P0.9 PWM6 脉宽调制输出6

EINT3 外部中断3 输入

输出端口5 P0.0 TxD0 UART0 发送输出端

PWM1 脉宽调制器输出1

输出端口5 P0.13 MAT1.1 定时器1 的匹配输出通道1

UART0 接收输入端

输出端口6 P0.1 RxD0 脉宽调制器输出3

PWM3 EINT0外部中断0 输入

输出端口6 P1.22 PIPESTAT1 流水线状态位1

SCK0 SPI0 的串行时钟

输出端口7 P0.4 CAP0.1 定时器0 的捕获输入通道1

AD0.6 A/D 转换器0 输入6

MISO0 SPI0 主机输入从机输出端

输出端口7 P0.5 MAT0.1 定时器0 的捕获输入通道1

AD0.7 A/D 转换器0 输入7

输出端口8 P0.10 CAP1.0 定时器1 的捕获输入通道0 输出端口8 P0.12 MAT1.0 定时器1 的匹配输出通道0

输出指示灯1 P1.16 TRACEPKT0 跟踪包位0 带内部上拉标准I/O 口 输出指示灯2 P0.31 通用数字输出引脚 输出指示灯3 P1.31 TRST JTAG 接口的测试复位 输出指示灯4 P1.25 EXTIN0 外部触发输入

23

机器人创新设计 机器人创新设计机器人创新设计

端口名称 端口号 端口功能 功能说明

输出指示灯5 P0.6 MOSI0 SPI0 主机输出从机输入端

CAP0.2 定时器0 的捕获输入通道2

输出指示灯6 P1.24 TRACECLK 跟踪时钟带内部上拉的标准I/O 口 输出指示灯7 P1.23 PIPESTAT2 流水线状态位2

输出指示灯8 P0.11 CAP1.1 定时器1 的捕获输入通道1

SCL1 I2C1 时钟输入/输出

输入端口1 P0.22 CAP0.0 定时器0 的捕获输入通道0

MAT0.0 定时器0 的匹配输出通道0

输入端口1 P1.19 TRACEPKT3 跟踪包位3 带内部上拉标准I/O 口 输入端口2 P0.23 通用数字输入/输出引脚 输入端口2 P1.28 TDI JTAG 接口的测试数据输入

MAT1.2 定时器1 的匹配输出通道2

输入端口3 P0.19 MOSI1 SPI1 主机输出从机输入端

CAP1.2 定时器1 的捕获输入通道2

输入端口3 P1.30 TMS JTAG 接口的测试方式

CAP1.2 定时器1 的捕获输入通道2

输入端口4 P0.17 SCK1 SPI1 串行时钟

MAT1.2 定时器1 的匹配输出通道2

输入端口4 P1.21 PIPESTAT0 流水线状态位0 输入指示灯1 P0.25 AD0.4 A/D 转换器0 输入4

输入指示灯1 P1.18 TRACEPKT2 跟踪包位2 带内部上拉标准I/O 口

MAT1.3 定时器1 的匹配输出通道3

输入指示灯2 P0.20 SSEL1 SPI1 从机选择SPI1 接口用作从机

EINT3 外部中断3 输入

输入指示灯2 P1.27 TDO JTAG 接口的测试数据输出

CAP1.3 定时器1 的捕获输入通道3

输入指示灯3 P0.18 MISO1 SPI1 主机输入从机输出端

MAT1.3 定时器1 的匹配输出通道3

输入指示灯3 P1.29 TCK JTAG 接口的测试时钟 输入指示灯4 P0.15 EINT2 外部中断2 输入

输入指示灯4 P1.20 TRACESYNC 跟踪同步带内部上拉的标准I/O 口 通道选择键A GND

通道选择键B P1.17 TRACEPTK1 跟踪包位1 带内部上拉标准I/O 口 通道选择键C P0.26 AD0.5 A/D 转换器0 输入5 串口通信1 P0.0 TxD0 UART0 发送输出端

PWM1 脉宽调制器输出1 RxD0 UART0 接收输入端

串口通信2 P0.1 PWM3 脉宽调制器输出3

EINT0 外部中断0 输入

24

机器人创新设计 机器人创新设计机器人创新设计

9.5 库函数

访问http://code.google.com/p/robotway/source/browse/。导入库函数到工程:

在工程窗口新增所有*.c 到“Source Files”目录下, *.h 到“Head Files”目录下。

lib_io.c

通用参数:

PortSe:端口序列号,值为0、1; PortNo:端口号,值为0~31;

函数名 函数原型 功能 返回值 说明

【DelayNS】 void DelayNS(uint32 dly) 长软件延时 无

【GPIO_In】 uint8 GPIO_In(uint8 PortSe, 检测电平 1-成功 Level:检测电平

uint8 PortNo,uint8 Level) 输入函数 0-失败 1-高,0-低;

【GPIO_Out】 void GPIO_Out(uint8 PortSe, 电平输出 无 Level:输出电平

uint8 PortNo,uint8 Level) 函数 1-高,0-低

【PWM】 void PWM(uint8 PortSe,uint8 pwm 控制 无 PW:脉宽

PortNo,uint32 PW,uint32 Tpwm) 串行发 Tpwm:输出周期

void UART_Out(uint8 PortSe, 送数据 data:需要发送的数据

【UART_Out】 uint8 PortNo,uint8 data,uint32 串行发送 无 bps:波特率

bps,uint32 xtal) 数据 xtal:晶振

【IRQ_End】 void IRQ_End(uint32 priority) 中断处理结束 无 无

25

机器人创新设计 机器人创新设计机器人创新设计

函数名 函数原型 功能 返回值 说明

【UART_In】 uint8 UART_In(uint8 type) 接收串行 返回串行 type:串口类

中断数据 中断数据 型,0 或1

打开或关 Stat:状态,0 关闭,1 开启

void UART_irq(uint8 PortSe, 闭串行接 无 bps:波特率

【UART_irq】 uint8 PortNo, uint8 stat, uint32 收数据 xtal:晶振

bps, uint32 xtal, uint32 priority) 中断 priority:中断优先级

【Delay】 void Delay(uint32 count) 精确延时函数 无 单位:ms

void Time_irq(uint8 PortSe,uint8 type:定时器类型

【Time_irq】 PortNo,uint8 type,uint32 count, 定时中断 无 count:定时时间

uint32 xtal,uint8 priority) xtal:晶振

priority:中断优先级

【AD_In】 uint16 AD_In(uint8 PortSe,uint8 读取 成比例 Min:数模转换最小值

PortNo,uint8 Min,uint16 Max) 模拟量 返回 Max:数模转换最大值

函数名函数 void EINT_irq(uint8 PortSe,uint8 irmod:中断方式,1-边沿 【EINT_irq】 PortNo,uint8 irmod,uint8 polar,外部中断 无 polar: 0-下降沿1-上升沿;

uint8 priority) priority: 中断优先级

【DA_Out】 void DA_Out(uint8 PortSe,uint8 DA 输出函数 无 DaData:输出模拟电压

PortNo,uint16 DaData) 范围0~1023

26

机器人创新设计 机器人创新设计机器人创新设计

函数名 函数原型 功能 返回值 说明

void I2cInit(uint8 PortSe,uint8

【I2cInit】 PortNo,uint8 PortNo1,uint32 I2C 初始化 无 Fi2c:传输速率100000

Fi2c,uint8 priority)priority: 优先级

sla:器件从地址

【I2C_Read uint8 I2C_ReadNByte (uint8 sla, 从有子地 suba_type:从器件物理存 NByte】 uint32 suba_type, uint32 suba, 址器件读 读取的 储地址;

uint8 num) 取1 字节 数据 suba: 器件内部物理地址

数据 num: 1;

uint8 I2C_WriteNByte(uint8 sla, 向有子地 sla 器件从地址0xAo 【I2C_Write uint8 suba_type, uint32 suba, 址器件写 无 suba_type 子地址结构 NByte】 uint8 s, uint32 num) 入1 字节 suba 器件内部物理地址s:

数据 将要写入的数据

num:1

lib_irq.c

void __irq IRQ_UART0 (void) {

uint8 a=0; a=ReadPC();

/*启动串口中断后,在此编写串口中断程序,可调用串口接收数据a*/ IRQ_End(0x00000000); }

void __irq IRQ_Time0(void) {

/*启动定时器中断后,在此编写定时中断程序*/ }

void __irq IRQ_Time1(void) {

/*启动外部中断后,在此编写外部中断程序*/ }

27

机器人创新设计 机器人创新设计机器人创新设计

lib_arm.c

通用参数:

Num:序号

函数名 函数原型 功能 返回值 说明

【Initial_ARM】void Initial_ARM() 初始化 无 ARM 主控板端口初始化

【LedIn】 void LedIn(uint8 Num,uint8 Color) 输入 无 Color:0-灭,1-红色,2-蓝色

指示灯

【Input】 int Input(uint8 Num,uint8 Pin) 检测输入 0-失败 Pin:引脚号,1-s1,2-s2

1- 成功

【LedOut】 void LedOut(uint8 Num,uint8 Stat) 输出 无 Stat: 0-灭,1-亮

指示灯

【Servo】 void Servo(uint8 Num,uint16 Ang) 控制舵机 无 Ang:角度,0~180

【SendPC】 void SendPC(uint8 data) 发送串口数据 无 data:发送的数据值

【SetReadPC】 void SetReadPC(uint8 stat,uint8 设置接受 无 stat:状态,0-关闭,1-开启

priority) 串口数据 priority: 中断优先级

【ReadPC()】 uint8 ReadPC() 读取串口数据 无

【SetTimer】 void SetTimer(uint32 Timer) 设置定时中断 无 Timer:定时周期

【TimerOpen】 void TimerOpen() 定时中断初始化 无

【SetMemory】 void SetMemory(uint8 priority)启动存储芯片 无

【SaveData】 void SaveData(uint32 address, 存储数据 无 Address:地址(0~65535)

uint8 data) data:数据(0~255)

【LoadData】 uint8 LoadData(uint32 address) 读取数据 无 address:地址(0~65535)

28

机器人创新设计 机器人创新设计机器人创新设计

第十章、Robottime Robotway Studio指南

10.1 准备运行环境

1.1、打开http://code.google.com/p/robotway/downloads/list,下载USB连

接线驱动。

1.2、解压下载的USB连接线驱动.rar,运行USB转接线驱动.exe,按提示进行安

装。

1.3、将USB连接线接入电脑,选择自动查找设备,完成驱动安装。

1.4、右键单击“我的电脑”,选择“属性”—“硬件”—“设备管理器”—“端

口COM和LPT)”,右键单击“USB-SERIAL(COM×)”,选择“属性”- “端 口设置”—“高级”,选择“COM 端口号”为“COM3”(也可以选择COM4 或COM5),点击确定完成。

10.2 RRS 使用流程

2.1、注意主控制板的程序写保护口不在ON的位置

2.2、打开Robottime Robotway Studio.exe,进入图形化编程环境(如果检测

到有最新的RRS 版本时会出现提示) 2.3、点击设置通信端口

,按1.4 的端口选择相应的端口。

2.4、按一下主控制板的复位键,如果主控制板和计算机连接成功, RRS 的

主控制板图标会变成绿色,否则请检查USB 转接线的连接,并重复以上步 骤。 2.5、在动作编辑区编辑动作

2.6、检查主控板输出端口是否按照动作条的序号连接舵机 2.7、点击运行动作

,主控制板将按照编辑的动作内容驱动舵机转动

,RRS 自动将当前动作内容写

2.8、动作编辑完成后,点击录制第1 路动作

入到主控制板,并与输入端口1 的传感器建立关联。

29

机器人创新设计 机器人创新设计机器人创新设计

第十一章、扩展模块指南

11.1 蓝牙模块

在实际应用中,蓝牙模块所实现的功能与USB连接线完全一样,主要用于主控制板ARM芯片烧写的传输介质,以及主控制板串口通信的传输介质。而蓝牙模块通过无线蓝牙技术,使得这两个功能可以脱离连接线的约束,从而令第三方设备对主控板的操作可以无线的进行,大大增强了主控板的可移动性,从而为安全自主的探索者机器人创新设计提供了硬件保证。

蓝牙模块的安装很简单,通过一条双口miniUSB连接线,将蓝牙模块的miniUSB接口与主控制板的miniUSB接口相连即可。当主控制板电源开启时,蓝牙模块指示灯会开始闪动。

通过第三方设备的蓝牙设备(如接驳在PC、手机上的蓝牙)与主控板的蓝牙模块配对连接后,即可参照USB连接线的使用方法进行对主控板的操作了。

配对密码:1234

11.2 语音识别模块

语音识别模块能够简单快速的设置机器人的语音识别功能,并且让机器人在识别的既定的语音命令后执行相应的动作。语音识别模块的使用必须要求用户首先了解第七章编程手柄的内容。

使用三芯输入线将语音识别模块与主控板连接,主控板电源开启后,语音识别模块发出启动完毕提示音。长按训练按键,根据提示音录制待识别的语音:长按录音按键,根据提示音录制模块识别语音后的回复语音。识别语音、录音分别是六句话,识别语音与录制语句一一对应。同时,前四句语音又与主控板四路播放一一对应。实际上是使用语音识别来替代传感器的播放触发功能。

30

机器人创新设计 机器人创新设计机器人创新设计

11.3 自平衡模块

自平衡模块可以使连接在该模块上的舵机转动根据模块正平面和地平线的夹角自动保持一致。

舵机插针可连接一个舵机,舵机黑色连接线与GND插针对齐。 舵机1 转动角度对应自平衡模块X方向与地平线夹角:舵机2 转动角度对应Y方向与地平线夹角。

在自平衡模块出师启动时,使用舵机微调旋钮调整舵机转动角度与自平衡模块姿态之间的线性关系,以满足特定需要。

电源插座:连接电源适配器,给自平衡模块模块供电。 电源插针:可用4 芯输出线将自平衡模块时,注意连接的黑色端与电源插针GND插针对齐。

miniUSB接口:自平衡模块内置一片AVR ATMEL16 单片机,该接口是单片机的ISP接口,供用户对该模块进行狂战编程使用。

31

机器人创新设计 机器人创新设计机器人创新设计

成品展示

附图1 简易四足

附图2迎宾机器人

32

机器人创新设计 机器人创新设计机器人创新设计

附图3 太空鼠

附图4 机关枪

33

本文来源:https://www.bwwdw.com/article/ihy.html

Top