首页 嵌入式视频智能小车实验指导书V1.0(2015)

嵌入式视频智能小车实验指导书V1.0(2015)

举报
开通vip

嵌入式视频智能小车实验指导书V1.0(2015)嵌入式视频智能车(RC-ARM&CAR-III)实验指导书北京百科融创教学仪器设备有限公司目录目录................................................................................................................................1第一章车硬件安装部分.......................................................................

嵌入式视频智能小车实验指导书V1.0(2015)
嵌入式视频智能车(RC-ARM&CAR-III)实验指导书北京百科融创教学仪器设备有限公司目录目录................................................................................................................................1第一章车硬件安装部分..............................................................................................11.1整车外观..........................................................................................................11.2各组成部分连接..............................................................................................11.2.1电机与驱动底板之间接线...................................................................11.2.2电机测速部分连线..............................................................................21.2.3循迹板与任务板之间的连线...............................................................21.2.4ARM-STM32核心板与驱动底板之间的连接.......................................31.2.5核心板与WIFI模块的连接................................................................31.2.6核心板与任务板之间的连接...............................................................41.3驱动板介绍.....................................................................................................41.3.1各模块电源供电接线...........................................................................51.4循迹板介绍.....................................................................................................61.5云台摄像头介绍..............................................................................................71.6任务板介绍......................................................................................................8第二章ARM-STM32核心板硬件资源和使用 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 ...............................................152.1核心板硬件资料介绍...................................................................................152.2STM32开发环境的搭建及使用简介..........................................................192.3CC2530开发环境的搭建及使用简介........................................................19第三章实验例程......................................................................................................203.1实验一、IO测试实验..................................................................................203.2实验二、按键实验.......................................................................................293.3实验三、PWM输出实验................................................................................303.4实验四、循迹测试实验...............................................................................333.5实验五、WIFI测试实验..............................................................................343.6实验六、光强度测试实验...........................................................................363.7实验七、超声波测试实验............................................................................373.8实验八、综合实验.......................................................................................38第四章上位机Android软件....................................................................................401、Android概述..................................................................................................401.1Android简介.........................................................................................401.2系统架构..........................................................................411.3Android应用程序的构成.......................................................................451.4Android 工程 路基工程安全技术交底工程项目施工成本控制工程量增项单年度零星工程技术标正投影法基本原理 构成..........................................................................462、Android开发环境..........................................................................................472.1安装工具.................................................................................................472.2安装步骤.................................................................................................473、Android应用程序示例..................................................................................49创建HelloAndroid项目............................................................................49实验一、颜色识别例程................................................................................53实验二、二维码解析例程............................................................................54实验三、NFC读写删例程.............................................................................55实验四、WiFi控制小车例程.......................................................................56实验五、显示摄像头视频例程....................................................................57实验六、传感器数据接受例程....................................................................58附录安卓手机上位机 协议 离婚协议模板下载合伙人协议 下载渠道分销协议免费下载敬业协议下载授课协议下载 ......................................................................................59北京百科融创教学仪器设备有限公司嵌入式视频智能车1第一章车硬件安装部分1.1整车外观图1.1整车外观图1.2各组成部分连接1.2.1电机与驱动底板之间接线驱动板JP3、JP4控制小车左边电机,JP5、JP6控制小车右边电机。具体连线如图1.2.1所示。图1.2.1电机与驱动板之间连接线北京百科融创教学仪器设备有限公司嵌入式视频智能车21.2.2电机测速部分连线码盘线与驱动板的JP8连接,具体为,码盘上白线连接H_B(电源线),红线连接GND,棕线连接L_SP(信号线1),黑线连接L_B(信号线2),如图1.2.2所示。(颜色与下图片中为准)1.2.2电机测速部分接线1.2.3循迹板与任务板之间的连线通过10P软排线把驱动底板的P1口与循迹板的Sensor连接起来,循迹板分为两层,上层是贴片LED显示部分,下层是光电传感器循迹部分,如图1.2.3(1)(2)所示。图1.2.3(1)循迹板与驱动底板之间的连线北京百科融创教学仪器设备有限公司嵌入式视频智能车3图1.2.3(2)循迹板传感器模块1.2.4ARM-STM32核心板与驱动底板之间的连接核心板模块与驱动板连线,主要是小车底部电机的控制线、核心板的电源线、寻迹板的控制线的连接。该书实验中所用的电机控制线为核心板PE8、PE13为PWM输出,控制小车运动速度,核心板PE9~PE12为使能控制线,控制小车运动使能,核心板供电为5V,在实验中,用一根20P排线接两个模块。具体接线如图1.2.4所示。图1.2.4核心板与驱动底板之间的连接1.2.5核心板与WIFI模块的连接该系统所用的WIFI模块为WIFI转串口方式。WIFI设置成服务器模式,北京百科融创教学仪器设备有限公司嵌入式视频智能车4端口为60000,IP地址请查看各小车模块上的标签。WIFI模块与核心板通信通过串口方式连接,接线为:WIFI模块的RXD接到核心板STM32的TXD(PA9),WIFI模块的TXD接到核心板STM32的RXD(PA10)。J5为WIFI模块电源选择,上边跳线帽连接,为电源选通。具体接线如图1.2.5所示。1.2.5核心板与WIFI模块的连接1.2.6核心板与任务板之间的连接图1.2.6核心板与任务板之间的连线1.3驱动板介绍(1)POWER1为电机驱动电源输入端。北京百科融创教学仪器设备有限公司嵌入式视频智能车5(2)JP3,JP4为同一端电机接口;JP5,JP6为同一端电机接口;JP8,JP9为电机的测速接口。JP1为电源扩展接口,输出+5V。(3)J3的3、5脚为JP3和JP4的电平控制端,即当J3的3脚为高电平5脚为低电平时,JP3和JP4的1脚为高电平,2脚为低电平,左电机后退;当J3的3脚为低电平5脚为高电平时,JP3和JP4的1脚为低电平,2脚为高电平,右电机后退。同理,J3的7,9脚为JP5和JP6的电平控制端,7脚为低,9脚为高时,左电机前进;7脚为低,9脚为高时,右电机前进。如1.3所示。图1.3驱动底板介绍1.3.1各模块电源供电接线系统所用电源比较多,所以在接线上要注意。所用电池为12.6V,一组接到驱动板POWER1,此电源为小车底部电机提供电源。另一组接电源模块POPER2,此电源为STC核心板和其他模块供电,S3为摄像头开关控制。北京百科融创教学仪器设备有限公司嵌入式视频智能车6图1.3.1电源供电接口1.4循迹板介绍循迹板采用8路红外对管,8个LM358电压比较器,电压比较器基准电压可调,配有8个LED指示灯。J1B-J1A,J2B-J2A。实物图如下:D4,D12,D13,D20,D26,D16,D17,D23分别对应电路板上光电传感器IR1~IR8的检测输出。电路板上电位器控制光电传感器的灵敏度,即调节比较器的比较电压,顺时针为增大比较电压值。比较电压的调节应由环境和传感器的高低而定。电位器W1~W4分别对应IR1,IR2,IR3,IR4的比较电压,电位器W5~W8分别对应IR5,IR6,IR7,IR8的比较电压。八个LED分别对应八个传感器的检测情况,LED亮时,输出端为低电平,此时光电传感器没有接收到红外光返回;LED灭时,输出端为高电平,此时光电传感器接收到红外光返回。图1.4循迹板北京百科融创教学仪器设备有限公司嵌入式视频智能车71.5云台摄像头介绍云台摄像头电源,从驱动底板摄像头接口输入。接上天线即可。摄像头已经配置同小车上的WIF模块一一对应。开启摄像头和小车WIFI,摄像头自动连接WIFI。图1.5摄像头接口1.6任务板介绍任务板包括多个传感器单元和控制单元。传感器单元包括:超声波传感器、红外发射、光敏电阻、光强度传感器等;控制单元由许多逻辑芯片组成,包括:555定时器、74HC14、74HC08、CD4069、74HC00、74HC595、LM393和CX20106A等。图1.6任务板北京百科融创教学仪器设备有限公司嵌入式视频智能车8下图为部分逻辑芯片引脚图:74HC14(施密特触发器)74HC08(二输入与门)CD4069(非门)74HC00(二输入与非门)北京百科融创教学仪器设备有限公司嵌入式视频智能车9(一)超声波发射、接收电路图1.6.2超声波发射电路图1.6.3超声波接收电路由电路图可以看出,调节RW1可以调节555定时器的输出频率,只有电平控制引脚INC为低电平时,超声波信号才可以发出去。接收端通过调节RW3调整接收解码。接收信号输出至INT0。(二)红外发射电路北京百科融创教学仪器设备有限公司嵌入式视频智能车10555定时器用于产生38KHz红外发射载波,通过RW2调节发射频率。要发射信号通过RI_TXD引脚输出。(三)基于IIC总线的光照度传感器BH1750北京百科融创教学仪器设备有限公司嵌入式视频智能车11BH1750内部图如下:ADDR引脚为高电平(ADDR≥0.7VCC)地址为“1011100”;ADDR引脚为低电平(ADDR≤0.3VCC)地址为“0100011”;DVI为参考电压,当供电后,DVI引脚至少延时1US后变为高电平。若DVI持续低电平,则芯片不工作。(四)光敏电阻在不同光照强度下,调节RW4即可调节电压比较器基准电压,从而实现在不同环境下测试光强度的功能。北京百科融创教学仪器设备有限公司嵌入式视频智能车12(五)双色灯控制电路74HC595为8位串行输入并行输出芯片。可以通过OE、RCLK、SCLK、SER四个引脚进行控制,将8位数据输入,进而控制4个双色灯。(六)蜂鸣器控制电路本设计利用施密特触发器振荡产生2HZ方波。只要BEEP引脚为低电平,蜂鸣器便以2HZ的频率鸣叫。北京百科融创教学仪器设备有限公司嵌入式视频智能车13(七)指示灯控制电路本设计与蜂鸣器控制电路共用一组2HZ方波信号。只要LED_R为低电平,LED1便以2Hz频率闪烁,只要LED_L为低电平,LED3便以2Hz频率闪烁。北京百科融创教学仪器设备有限公司嵌入式视频智能车14第二章ARM-STM32核心板硬件资源和使用方法核心板包括Wi-Fi通信模块、Zigbee通信模块、扩展用户LED灯单元、扩展用户按键单元、蜂鸣器控制单元等;接口包括ARM仿真器接口、Zigbee模块仿真器接口、16PI/O扩展口(接任务板)、20PI/O扩展口(接驱动底板)、扩展电源接口等。SSID:BKRC_CARxx,表示该wifiIP为192.168.xx.254。2.1核心板硬件资料介绍(一)ARM处理器:STM32F103VCT6该ARM处理器采用ARMCortex-M3内核设计,其工作频率为72MHz,内部集成AD转换器、多的定时器,2路UART等,性能稳定。可以在Keil软件中直接调试/下载程序。(二)Wi-Fi通信模块电路原理图:北京百科融创教学仪器设备有限公司嵌入式视频智能车15Wi-Fi模块采用RM04模块,是海凌科电子新推出的低成本高性能嵌入式UART-ETH-WIFI(串口-以太网-无线网)模块。基于通用串行接口的符合网络标准的嵌入式模块,内置TCP/IP协议栈,能够实现用户串口、以太网、无线网(WIFI)3个接口之间的任意透明转换。通过HLK-RM04模块,传统的串口设备在不需要更改任何配置的情况下,即可通过Internet网络传输自己的数据。为用户的串口设备通过以太网传输数据提供了快速的解决。在我公司的嵌入式车型机器人设计中,请在使用前将核心板J5的跳线帽连接至ON端(Wi-Fi供电)。模式选为Wi-Fi(AP)-Serial模式,串口波特率设置为115200,端口号为60000。具体Wi-Fi配置方法见附件《小车wifi密码修改 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 》。ES/RST为退出透传/恢复出厂设置按键,WPS/RST为WPS模式/恢复出厂设置按键。上电后Wi-Fi模块的红灯先亮,接着两颗绿灯开始闪烁。复位时,长按ES/RST7秒以上,两个绿灯灭,只有红灯亮,松开按键即可复位。其无线数据检测采用网络串口助手便可查看。配置是选择TCPClient协议类北京百科融创教学仪器设备有限公司嵌入式视频智能车16型。IP地址为192.168.XX.254。XX为小车编号(BKRC_CARxx),端口号为60000。(三)Zigbee通信模块电路原理图Zigbee通信模块采用TI公司的2.4G射频芯片,型号为CC2530,无线通信使用Zigbee协议。Zigbee通信模块通过串口方式与核心板上的ARM处理器通信波特率为115200,每次收发的数据包长度为6字节。北京百科融创教学仪器设备有限公司嵌入式视频智能车17(四)LED灯单元电路(五)独立按键单元(六)蜂鸣器单元(七)程序编译环境本单片机采用keil4软件进行编程,有兴趣的用户请在网上查阅相关文档。也可以参考“\环境搭建\STM32环境搭建”内“MDK4.1使用手册”北京百科融创教学仪器设备有限公司嵌入式视频智能车182.2STM32开发环境的搭建及使用简介开发工具请参考“STM32环境搭建”文件夹。使用说明请参考“STM32环境搭建”文件夹的《附录1RVMDK4.10软件安装说明》2.3CC2530开发环境的搭建及使用简介开发工具请参考“STM32环境搭建”文件夹。使用说明请参考“STM32环境搭建”文件夹的《IAR使用手册》北京百科融创教学仪器设备有限公司嵌入式视频智能车19第三章实验例程3.1实验一、IO测试实验一、实验目的1、掌握基本的IO读写技巧2、熟悉集成开发环境RealViewMDK4.10的使用3、STM32IO口简介二、实验原理STM32IO简介作为所有核心板的经典入门实验,莫过于跑马灯了。STM32核心板有8个LED灯,本实验将通过教你如何控制这些灯实现交替闪烁的类跑马灯效果。该实验的关键在于如何控制STM32的IO口输出。了解了STM32的IO口如何输出的,就可以实现跑马灯了。通过这一节的学习,你将初步掌握STM32基本IO口的使用,而这是迈向STM32的第一步。STM32的IO口可以由软件配置成8种模式:1、输入浮空2、输入上拉3、输入下拉4、模拟输入5、开漏输出6、推挽输出7、推挽式复用功能8、开漏复用功能每个IO口可以自由编程,单IO口寄存器必须要按32位字被访问。STM32的很多IO口都是5V兼容的,这些IO口在与5V电平的外设连接的时候很有优势,具体哪些IO口是5V兼容的,可以从该芯片的数据手册管脚描述章节查到(I/OLevel标FT的就是5V电平兼容的)。STM32的每个IO端口都有7个寄存器来控制。他们分别是:配置模式的2个32位的端口配置寄存器CRL和CRH;2个32位的数据寄存器IDR和ODR;1个32位的置位/复位寄存器BSRR;一个16位的复位寄存器BRR;1个32位的锁北京百科融创教学仪器设备有限公司嵌入式视频智能车20存寄存器LCKR;这里我们仅介绍常用的几个寄存器,我们常用的IO端口寄存器只有4个:CRL、CRH、IDR、ODR。CRL和CRH控制着每个IO口的模式及输出速率。STM32的IO口位配置表如表3.1所示:表3.1.1STM32的IO口位配置表STM32输出模式配置如表3.2所示:表3.1.2STM32输出模式配置表接下来我们看看端口低配置寄存器CRL的描述,如下图所示:北京百科融创教学仪器设备有限公司嵌入式视频智能车21图3.1.3端口低配置寄存器CRL各位描述该寄存器的复位值为0X44444444,从上图可以看到,复位值其实就是配置端口为浮空输入模式。从上图还可以得出:STM32的CRL控制着每个IO端口(A~G)的低8位的模式。每个IO端口的位占用CRL的4个位,高两位为CNF,低两位为MODE。这里我们可以记住几个常用的配置,比如0X4表示模拟输入模式(ADC用)、0X3表示推挽输出模式(做输出口用,50M速率)、0X8表示上/下拉输入模式(做输入口用)、0XB表示复用输出(使用IO口的第二功能,50M速率)。CRH的作用和CRL完全一样,只是CRL控制的是低8位输出口,而CRH控制的是高8位输出口。这里我们对CRH就不做详细介绍了。给个实例,比如我们要设置PORTC的11位为上拉输入,12位为推挽输出。代码如下:GPIOC->CRH&=0XFFF00FFF;//清掉这2个位原来的设置,同时也不影响其他位的设置GPIOC->CRH|=0X00038000;//PC11输入,PC12输出GPIOC->ODR=1<<11;//PC11上拉通过这3句话的配置,我们就设置了PC11为上拉输入,PC12为推挽输出。北京百科融创教学仪器设备有限公司嵌入式视频智能车22IDR是一个端口输入数据寄存器,只用了低16位。该寄存器为只读寄存器,并且只能以16位的形式读出。该寄存器各位的描述如下图所示:图3.1.4端口输入数据寄存器IDR各位描述要想知道某个IO口的状态,你只要读这个寄存器,再看某个位的状态就可以了。使用起来是比较简单的。ODR是一个端口输出数据寄存器,也只用了低16位。该寄存器虽然为可读写,但是从该寄存器读出来的数据都是0。只有写是有效的。其作用就是控制端口的输出。该寄存器的各位描述如下图所示:图3.1.5端口输出数据寄存器ODR各位描述了解了这几个寄存器,我们就可以开始跑马灯实验的真正设计了。关于IO口更详细的介绍,请参考《STM32参考手册》第69页7.1节。三、实验内容与步骤1、硬件资源连接STM32核心板的PD8~PD11位与D1~D4灯相连,如下图所示。北京百科融创教学仪器设备有限公司嵌入式视频智能车23图3.1.6跑马灯硬件设计2、软件设计首先,找到之前新建的TEST工程,在该文件夹下面新建一个HARDWARE的文件夹,用来存储以后与硬件相关的代码。然后在HARDWARE文件夹下新建一个LED文件夹,用来存放与LED相关的代码。如下图所示:图3.1.7新建HARDWARE文件夹然后我们打开USER文件夹下的TEST.Uv2工程,按File菜单下的按钮新建一个文件,然后保存在HARDWARE->LED文件夹下面,保存为led.c。在该文件中输入如下代码:#include<stm32f10x_lib.h>北京百科融创教学仪器设备有限公司嵌入式视频智能车24#include"led.h"//V1.0//初始化PD为输出口.并使能这个口的时钟//LEDIO初始化voidLED_Init(void){GPIOD->CRH&=0Xffff0000;//清掉原来的设置,同时不影响其它位设置。GPIOD->CRH|=0X00003333;//PD8~11推挽输出GPIOD->ODR|=0x0f00;//PD8~11输出高}该代码里面就包含了一个函数voidLED_Init(void),该函数的功能就是用来实现配置PD8~PD11推挽输出。在配置STM32外设的时候,任何时候都要先使能该外设的时钟!APB2ENR是APB2总线上的外设时钟使能寄存器,其各位的描述如下:图3.1.8寄存器APB2ENR各位描述我们要使能的PORTE的时钟使能位,分别在bit6,只要将这位置1就可以使能PORTE的时钟了。该寄存器还包括了很多其他外设的时钟使能。大家在以后会慢慢使用到的。关于这个寄存器的详细说明在《STM32参考手册》的第61页。在设置完时钟之后就是配置完时钟之后,LED_Init配置PD8~PD11的模式为推挽输出,并且默认输出1。这样就完成了对这两个IO口的初始化。保存led.c代码,然后我们在HARDWARE->LED文件夹下面,新建一个led.h文件,也保存在LED文件夹下面。在led.h中输入如下代码:#ifndef__LED_H#define__LED_H#include"sys.h"//LED端口定义#defineLED0PDout(8)//PD8#defineLED1PDout(9)//PD9#defineLED2PDout(10)//PD10北京百科融创教学仪器设备有限公司嵌入式视频智能车25#defineLED3PDout(11)//PD11voidLED_Init(void);//初始化。#endif最后点击保存LED.h文件。接着,我们在ManageComponents管理里面新建一个HARDWARE的组,并把led.c加入到这个组里面,如下图所示:图3.1.9给工程新增HARDWARE组单击OK,回到工程,然后你会发现在ProjectWorkspace里面多了一个HARDWARE的组,在改组下面有一个led.c的文件。如下图所示:图3.1.10给工程新增HARDWARE组北京百科融创教学仪器设备有限公司嵌入式视频智能车26回到主界面,在main函数里面编写如下代码:#include<stm32f10x_lib.h>#include<stdio.h>#include"sys.h"#include"usart.h"#include"delay.h"#include"led.h"intmain(void){u32j=0x0100,i,k=0x0f00;Stm32_Clock_Init(9);//系统时钟设置delay_init(72);//延时初始化LED_Init();//初始化与LED连接的硬件接口while(1){for(i=0;i<4;i++){GPIOD->ODR|=j;//给PD8~PD11赋值delay_ms(600);j<<=1;//左移GPIOD->ODR&=0x00;}j=0x0100;for(i=0;i<4;i++){GPIOD->ODR|=k;//给PD8~PD11赋值delay_ms(600);k>>=1;//右移GPIOD->ODR&=0x00;}k=0x0f00;}}代码先包含了#include"led.h"这句,使得D1~D4、LED_Init等能在main函数里被调用。接下来,main函数先配置系统时钟为72M,然后把延时函数初始化一下。接着就是调用LED_Init来初始化D1~D4为输出。最后在死循环里面实现D1~D4流水功能,间隔为600ms。然后按,编译工程,得到结果如下图所示:北京百科融创教学仪器设备有限公司嵌入式视频智能车27图3.1.11编译结果3、程序下载程序下载设置请参考“附录1RVMDK4.10软件安装说明.doc”的2.5小节程序下载部分,最后打开核心板电源,开始进行程序下载。4、观察实验结果D1~D4流水功能,间隔为600ms。四、参考实验代码实验源代码请参见“小车核心板程序\测试程序”。北京百科融创教学仪器设备有限公司嵌入式视频智能车283.2实验二、按键实验一、实验目的1、学习基本的数据处理方法、数据的传输、基本指令的使用。2、了解到STM32的IO口作为输入使用的方法。二、实验原理STM32的IO口在上一节已经有详细的介绍,这里不再细述。STM32的IO口做输入使用的时候,是通过读取IDR的内容来读取IO口的状态的。了解了这点,就可以开始我们的代码编写。这一节,我们将通过STM32板上载有的4个独立按钮,来控制板上的4个LED灯,其中K1控制D1,按一次亮,再按一次,就灭。K2控制D2,效果同K1,K3、K4同理。三、实验内容与步骤1、硬件资源连接STM32核心板的四个独立按键与PB12~PB15口相连,如下图所示。图3.2.1独立按键电路原理图2、软件设计打开实验二例程工程里面的USER文件夹,双击TEST.uvproj图标,中断的实现过程请参阅key.c和key.h。3、程序下载程序下载设置请参考“附录1RVMDK4.10软件安装说明.doc”的2.5小节程序下载部分,最后打开核心板电源,开始进行程序下载。4、观察实验结果K1控制D1,按一次亮,再按一次,就灭。K2控制D2,效果同D1,K3、K4同理。四、参考实验代码实验源代码请参见“小车核心板程序\测试程序”。北京百科融创教学仪器设备有限公司嵌入式视频智能车293.3实验三、PWM输出实验一、实验目的1、了解STM32的内部定时器原理。2、掌握STM32的PWM输出的编程方法。二、实验原理脉冲宽度调制(PWM),是英文“PulseWidthModulation”的缩写,简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。简单一点,就是对脉冲宽度的控制。STM32的定时器除了TIM6和7。其他的定时器都可以用来产生PWM输出。其中高级定时器TIM1和TIM8可以同时产生多达7路的PWM输出。而通用定时器也能同时产生多达4路的PWM输出,这样,STM32最多可以同时产生30路PWM输出!这里我们仅利用TIM3的CH2产生一路PWM输出。如果要产生多路输出,大家可以根据我们的代码稍作修改即可。要使STM32的通用定时器TIMx产生PWM输出,除了上一节介绍的寄存器外,我们还会用到3个寄存器,来控制PWM的。这三个寄存器分别是:捕获/比较模式寄存器(TIMx_CCMR1/2)、捕获/比较使能寄存器(TIMx_CCER)、捕获/比较寄存器(TIMx_CCR1~4)。接下来我们简单介绍一下这三个寄存器。首先是捕获/比较模式寄存器(TIMx_CCMR1/2),该寄存器总共有2个,TIMx_CCMR1和TIMx_CCMR2。TIMx_CCMR1控制CH1和2,而TIMx_CCMR1控制CH3和4。该寄存器的各位描述如下:。图3.7.1寄存器TIMx_CCMR1各位描述该寄存器的有些位在不同模式下,功能不一样,所以上图把寄存器分了2层,上面一层对应输出而下面的则对应输入。关于该寄存器的详细说明,请参考《STM32参考手册》第246页,13.4.7一节。这里我们需要说明的是模式设置位OCxM,此部分由3位组成。总共可以配置成7种模式,我们使用的是PWM模式,所以这3位必须设置为110/111。这两种PWM模式的区别就是输出电平的极性相反。接下来,我们介绍捕获/比较使能寄存器(TIMx_CCER),该寄存器控制着各个输入输出通道的开关。该寄存器的各位描述如下:图3.7.2寄存器TIMx_CCER各位描述该寄存器比较简单,我们这里不多说了,有不明白的地方,请参考《STM32参考手册》第251页,13.4.9这一节。最后,我们介绍一下捕获/比较寄存器(TIMx_CCR1~4),该寄存器总共有4个,对应4个输通道CH1~4。因为这4个寄存器都差不多,我们仅以TIMx_CCR1为例介绍,该寄存器的各位描述如下:北京百科融创教学仪器设备有限公司嵌入式视频智能车30图3.7.3寄存器TIMx_CCR1各位描述在输出模式下,该寄存器的值与CNT的值比较,根据比较结果产生相应动作。利用这点,我们通过修改这个寄存器的值,就可以控制PWM的输出脉宽了。至此,我们把这一节要用的几个TIMx相关寄存器都介绍完了,解析来我们就说说这一节要实现的功能。我们要利用TIM3的CH2(对应MiniSTM32核心板的PA7)输出PWM来控制DS0的亮度。所以我们在软件上要做的就是控制TIM3_CH2的PWM输出。接下来我们将介绍通过哪几个步骤,就可以达到这个目的:1)开启TIM3时钟,配置PA7为复用输出。要使用TIM3,我们必须先开启TIM3的时钟(通过APB1ENR设置),这点相信大家看了这么多代码,应该明白了。这里我们还要配置PA7为复用输出,这是因为TIM3_CH2通道是以IO复用的形式连接到PA7上的,这里我们要使用复用输出功能。2)设置TIM3的ARR和PSC。在开启了TIM3的时钟之后,我们要设置ARR和PSC两个寄存器的值来控制输出PWM的周期。当PWM周期太慢(低于50Hz)的时候,我们就会明显感觉到闪烁了。因此,PWM周期在这里不宜设置的太小。3)设置TIM3_CH2的PWM模式。接下来,我们要设置TIM3_CH2为PMW模式(默认是冻结的),因为我们的DS0是低电平亮,而我们希望当CCR2的值小的时候,DS0就暗,CCR2值大的时候,DS0就亮,所以我们要通过配置TIM3_CCMR1的相关位来控制TIM3_CH2的模式。4)使能TIM3的CH2输出,使能TIM3。在完成以上设置了之后,我们需要开启TIM3的通道2输出以及TIM3。前者通过TIM3_CCER1来设置,是单个通道的开关,而后者则通过TIM3_CR1来设置,是整个TIM3的总开关。只有设置了这两个寄存器,这样我们才能在TIM3的通道2上看到PWM波输出。5)修改TIM3_CCR2来控制占空比。最后,在经过以上设置之后,PWM其实已经开始输出了,只是其占空比和频率都是固定的,而我们通过修改TIM3_CCR2则可以控制CH2的输出占空比。继而控制LED1的亮度。通过以上5个步骤,我们就可以控制TIM3的CH2输出PWM波了。三、实验内容与步骤1、硬件资源连接参考“ARM-STM32核心板与驱动底板之间的连接”PE8与PE13分别输出PWM信号,可以直接控制小车电机。PE9~PE12为控制小车电机的转动方向。北京百科融创教学仪器设备有限公司嵌入式视频智能车312、软件设计打开实验六例程工程里面的USER文件夹,双击TEST.uvproj图标,定时中断的实现过程请参阅timer.c和timer.h。3、程序下载程序下载设置请参考“附录1RVMDK4.10软件安装说明.doc”的2.5小节程序下载部分,最后打开核心板电源,开始进行程序下载。4、观察实验结果小车电机转动,从慢到快,又从快到慢,如此重复。四、参考实验代码实验源代码请参见“小车核心板程序\测试程序”。北京百科融创教学仪器设备有限公司嵌入式视频智能车323.4实验四、循迹测试实验一、实验目的1、学习光电对管的工作原理。2、学习PWM驱动电机的工作原理。二、实验原理本次实验要准备一个小车的跑道,跑道上白底黑线,黑线宽度大概3CM,小车前面的8个光电对管起循迹作用,当光电对管照到黑白的跑道上面,会输出不同的电平,一般就是高低电平,本循迹电路照到黑线输出低电平,照到白线输出高电平,从而可以识别路线。循迹传感器模块上还设有8个指示灯,分别对应8个光电对管,当光电对管在黑线上时,对应的指示灯亮。注意,由于光电传感器的灵敏度和高度不一样,环境光照强度也不一样,所以我们在实验中要适当调节传感器模块上相应的电位器,和传感器模块高度。使传感器能够在黑线上输出低电平,白线上输出高电平。小车电机的驱动芯片是L298N,该芯片内部是H桥电路,可以控制小车电机的正反转。小车的PWM驱动是实验小车转向的必要条件,通过PWM控制小车的速度实验小车的转向、拐弯。三、实验内容与步骤1、硬件资源连接请参照“1.2.3循迹板与任务板之间的连线”和“1.2.6核心板与任务板之间的连接”这两个小节。2、编译程序启动uVision4新建一个52单片机的工程,输入参考代码并编译、下载。3、观察实验结果小车可以在跑道上实现循迹功能。四、参考实验代码实验源代码请参见“小车核心板程序\测试程序”。北京百科融创教学仪器设备有限公司嵌入式视频智能车333.5实验五、WIFI测试实验一、实验目的1、WIFI模块的使用方法2、单指令控制电机方法。二、实验原理WIFI模块已设置为服务器模式,使用TCP协议,端口统一设置为60000,IP地址设置从192.168.1.8起,各WIFI的名称分别为:bkrc_car0~bkrc_car9。每个模块IP不相同,请查看各模块上的标签。此模块与单片机连接通过串口方式,当模块接收到连接到它的WIFI数据后,会通过串口发送到单片机上。我们只要通过单片机处理接收到的串口数据即可。该实验中,利用核心板上的LED灯调试,把接收到的指令,控制LED灯反转,通过WIFI串口调试助手可以实现自发自收。Wifi串口调试助手和普通串口调试助手相像,它需要配对相关的通信接口,协议类型,服务器IP,服务器端口。这些相关设置如下图(不同小车的服务器IP不同)。三、实验内容与步骤1、硬件资源连接请参照“1.2.5核心板与WIFI模块的连接”和“1.2.6核心板与任务板之北京百科融创教学仪器设备有限公司嵌入式视频智能车34间的连接”这两个小节。2、编译程序启动uVision4新建一个52单片机的工程,输入参考代码并编译、下载。3、观察实验结果发送字节,核心板上的D1灯分别反转,同时发送的数据回发给wifi串口助手。四、参考实验代码实验源代码请参见“小车核心板程序\测试程序”。北京百科融创教学仪器设备有限公司嵌入式视频智能车353.6实验六、光强度测试实验一、实验目的1、光强度传感器的使用2、串口通信的使用方法3、IIC总线的使用二、实验原理通过IIC总线操作,来读取HB1750光强度传感器所测量到的环境的一个光强度值,将测取到的值通过核心板的串口通信,发送到电脑的PC端,通过串口通信软件来显示当前环境光强值。三、实验内容与步骤1、硬件资源连接请参照“1.2各组成部分连接”2、编译程序启动uVision4新建一个52单片机的工程,输入参考代码并编译、下载。3、观察实验结果参考实验3.5,利用Wifi串口调试助手,可以显示HB1750所测到的当前环境光强度值。四、参考实验代码实验源代码请参见“小车核心板程序\测试程序”。北京百科融创教学仪器设备有限公司嵌入式视频智能车363.7实验七、超声波测试实验一、实验目的1、加强wifi通信的学习2、学习超声波测距的方法二、实验原理通过超声波发射装置发出超声波,根据接收器接到超声波时的时间差就可以知道距离了。超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。三、实验步骤1、硬件资源连接请参照“1.2各组成部分连接”2、编译程序启动uVision4新建一个52单片机的工程,输入参考代码并编译、下载。3、观察实验结果PC端上的WIFI串口通信软件上将不断显示超声波所测到的距离。四、参考实验代码实验源代码请参见“小车核心板程序\测试程序”。北京百科融创教学仪器设备有限公司嵌入式视频智能车373.8实验八、综合实验一、实验目的1、学习单片机IO口模拟I2C原理。2、学习wifi通信工作原理。3、学习超声波测距工作原理4、学习电机驱动PCA控制PWM的工作原理5、掌握通过安卓APK控制小车。二、实验原理手机通过UART—WIFI与小车连接,通过手机APK软件向小车发送控制指令,小车接收到手机发送的指令后,分别做出相应的动作。软件中的方向键分别表示小车的运动方向。软件中还加入了循迹控制指令,当小车进入循迹控制时,小车变为自动控制,当按下停止键时,小车则退出循迹控制。三、实验内容与步骤1、硬件资源连接请参照“1.2各组成部分连接”小节。2、编译程序启动uVision4新建一个52单片机的工程,输入参考代码并编译、下载。3、观察实验结果在手机上,安装APK“Car_ExampleDemo.apk”。打开“Car_ExampleDemo”,上位机软件,如图3.8.1所示。北京百科融创教学仪器设备有限公司嵌入式视频智能车38图3.8.1上位机控制界面控制小车的安卓手机,连接小车的WIFI,出厂时已经设置,可以查看模块的标签,WIFI名称从BKRC-CAR1起。连接好后,打开软件,可以看到被控制小车的控制界面。点击不同的按键,小车则执行相应的操作。同时,手机软件上面也将显示从小车上测得的超声波、光强度等数据。四、参考实验代码实验源代码请参见“小车核心板程序\测试程序”。北京百科融创教学仪器设备有限公司嵌入式视频智能车39第四章上位机Android软件1、Android概述1.1Android简介Android是一个以Linux为基础的半开源操作系统,主要用于行动设备,由Google和开放手持设备联盟开发与领导。Android系统最初由安迪·鲁宾(AndyRubin)制作,最初主要支持手机。2005年8月17日被Google收购。2007年11月5日,Google与84家硬件制造商、软件开发商及电信营运商组成开放手持设备联盟(OpenHandsetAlliance)来共同研发改良Android系统并生产搭载Android的智慧型手机,并逐渐拓展到平板电脑及其他领域上。随后,Google以Apache免费开源许可证的授权方式,发布了Android的源代码。Android平台有五大优势:一、开放性在优势方面,Android平台首先就是其开发性,开发的平台允许任何移动终端厂商加入到Android联盟中来。显著的开放性可以使其拥有更多的开发者,随着用户和应用的日益丰富,一个崭新的平台也将很快走向成熟。开发性对于Android的发展而言,有利于积累人气,这里的人气包括消费者和厂商,而对于消费者来讲,随大的受益正是丰富的软件资源。开放的平台也会带来更大竞争,如此一来,消费者将可以用更低的价位购得心仪的手机。二、挣脱运营商的束缚在过去很长的一段时间,特别是在欧美地区,手机应用往往受到运营商制约,使用什么功能接入什么网络,几乎都受到运营商的控制。从去年iPhone上市,用户可以更加方便地连接网络,运营商的制约减少。随着EDGE、HSDPA这些2G至3G移动网络的逐步过渡和提升,手机随意接入网络已不是运营商口中的笑谈,当你可以通过手机IM软件方便地进行即时聊天时,再回想不久前天价的彩信和图铃下载业务,是不是像噩梦一样?互联网巨头Google推动的Android终端天生就有网络特色,将让用户离互联网更近。北京百科融创教学仪器设备有限公司嵌入式视频智能车40三、丰富的硬件选择这一点还是与Android平台的开放性相关,由于Android的开放性,众多的厂商会推出千奇百怪,功能特色各具的多种产品。功能上的差异和特色,却不会影响到数据同步、甚至软件的兼容,好比你从诺基亚Symbian风格手机一下改用苹果iPhone,同时还可将Symbian中优秀的软件带到iPhone上使用、联系人等资料更是可以方便地转移,是不是非常方便呢?四、不受任何限制的开发商Android平台提供给第三方开发商一个十分宽泛、自由的环境,不会受到各种条条框框的阻扰,可想而知,会有多少新颖别致的软件会诞生。但也有其两面性,血腥、暴力、情色方面的程序和游戏如何控制正是留给Android难 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 之一。五、无缝结合的Google应用如今叱诧互联网的Google已经走过10年度历史,从搜索巨人到全面的互联网渗透,Google服务如地图、邮件、搜索等已经成为连接用户和互联网的重要纽带,而Android平台手机将无缝结合这些优秀的Google服务。1.2系统架构一个优越稳定的平台背后必有一个成熟的系统架构所支撑着。那么,Android的系统架构是怎么样的呢?从下图4.1我们可以从整体上有个大致的了解。图4.1Android系统构架图北京百科融创教学仪器设备有限公司嵌入式视频智能车41从上图中可以看出,Android系统架构为四层结构,从上层到下层分别是应用程序层、应用程序框架层、系统运行库层以及Linux内核层,分别介绍如下:1应用程序层Android平台不仅仅是操作系统,也包含了许多应用程序,诸如SMS短信客户端程序、电话拨号程序、图片浏览器、Web浏览器等应用程序。这些应用程序都是用Java语言编写的,并且这些应用程序都是可以被开发人员开发的其他应用程序所替换,这点不同于其他手机操作系统固化在系统内部的系统软件,更加灵活和个性化。2应用程序框架层应用程序框架层是我们从事Android开发的基础,很多核心应用程序也是通过这一层来实现其核心功能的,该层简化了组件的重用,开发人员可以直接使用其提供的组件来进行快速的应用程序开发,也可以通过继承而实现个性化的拓展。a)ActivityManager(活动管理器)管理各个应用程序生命周期以及通常的导航回退功能b)WindowManager(窗口管理器)管理所有的窗口程序c)ContentProvider(内容提供器)使得不同应用程序之间存取或者分享数据d)ViewSystem(视图系统)构建应用程序的基本组件e)NotificationManager(通告管理器)使得应用程序可以在状态栏中显示自定义的提示信息f)PackageManager(包管理器)北京百科融创教学仪器设备有限公司嵌入式视频智能车42Android系统内的程序管理g)TelephonyManager(电话管理器)管理所有的移动设备功能h)ResourceManager(资源管理器)提供应用程序使用的各种非代码资源,如本地化字符串、图片、布局文件、颜色文件等i)LocationManager(位置管理器)提供位置服务j)XMPPService(XMPP服务)提供GoogleTalk服务3)系统运行库层从图中可以看出,系统运行库层可以分成两部分,分别是系统库和Android运行时,分别介绍如下:a)系统库系统库是应用程序框架的支撑,是连接应用程序框架层与Linux内核层的重要纽带。其主要分为如下几个:ØSurfaceManager:执行多个应用程序时候,负责管理显示与存取操作间的互动,另外也负责2D绘图与3D绘图进行显示合成。ØMediaFramework:多媒体库,基于PacketVideoOpenCore;支持多种常用的音频、视频格式录制和回放,编码格式包括MPEG4、MP3、H.264、AAC、ARM。ØSQLite:小型的关系型数据库引擎北京百科融创教学仪器设备有限公司嵌入式视频智能车43ØOpenGL|ES:根据OpenGLES1.0API标准实现的3D绘图函数库ØFreeType:提供点阵字与向量字的描绘与显示ØWebKit:一套网页浏览器的软件引擎ØSGL:底层的2D图形渲染引擎ØSSL:在Andorid上通信过程中实现握手ØLibc:从BSD继承来的标准C系统函数库,专门为基于embeddedlinux的设备定b)Android运行时Android应用程序时采用Java语言编写,程序在Android运行时中执行,其运行时分为核心库和Dalvik虚拟机两部分。Ø核心库核心库提供了Java语言API中的大多数功能,同时也包含了Android的一些核心API,如android.os、android.net、android.media等等。ØDalvik虚拟机Android程序不同于J2me程序,每个Android应用程序都有一个专有的进程,并且不是多个程序运行在一个虚拟机中,而是每个Android程序都有一Dalivik虚拟机的实例,并在该实例中执行。Dalvik虚拟机是一种基于寄存器的Java虚拟机,而不是传统的基于栈的虚拟机,并进行了内存资源使用的优化以及支持多个虚拟机的特点。需要注意的是,不同于J2me,Android程序在虚拟机北京百科融创教学仪器设备有限公司嵌入式视频智能车44中执行的并非编译后的字节码,而是通过转换工具dx将Java字节码转成dex格式的中间码。4)Linux内核层Android是基于Linux2.6内核,其核心系统服务如安全性、内存管理、进程管理、网路协议以及驱动模型都依赖于Linux内核。1.3Android应用程序的构成图4.2Android应用程序的构成Activity:负责应用程序中数据的展示Intent:负责应用程序中数据的传递Service:负责大部分数据处理工作ContentProvider:负责存取数据,并允许有需要的应用程序访问这些数据北京百科融创教学仪器设备有限公司嵌入式视频智能车451.4Android工程构成图4.3Android工程构成图src:存放Java类文件gen:存放ADT自动生成的类文件drawable:存放图片文件(hdpi、ldpi、mdpi、xmdpi分别存放高、低、中、超高等分辨率四个版本)layout:存放布局文件values:存放字符串等资源的键值对配置文件AndroidManifest.xml:整个应用程序的配置文件注:每一个Activity都对应layout目录下的一个布局文件。res目录下的资源会在R.java中自动生成一个id;而assets目录下存放的资源不会生成相应的id。北京百科融创教学仪器设备有限公司嵌入式视频智能车462、Android开发环境2.1安装工具Eclipse、Javajdk7、AndroidSdk。2.2安装步骤2.2.1安装JavaJdk在安装Eclipse之前,应确保已安装了JavaJdk。2.2.2测试JavaJdk安装是否成功打开【开始】中的【运行】输入cmd按【回车键】,在跳出的命令窗口中输入Java-version,识别此命令则安装成功,如图4.4所示。图4.4JavaJdk安装成功2.2.3Eclipse的sdk的配置打开Eclipse->window->在弹出菜单左侧,选中Android属性->在SDKLocation目录中选择之前解压缩的AndroidSDK目录->点击Apply按钮,然后点击OK。北京百科融创教学仪器设备有限公司嵌入式视频智能车47图4.5选择SDK路径注:路径中不要有汉字和空格。北京百科融创教学仪器设备有限公司嵌入式视频智能车483、Android应用程序示例创建HelloAndroid项目1.打开已经安装好的Eclipse,界面如图4.6所示。图4.6Eclipse初始界面2.选择File->New->AndroidApplicationProject菜单项。如果在New中没有,单击Other菜单项,在弹出对话框的Android下找到AndroidApplicationProject项,如图4.7所示。图4.7创建Android项目北京百科融创教学仪器设备有限公司嵌入式视频智能车493.单击Next按钮弹出Android项目创建界面,填写项目名称、项目默认的存储路径、目标版本、应用程序名(默认与项目名一致)、包名、创建的Activity的名字、最小SDK版本(默认与目标版本API一致,不要修改),如图4.8所示。图4.8设置工程名、目标平台等参数4.单击Finish按钮,项目创建完成。在创建完成项目的过程中,ADT会自动生成一些目录和文件,具体后续生成的项目目录如图4.9所示。图4.9Android工程目录结构北京百科融创教学仪器设备有限公司嵌入式视频智能车50因为这是我们刚开始学习android开发,所以在此详细介绍下在Android工程目录结构中各组成的用途。如下表所示。AndroidProject组成文件描述是否必需AndroidManifest.xmlAndroid应用程序描述符文件。此文件定义了Android应用程序的活动,内容提供者,服务,意图接受者。你也可以使用此文件声明应用程序所需的权限,以及具体的权限,授予其它应用程序使内容提供者的服务。此外,可以声明用来测试的另一个应用程序。是src包含应用程序的所有Java源代码。是assets其他任何资源的文件夹和文件的集合否res包含应用程序的资源。包含drawable,aiom,layout,values,xml,andraw子文件夹。是Drawable包含应用程序使用的图像资源或图像描述文件。否Anim包含用xml语言描述的应用程序使用的动画效果的配置文件。否layout包含应用程序的布局的xml文件。你应该创建通过使用xml描述界面的布局,而不是通过Java编码实现界面布局。否Values包含应用程序常量资源。包括字符串,样式和颜色。否北京百科融创教学仪器设备有限公司嵌入式视频智能车51xml包含应用程序使用的xml资源。例如菜单定义字样否raw包含附加数据和非xml数据。例如mp3文件否4.选中需要运行的hello项目右击,在弹出的快捷菜单中选择Runas→AndroidApplication菜单项。系统默认启动已经创建的模拟器运行项目,如图4.10所示。图4.10模拟器运行显示北京百科融创教学仪器设备有限公司嵌入式视频智能车52实验一、颜色识别例程颜色识别例程。运行项目进入主界面,界面显示图片和判断完成的颜色,点击下一个图片按钮,图片变换,颜色重新判断。一、项目目的掌握Android中图片颜色如何区别为偏向红、绿、蓝三色方法。二、项目步骤1、打开Eclipse软件,根据示例中创建项目步骤,创建颜色识别项目,项目名最好见名知意。如取名为ColorIndentifivation。注第一个字符大写。2、在创建的项目程序中编写相应代码,实现识别颜色功能。编译方法参考案例代码。三、项目结果在真机或模拟器上运行编译好的代码,进入主界面,如图4.11所示。点击按钮图片自动变化,并显示识别的颜色,如图4.12所示。图4.11界面初始化图4.12图片为红时北京百科融创教学仪器设备有限公司嵌入式视频智能车53实验二、二维码解析例程二维码解析例程。运行程序进入主界面,其中包括二维码解析结果文本框、解析下一个二维码按钮和二维码图片显示控件。点击解析下一个二维码按钮,二维码图片显示,并把解析到的结果显示在结果文本框。一、项目目的掌握二维码图片解析方法。二、项目步骤1、打开Eclipse,创建二维码图片解析项目工程。2、在创建的项目的libs文件夹中导入“core.jar”包。3、在创建的项目src文件夹中创建一个工具包,导入封装的二维码解析“RGBLuminanceSourse.java”类。4、在Activity中实现解析本体二维码图的功能代码。代码参考案例项目。三、项目结果在真机上运行完成的项目,进入主界面,如图4.13所示。点击按钮,实现二维码图片的变化,并解析此二维码,把得到的解析结果显示在文本框中,如图4.14所示。图4.13界面初始化图4.14二维码中为“白色”时北京百科融创教学仪器设备有限公司嵌入式视频智能车54实验三、NFC读写删例程NFC读写删例程。运行项目进入主界面,界面显示读、写和删按钮,点击相应按钮,实现其功能。其中三个按钮下方拥有一个显示结果文本框。一、项目目的掌握如何应用支持NFC功能的手机读取NFC卡的内容,往NFC卡片中写入信息和删除其中信息。二、项目步骤1、打开Eclipse,创建NFC读写删的项目。2、在资源文件夹res中新建xml文件夹3、在AndroidManifest.xml的Activity声明中添加meta-data,实现Nfc类型的配置。三、项目结果在支持NFC功能的Android设备上运行项目,界面初始化如图4.15所示。点击读按钮,界面如图4.16所示。图4.15界面初始化图4.16没有NFC卡连接读出数据北京百科融创教学仪器设备有限公司嵌入式视频智能车55实验四、WiFi控制小车例程控制小车例程。运行程序进入主界面,点击相应按钮控制小车。其中有控制小车的前进、后退、左拐、右拐、停止、循迹和设置小车速度的功能。一、项目目的掌握通过连接小车WiFi控制小车的前进、后退、左拐、右拐、停止、循迹和变速功能。二、项目步骤1、打开Eclipse,创建WiFi控制小车项目。2、在layout文件夹的布局文件中添加相应控件,实现界面初始化。3、在Activity中是实现控制小车的功能,代码的实现参考开发例程。4、在AndroidManifest.xml中添加WiFi声明与上网权限。三、项目结果搜索小车无线网络,连接成功后运行程序,显示主界面,如图4.17所示。点击界面上的按键,小车做出相应动作。图4.17界面初始化北京百科融创教学仪器设备有限公司嵌入式视频智能车56实验五、显示摄像头视频例程一、项目目的掌握如何搜索连接在同一WiFi段的设备,并接受视频。二、项目步骤1.打开Eclipse创建摄像头视频项目。2.在libs文件夹中创建armeabi文件夹,导入libavi_utils.so与libffmpeg.so这两个编写完成的JNI。这两个是视频处理包。3.在layout中实现布局。4.在src文件夹中实现代码功能。布局与功能实现参考案例代码。三、项目结果在版本大于2.2的手机中运行项目,界面初始化如图4.18所示。申请初始化本地接口,完成后跳转到摄像头扫描界面,如图4.19所示。连接扫描到的设备,显示在线状态,如图4.20所示。点击操作控制模式,接受显示视频,如图4.21所示。图4.18界面初始化图4.19设备搜索图4.20连接成功图4.21视频显示北京百科融创教学仪器设备有限公司嵌入式视频智能车57实验六、传感器数据接受例程传感器数据接受例程。运行程序进入主界面,显示时时接受到的光照强度与超声波数据。一、项目目的掌握WiFi协议中数据的接受。二、项目步骤1、打开Eclipse,创建传感器数据接受项目。2、在layout文件夹的布局文件中添加相应控件,实现主界面初始图。3、在Activity中编译相应代码,实现WiFi接口数据接受功能,代码实现参考案例代码。4、在AndroidManifest中添加WiFi声明与网络声明的权限。三、项目结果在真机上运行程序,显示初始化的主界面,如图4.22所示。图4.22传感器界面北京百科融创教学仪器设备有限公司嵌入式视频智能车58附录安卓手机上位机协议平板向小车发送命令的数据结构0x550xAA0xXX0xXX0xXX0xXX包头主指令副指令此数据有六位字节组成。其中前两位字节为固定值,属于此串数据的包头,第三位字节为主指令,属于指令名称序号,后三位字节为副指令,属于主指令的功能指令。主指令序号表主指令序号指令名称0x01小车停止0x02小车前进0x03小车后退0x04小车左转0x05小车右转0x06小车循迹0x07码盘清零0x10红外数据0x11红外数据0x12红外发射0x20指示灯0x30蜂鸣器0x40双色LED灯0x50相框照片上翻0x51相框照片下翻0x60光源档位不加0x61光源档位加10x62光源档位加2北京百科融创教学仪器设备有限公司嵌入式视频智能车590x63光源档位加30x70隧道风扇打开主指令序号对应副指令功能序号表指令序号指令功能序号0x010x000x000x000x02速度值码盘低八位码盘高八位0x03速度值码盘低八位码盘高八位0x04速度值0x000x000x05速度值0x000x000x06速度值0x000x000x070x000x000x000x10红外数据[1]红外数据[2]红外数据[3]0x11红外数据[4]CRC校验低位CRC校验高位0x120x000x000x000x200x01/0x00(开/关)左灯0x01/0x00(开/关)右灯0x000x300x01/0x00(开/关)0x000x000x40指令0x000x000x500x000x000x000x510x000x000x000x600x000x000x000x610x000x000x000x620x000x000x000x630x000x000x000x700x000x000x00速度值:取值范围为(10~60)码盘值:取值范围为(0~65635)北京百科融创教学仪器设备有限公司嵌入式视频智能车60平板控制从车数据结构0x550x020xXX0xXX0xXX0xXX包头主指令副指令说明:平板控制从车,其指令结构除去包头不完全一致之外,主指令和副指令是完全一致的。平板控制道闸数据结构0x550x030x010x01/0x020x000x00包头主指令副指令说明:主指令0x01代表一号道闸,第一位副指令0x01控制道闸打开,0x02控制道闸关闭,后两位副指令保留不用。平板控制数码管显示计时测试系统数据结构0x550x040x01/0x020xXX0xXX0xXX包头主指令副指令说明:主指令0x01代表显示系统第一排数码管,0x02代表显示系统第二排数码管,三位副指令代表要显示在数码管上的数据。码盘信息附加表车轮旋转圈数电机旋转圈数脉冲数车轮直径(mm)路程(mm)18016068213.52小车向平板发送参数的数据结构0x550xAA0xXX0xXX0xXX0xXX0xXX0xXX0xXX0xXX包头小车运行状态光敏状态超声波低八位超声波高八位光照低八位光照高八位码盘低八位码盘高八位北京百科融创教学仪器设备有限公司嵌入式视频智能车61此数据有十个字节组成。其中前两个字节为固定值,属于包头;第三个字节为可变的数据,属于小车循迹过程中的当前状态值;第四位字节为可变的数据,数据变化范围为0或者1,属于任务板上当前光敏状态;第五位与第六位字节为可变的数据,属于当前超声波数据;第七位与第八位字节为可变的数据,属于当前环境中光照强度数据;后两位字节为可变的数据,属于当前码盘值。小车向平板发送命令的数据结构小车运行状态表小车运行状态值状态说明0x00循迹状态0x01十字路口状态0x02转弯完成0x03倒车完成0x04出循迹线0x05道闸打开完成
本文档为【嵌入式视频智能小车实验指导书V1.0(2015)】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: ¥10.8 已有0 人下载
最新资料
资料动态
专题动态
机构认证用户
壹笑先生
致力于服务广大学子、教师、社考人员等一份学习的资料!
格式:pdf
大小:6MB
软件:PDF阅读器
页数:0
分类:工学
上传时间:2020-08-24
浏览量:8