




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、课程结课总结报告课程名称:机器人的制作实验一 基于 arduino 控制器的轮式机器人循迹避障功能设计实验二应变式传感器电子秤实验实验三 基于 c51 单片机控制器的轮式机器人电机控制系统实验四 基于 arm 控制器的博创平台轮式机器人循迹避障功能实现实验五 摄像头实现轮式机器人循迹功能的应用实验六 应用卓越联盟实验室设备进行设计和实现作品说明指导教师许晓飞系别机电工程学院专业机械电子工程学生姓名邓银涛班级 /学号机电 1401/2014010339成绩实验一基于 ardunio 控制器的轮式机器人循迹避障功能设计实验目的1.了解 ardunio 平台,并熟练使用此软件完成小车的各种活动2.了
2、解 hc-sr04 超声波测距模块的原理,并且熟练使用此模块作为小车的传感器进行工作3.了解并且熟悉红外线传感器循迹原理实验器材:adrunio 软件,超声波传感器,红外线传感器,导线,底板,电机,电池,单片机等实验内容:1.将硬件组装成小车,即轮式机器人2.利用 ardunio 使小车完成循迹功能步骤: (1)写好后缀为.txt 的 c 语言循迹文件(2)将文件导入单片机中(3)根据具体路况,运行并且进行调试红外线传感器的灵敏程度3.利用 ardunio 使小车完成避障功能步骤: (1)写好后缀为.txt 的 c 语言避障文件(2)将文件导入单片机中(3)运行并且进行调试小车躲避障碍物的距离
3、实验程序1.循迹程序:小车循迹程序思路图#include int left_motor_back=8; /左电机后退 (in1) int left_motor_go=9; /左电机前进 (in2) int right_motor_go=10; / 右电机前进 (in3) int right_motor_back=11; / 右电机后退 (in4) int key=7;/ 定义按键数字 7 接口const int sensorright = 3; / 右循迹红外传感器(p3.2 out1) const int sensorleft = 4; / 左循迹红外传感器(p3.3 out2) int s
4、l; / 左循迹红外传感器状态int sr; / 右循迹红外传感器状态void setup() / 初始化电机驱动io 为输出方式pinmode(left_motor_go,output); / pin 8 (pwm) pinmode(left_motor_back,output); / pin 9 (pwm) pinmode(right_motor_go,output);/ pin 10 (pwm) pinmode(right_motor_back,output);/ pin 11 (pwm) pinmode(key,input);/定义按键接口为输入接口pinmode(sensorrigh
5、t, input); /定义右循迹红外传感器为输入pinmode(sensorleft, input); /定义左循迹红外传感器为输入 void run(int time) / 前进void run() digitalwrite(right_motor_go,high); / 右电机前进digitalwrite(right_motor_back,low); analogwrite(right_motor_go,255);/pwm比例 0255 调速analogwrite(right_motor_back,0); digitalwrite(left_motor_go,high); / 左电机前进
6、digitalwrite(left_motor_back,low); analogwrite(left_motor_go,255);/pwm比例 0255 调速analogwrite(left_motor_back,0); /delay(time * 50); /执行时间,可以调整 /void left(int time) /左转 (左轮不动,右轮前进) void left() digitalwrite(right_motor_go,high); / 右电机前进digitalwrite(right_motor_back,low); analogwrite(right_motor_go,200)
7、; analogwrite(right_motor_back,0);/pwm比例 0255 调速digitalwrite(left_motor_go,low); /左轮后退digitalwrite(left_motor_back,low); analogwrite(left_motor_go,0); analogwrite(left_motor_back,100);/pwm比例 0255 调速/delay(time * 50); / 执行时间,可以调整 void right(int time) /右转 (右轮不动,左轮前进) void right() digitalwrite(right_mo
8、tor_go,low); /右电机后退digitalwrite(right_motor_back,low); analogwrite(right_motor_go,0); analogwrite(right_motor_back,100);/pwm比例 0255 调速digitalwrite 2.避障程序:char l1 = 9 ; / zheng char l2 = 8 ; char r1 = 10 ; / zheng char r2 = 11 ; int echopin = 13 ; int trigpin = 12 ; void setup ( ) /初始化动作的区块,定义串行端口和脚位
9、 pinmode ( echopin , input ) ; / pwm pinmode ( trigpin , output ) ; void loop ( )/版子重复执行动作的区块 int currdist ; long randnumber ; currdist = measuredistance ( ) ; / 读取前端距离delay ( 5 ) ; if ( currdist 10 ) straight( ); if ( currdist 5 ) back ( ); delay ( 1000 ); turnright ( ); delay ( 800 ); else back (
10、) ; delay ( 1000 ) ; turnleft ( ) ; delay ( 800 ) ; int measuredistance ( ) digitalwrite ( trigpin , low ) ; delay ( 2 ) ; digitalwrite ( trigpin , high ) ; delay ( 10 ) ; digitalwrite ( trigpin , low ) ; int distance = pulsein ( echopin , high ) ; distance = distance / 58.0 ; / 计算距离344 * 100 / 1000
11、000 * pulsein ( ) / 2 delay ( 60 ) ; / 循环间隔 60us return ( distance ) ; void straight ( ) analogwrite ( l1 ,100 ) ; / 255 0 zhengzhuan analogwrite ( l2 ,0 ) ; analogwrite ( r1 , 100 ) ; / 255 0 zhengzhuan analogwrite ( r2 , 0 ) ; void turnright ( ) analogwrite ( l1 ,100 ) ; / 255 0 zhengzhuan analogw
12、rite ( l2 ,0 ) ; analogwrite ( r1 ,0 ) ; / 255 0 zhengzhuan analogwrite ( r2 ,0 ) ; void turnleft ( ) analogwrite ( l1 , 0 ) ; / 255 0 zhengzhuan analogwrite ( l2 , 0 ) ; analogwrite ( r1 , 100 ) ; / 255 0 zhengzhuan analogwrite ( r2 , 0 ) ; void back() analogwrite ( l1 , 0 ) ; / 255 0 zhengzhuan an
13、alogwrite ( l2 , 100) ; analogwrite ( r1 , 0 ) ; / 255 0 zhengzhuan analogwrite ( r2 , 100 ) ; 实验过程中遇到的问题及解决办法循迹中:1.电机速度差异控制:发现左右轮写入同一数值时,小车行进方向偏离直线,对左右两轮写入不同数值,多次测试,指导左右轮速度相等。2.电机驱动器给arduino 供电出现问题,改用充电宝给arduino 供电,直接从gnd 和 5v 输出脚给电机驱动器供电3.一个电机有两根信号输入线,一根控制正转, 一根控制反转。 两个轮子一起测转地眼晕,容易出错。避障中:1.超声装置避障距
14、离的确定将hc-sr04 超声波避障程序中数值改短,提高避障灵敏性2.硬件的安装:超声装置无法固定曾尝试过用胶带,废旧车轮等但不理想,并未得到很好的解决实验结果小车可以成功的进行循迹和避障实验二电子秤实验一 单臂实验数据处理源码: axis(0 200 0 50)coords=0 20 40 60 80 100 120 140 160 180 200;0 2.8 5.1 7.5 9.9 12.4 14.8 17.2 19.6 22.0 24.6 gridholdplot(coords(1,:),coords(2,:),*)x=coords(1,:) y=coords(2,:) b=size(c
15、oords)c=ones(1,b(2) mt=c;x m=mt f=inv(mt*m)*mt*y y=,num2str(f(2),x+,num2str(f(1) x=-max(x):max(x) y=f(1)+f(2)*x mistake=max(x-y)/(max(y)-min(y); fprintf( 电阻传感器的系数灵敏度s=%5.3f%n,abs(f(2) fprintf( 非线性误差f=%5.3f%n,mistake) plot(x,y,-)xlabel(x/g)ylabel(v/mv)title( 单臂实验 )legend(y=,num2str(f(2),x+,num2str(f(
16、1)matlab 处理结果电阻传感器的系数灵敏度s=0.122% 非线性误差f=3.607% 半桥实验源码:axis(0 200 0 50)coords=0 20 40 60 80 100 120 140 160 180 200;0 4.0 8.8 13.7 18.6 23.5 18.4 33.2 38.2 43.1 47.9 gridholdplot(coords(1,:),coords(2,:),*)x=coords(1,:) y=coords(2,:) b=size(coords)c=ones(1,b(2) mt=c;x m=mt f=inv(mt*m)*mt*y y=,num2str(
17、f(2),x+,num2str(f(1) x=-max(x):max(x) y=f(1)+f(2)*x mistake=max(x-y)/(max(y)-min(y); fprintf( 电阻传感器的系数灵敏度s=%5.3f%n,abs(f(2) fprintf( 非线性误差f=%5.3f%n,mistake) plot(x,y,-)xlabel(x/g)ylabel(v/mv)title( 半桥实验 )legend(y=,num2str(f(2),x+,num2str(f(1) matlab 处理结果电阻传感器的系数灵敏度s=0.238% 非线性误差f=1.615% 全桥实验源码:axis(
18、0 200 0 100)coords=0 20 40 60 80 100 120 140 160 180 200; 0 7.4 15.3 23.1 30.9 38.8 46.7 54.6 62.6 70.5 78.4 gridholdplot(coords(1,:),coords(2,:),*)x=coords(1,:) y=coords(2,:) b=size(coords)c=ones(1,b(2) mt=c;x m=mt f=inv(mt*m)*mt*y y=,num2str(f(2),x+,num2str(f(1) x=-max(x):max(x) y=f(1)+f(2)*x mist
19、ake=max(x-y)/(max(y)-min(y); fprintf( 电阻传感器的系数灵敏度s=%5.3f%n,abs(f(2) fprintf( 非线性误差f=%5.3f%n,mistake) plot(x,y,-)xlabel(x/g)ylabel(v/mv)title( 全桥实验 )legend(y=,num2str(f(2),x+,num2str(f(1)matlab 数据处理电阻传感器的系数灵敏度s=0.393% 非线性误差f=0.774% 实验三基于 c51 单片机控制器的轮式机器人电机控制系统实验目的了解 pwm 波控制电机的原理。基于 c51单片机利用pwm 波控制电机。
20、实验器材c51单片机、 l298n驱动芯片、直流电机、杜邦线、普通导线、keil软件、 stc下载器、示波器实验内容用 keil新建一个“.c ”文件,编写程序并对程序进行调试。将程序烧录进单片机内。进行硬件连接c51引脚如图所示:l298n引脚如图所示:用单片通过p1.0 、p1.1 和 l298 的第一对输入端in1 和 in2 相连,然后又l298 的第一对输出端 out1和 out2与直流电机相连;单片通过p1.5、p1.6 和 l298 的第二对输入端in3 和in4 相连,然后又l298 的第二对输出端out3和 out4与直流电机相连。给单片机上电。用示波器观察波形。程序内容1、
21、pwm 波控制电机启动#include reg51.h #include intrins.h #define fosc 11059200l typedef unsigned char byte; typedef unsigned int word; void delay_ms(int x); /*declare sfr associated with the pca */ sfr ccon = 0 xd8; /pca control register sbit ccf0 = ccon0; /pca module-0 interrupt flag sbit ccf1 = ccon1; /pca
22、module-1 interrupt flag sbit cr = ccon6; /pca timer run control bit sbit cf = ccon7; /pca timer overflow flag sfr cmod = 0 xd9; /pca mode register sfr cl = 0 xe9; /pca base timer low sfr ch = 0 xf9; /pca base timer high sfr ccapm0 = 0 xda; /pca module-0 mode register sfr ccap0l = 0 xea; /pca module-
23、0 capture register low sfr ccap0h = 0 xfa; /pca module-0 capture register high sfr ccapm1 = 0 xdb; /pca module-1 mode register sfr ccap1l = 0 xeb; /pca module-1 capture register low sfr ccap1h = 0 xfb; /pca module-1 capture register high sfr pcapwm0 = 0 xf2; sfr pcapwm1 = 0 xf3; sbit in1=p10; sbit i
24、n2 = p11; sbit in3=p15; sbit in4 = p16; void main() ccon = 0; /initial pca control re cl = 0; /reset pca base timer ch = 0; cmod = 0 x02; /set pca timer clock source as fosc/2 cr = 1; /pca timer start run while(1) int i; in1=0; in2=1; in3=0; in4=1; for(i=100;i=0;i-) ccap0h = ccap0l =i; /pwm0 port ou
25、tput 50% duty cycle square wave ccapm0 = 0 x42; /pca module-0 work in 8-bit pwm mode and no pca interrupt ccap1h = ccap1l = i; ccapm1 = 0 x42; delay_ms(100); for(i=0;i=0;i-) ccap0h = ccap0l =i; /pwm0 port output 50% duty cycle square wave ccapm0 = 0 x42; /pca module-0 work in 8-bit pwm mode and no p
26、ca interrupt ccap1h = ccap1l = i; ccapm1 = 0 x42; delay_ms(100); for(i=0;i0;x-) for(y=0;y1000;y+); 控制方向#include reg51.h #include intrins.h #define fosc 11059200l typedef unsigned char byte; typedef unsigned int word; sbit in1 = p10; sbit in2 = p11; void main() in1=0;in2=1; pwm 波对电机调速#include reg51.h
27、 #include intrins.h #define fosc 11059200l typedef unsigned char byte; typedef unsigned int word; /*declare sfr associated with the pca */ sfr ccon = 0 xd8; /pca control register sbit ccf0 = ccon0; /pca module-0 interrupt flag sbit ccf1 = ccon1; /pca module-1 interrupt flag sbit cr = ccon6; /pca tim
28、er run control bit sbit cf = ccon7; /pca timer overflow flag sfr cmod = 0 xd9; /pca mode register sfr cl = 0 xe9; /pca base timer low sfr ch = 0 xf9; /pca base timer high sfr ccapm0 = 0 xda; /pca module-0 mode register sfr ccap0l = 0 xea; /pca module-0 capture register low sfr ccap0h = 0 xfa; /pca m
29、odule-0 capture register high sfr ccapm1 = 0 xdb; /pca module-1 mode register sfr ccap1l = 0 xeb; /pca module-1 capture register low sfr ccap1h = 0 xfb; /pca module-1 capture register high sfr pcapwm0 = 0 xf2; sfr pcapwm1 = 0 xf3; void main() ccon = 0; /initial pca control register cl = 0; /reset pc
30、a base timer ch = 0; cmod = 0 x02; /set pca timer clock source as fosc/2 ccap0h = ccap0l = 0 x80; /pwm0 port output 50% duty cycle square wave ccapm0 = 0 x42; /pca module-0 work in 8-bit pwm mode and no pca interrupt ccap1h = ccap1l = 0 xff; /pwm1 port output 0% duty cycle square wave pcapwm1 = 0 x0
31、3; ccapm1 = 0 x42; /pca module-1 work in 8-bit pwm mode and no pca interrupt cr = 1; /pca timer start run while (1); 五、实验心得本次实验中我学会用软件来延时实现pwm 的输出,从而实现对电机的控制。实验四基于 arm 控制的博创平台轮式机器人循迹蔽障功能实验目的了解 northstar平台,并熟练使用此软件完成小车的各种活动了解 robotservoterminal机器人舵机调试系统并掌握使用了解并且熟悉灰度传感器循迹原理实验材料arm 控制器灰度传感器红外探测器舵机电机等实验
32、内容小车硬件的组装蔽障功能的实现循迹功能的实现循迹功能的实现northstar循迹程序#include apps / systemtask.h uint8 servo_mapping4 = 1,2,3,4; int main() int lgray = 0; int rgray = 0; mfinit(); mfinitservomapping(&servo_mapping0,4); mfsetportdirect(0 x00000ff8); mfsetservomode(1,1); mfsetservomode(2,1); mfsetservomode(3,1); mfsetserv
33、omode(4,1); while (1) lgray = mfgetad(0); rgray = mfgetad(1); / 右偏if (lgray =350) / 左转 mfsetservorotaspd(1,-512); mfsetservorotaspd(2,-512); mfsetservorotaspd(3,-512); mfsetservorotaspd(4,-512); mfservoaction(); delayms(400); else / 左偏if (lgray=460)&(rgray=460)&(rgray=350) mfsetservorotaspd(
34、1,- 512); mfsetservorotaspd(2,512); mfsetservorotaspd(3,- 512); mfsetservorotaspd(4,512); mfservoaction(); delayms(400); else mfsetservorotaspd(1,0); mfsetservorotaspd(2,0); mfsetservorotaspd(3,0); mfsetservorotaspd(4,0); mfservoaction(); delayms(100); 蔽障功能的实现程序#include apps/ systemtask.h uint8 serv
35、o_mapping5 = 1,2,3,4,5; int main() int io0 = 0; int io1 = 0; mfinit(); mfinitservomapping(&servo_mapping0,5); mfsetportdirect(0 x00000ffc); mfsetservomode(1,1); mfsetservomode(2,1); mfsetservomode(3,1); mfsetservomode(4,1); mfsetservomode(5,0); while (1) io0 = mfgetdigiinput(0); io1 = mfgetdigii
36、nput(1); if (io0=1)&(io1 =1) mfsetservorotaspd(1,1023); mfsetservorotaspd(2,-1023); mfsetservorotaspd(3,1023); mfsetservorotaspd(4,-1023); mfsetservopos(5,512,512); mfservoaction(); delayms(500); else if (io0=0) / 后退 mfsetservorotaspd(1,- 512); mfsetservorotaspd(2,512); mfsetservorotaspd(3,- 512
37、); mfsetservorotaspd(4,512); mfsetservopos(5,512,512); mfservoaction(); delayms(1000); / 右转 mfsetservorotaspd(1,512); mfsetservorotaspd(2,512); mfsetservorotaspd(3,512); mfsetservorotaspd(4,512); mfsetservopos(5,512,512); mfservoaction(); delayms(2000); else / 后退 mfsetservorotaspd(1,- 512); mfsetser
38、vorotaspd(2,512); mfsetservorotaspd(3,- 512); mfsetservorotaspd(4,512); mfsetservopos(5,512,512); mfservoaction(); delayms(1000); / 左转 mfsetservorotaspd(1,- 512); mfsetservorotaspd(2,- 512); mfsetservorotaspd(3,- 512); mfsetservorotaspd(4,- 512); mfsetservopos(5,512,512); mfservoaction(); delayms(20
39、00); 实验中遇到的问题以及解决方案1、northstar 编程完成后下载时遇到的问题解决方案及拓展步骤(1)打开 northstar 软件点击帮助(3)点击帮助主题( 4 )点 开 附录 以 及里 边 的常 见 问题 及 解决 将 出现 一 些列 常 见问题(5)点击遇到的问题,按照操作步骤即可解决环境对灰度传感器影响较大,赛道多次取点进行传感器灰度值测量,之后修改程序内ad 值条件。( 1)用 northstar 打开循迹的程序( 2)打开工具菜单下的查询传感器出现传感器页面,调整好下载模式以及端口的设置,点击启动服务(4)完成之后调整好查询数据模式电机查询 ad, 会在相应 ad 口内
40、看到数据的变化。(5)测完后取黑线与地面值的中间值调整if 条件。实验拓展将 红 外 蔽障功能,以及 灰 度 传感 器 巡 线功能同时装在小车上,通过一个自制红外 开 关 来控制小车的程序选择。程序#include apps / systemtask.h uint8 servo_mapping4 = 1,2,3,4; int main() int lgray = 0; int you = 0; int key = 0; int rgray = 0; int zuo = 0; mfinit(); mfinitservomapping(&servo_mapping0,4); mfsetpo
41、rtdirect(0 x00000ff8); mfsetservomode(1,1); mfsetservomode(2,1); mfsetservomode(3,1); mfsetservomode(4,1); while (1) mfgetdigiinput(0); if (key =0) mfgetdigiinput(1); mfgetdigiinput(2); if (zuo=1)&(you =1) / 前进 mfsetservorotaspd(1,- 512); mfsetservorotaspd(2,512); mfsetservorotaspd(3,- 512); mfs
42、etservorotaspd(4,512); mfservoaction(); delayms(1000); else if (you =0) / 后退 mfsetservorotaspd(1,512); mfsetservorotaspd(2,- 512); mfsetservorotaspd(3,512); mfsetservorotaspd(4,- 512); mfservoaction(); delayms(400); / 左转 mfsetservorotaspd(1,- 512); mfsetservorotaspd(2,- 512); mfsetservorotaspd(3,- 5
43、12); mfsetservorotaspd(4,- 512); mfservoaction(); delayms(400); else / 后退 mfsetservorotaspd(1,512); mfsetservorotaspd(2,- 512); mfsetservorotaspd(3,512); mfsetservorotaspd(4,- 512); mfservoaction(); delayms(400); / 右转 mfsetservorotaspd(1,512); mfsetservorotaspd(2,512); mfsetservorotaspd(3,512); mfse
44、tservorotaspd(4,512); mfservoaction(); delayms(400); else lgray = mfgetad(0); rgray = mfgetad(1); / 右偏if (lgray=350) / 左转 mfsetservorotaspd(1,- 512); mfsetservorotaspd(2,- 512); mfsetservorotaspd(3,- 512); mfsetservorotaspd(4,- 512); mfservoaction(); delayms(400); else / 左偏if (lgray=460)&(rgray=
45、460)&(rgray =350) mfsetservorotaspd(1,- 512); mfsetservorotaspd(2,512); mfsetservorotaspd(3,- 512); mfsetservorotaspd(4,512); mfservoaction(); delayms(400); else mfsetservorotaspd(1,0); mfsetservorotaspd(2,0); mfsetservorotaspd(3,0); mfsetservorotaspd(4,0); mfservoaction(); delayms(100); 通过本次实验对
46、northstar熟练掌握,进而对今后使用博创平台实现视觉系统等一系列功能掌握。实验五摄像头实现轮式机器人电机控制系统一实验目的1.了解 opencv 的使用方法,并以此为平台实现基于opencv 摄像头巡线小车的制作2.掌握基于hsv 颜色模型的图像阈值分割算法3.使用 opencv 图像去噪相关算法:膨胀腐蚀滤波等4.掌握串口通讯,并实现pc 机与 arduino 以蓝牙模块为载体通讯二实验器材opencv,hc-05 主从一体蓝牙模块,arduino, 小车底盘, usb 摄像头实验内容三实验内容1.hsv 颜色模型hsv(hue-saturation-value),色相( h)是色彩的
47、基本属性,就是平常所说的颜色名称,如红色,黄色等;饱和度(s )是色彩的纯度,越高色彩越纯,低则逐渐变灰;明度(v) ,指色彩的亮度。 hsv 以人类更熟悉的方式封装了关于颜色的信息:“这是什么颜色?深浅如何?明暗如何?”hsv 把颜色描述为在圆柱坐标系的点,这个圆柱的中心轴取值为自底部的黑色到顶部的白色,而在它们中间是灰色;绕这个轴的角度对应色相,取值范围0360,到这个轴的距离对应饱和度, 取值范围0.01.0,而沿这个轴的高度对应亮度,取值范围0(黑色) 1.0 (白色) 。2.阈值分割策略阈值化的基本思想是:给定一个数组和一个阈值,然后根据数组中的每个元素的值是低于还是高于阈值而进行一
48、些处理。: 检查源图像的每一个像素点的范围。在下限和上限之间的像素点,被置为255;否则置0。即感兴趣区域为白色,不感兴趣区域全为黑色。受光照影响, 不同时刻表示同一颜色的空间模型取值不同。因此在图像处理之前先手动标定图像,把合适的h,s,v取值范围输出到文本文件里,供后续处理读取。3.图像去噪分割得到二值化图像之后,可以很明显看到图中仍然有很多细微的点噪声存在,而且目标内部出现空洞,周围存在毛刺,所以需要对噪声进行进一步处理, 下面介绍滤出噪声的常用方法。3.1 膨胀膨胀是将与物体接触的所有背景点合并到该物体中,使边界向外部扩张的过程。可以用来填补物体中的空洞。膨胀的算法: 用 3x3 的结
49、构元素, 扫描图像的每一个像素;用结构元素与其覆盖的二值图像做“与”操作;如果都为 0,结果图像的该像素为0,否则为1;结果使二值图像扩大一圈。函数这 个 函 数 膨 胀源图像,存储结果到目标图像。参数详解:源图像,图像通道的数量是任意的,但 图 像 深 度 应为cv_8u,cv_16u,cv_16s,cv_32f或 cv_64f。目标图像,尺寸和类型与源图像相同膨胀操作核。若为null 时,表示是使用参考点位于中心3x3 的核。一般使用函数配合参数使用。函数会返回指定形状和尺寸的结构元素(内核矩阵)。其中函数的第一个参数表示内核的形状,如下:矩形: morph_rect 交叉形: morph
50、_cross 椭圆形: morph_ellipse 锚的位置,默认值(-1 ,-1 ) ,表示锚位于中心迭代使用erode() 函数的次数,默认值为1 用于推断图像外部像素的某种边界模式,默认值:border_default 使用 erode 函数时,一般我们只需要设置前三个参数,后面四个参数都有默认值。例:3.2 腐蚀腐蚀是一种消除边界点,使边界向内收缩的过程。可以用来消除小而无意义的物体。腐蚀的算法: 用 3x3 结构元素, 扫描图像的每一个像素;用结构元素与其覆盖的二值图像做“与”操作;如果都为 1,结果图像该像素为1,否则为 0;结果使二值图像减小一圈。4.串口通讯串口通信( seri
51、al communications )的概念非常简单,串口按位(bit)发送和接收字节。尽管比按字节(byte )的并行通信慢, 但是串口可以在使用一根线发送数据的同时用另一根线接收数据。它很简单并且能够实现远距离通信。串口进行通信的方式有两种:同步通信方式和异步通信方式。同步通信方式要求通信双方以相同的时钟频率进行,而且准确协调, 通过共享一个单个时钟或定时脉冲源保证发送方和接收方的准确同步,效率较高;异步通信方式不要求双方同步,收发方可采用各自的时钟源,双方遵循异步的通信协议,以字符为数据传输单位,发送方传送字符的时间间隔不确定,发送效率比同步传送效率低。4.1 串口通讯过程4.2 串口通
52、讯重要函数(1)(2)dcb 结构包含了串口的各项参数设置,下面仅介绍几个该结构常用的变量4.hc-05 蓝牙一体化模块hc-05 嵌入式蓝牙串口通讯模块(以下简称模块)具有两种工作模式:命令响应工作模式和自动连接工作模式,在自动连接工作模式下模块又可分为主(master)、从lave)和回环(loopback)三种工作角色。 当模块处于自动连接工作模式时,将自动根据事先设定的方式连接的数据传输; 当模块处于命令响应工作模式时能执行下述所有at 命令,用户可向模块发送各种 at 指令,为模块设定控制参数或发布控制命令。通过控制模块外部引脚( pio11)输入电平,可以实现模块工作状态的动态转换
53、。实验成果四实验心得通过这个实验尝试并学习了以前只听过没做过的东西,在做的过程中遇到很多问题,但都在与同学的讨论下找到了解决方法。在调试蓝牙模块时不能进入at模式,被这个问题绊了两个晚上;给电脑装了蓝牙驱动后,却不能连接到蓝牙模块,一直认为是驱动装错了,后来用手机测试成功连接上了,意识到是电脑有问题;巡线时小车突然动不了了,一开始认为是电机或驱动坏了,后面才知道是因为控制方法不当使电机在下次启动时进入死区,后来改进为pwm 控制;这是非常有意义的一次实验课。实验六应用卓越联盟实验室设备进行设计和实现作品说明1.protell99se的使用及电路板的雕刻一实验目的1. 了解 protell99s
54、e的使用方法,并以此为平台设计电路板2. 了解将原理图转化为雕刻机所需的输出格式,并运用雕刻机制作出自己独有的电路板二. 实验器材pretell99se设计软件,电路原理图,pcb 电路板雕刻机等三. 实验内容将 protell99软件安装进电脑查看所给文件的电路图设计出自己组独有的pcb 电路板将电路板雕刻出来protell99制作原理图库的方法将元件库文件和原理图文件放在同一个设计中在原理图所在的设计数据库文件夹下新建一个原理图库文件,取名为mylibrary。名字可任取。打开原理图库文件,默认状态下此库文件里已经存在一个名为component_1 的元件选择绘图工具框中的绘制矩形工具绘制
55、元件的边框(即绘制元件的符号或外形)左键点击绘图工具栏里的绘制管脚图标,按下tab 键进入管脚属性编辑对话框。1 管脚名字为 com ,其他管脚名隐藏,管脚编号为1 9。依次放置9 个管脚,在放置管脚时,管脚的一端有一个小黑点,旋转管脚使小黑点朝外双击矩形方框进行边框属性设置。border width 选择 smallborder color选择合适的颜色。用上述方法绘制8 个电阻形状的矩形框,放置在上面画好的边框里点击画图工具栏里的画线工具,将画好的电阻和管脚连接好。修改元件描述保存后退出编辑。当所有的元件制作完成后,保存并关掉元件库文件(2)单独创建一个元件库(仓库),注意这个元件库还是p
56、rotel设计数据库文件。1)新建一个设计,取名为“mylibrary ”或者是“ xx的库文件”保存在某个地方,记住这个地址。这个库可做为自己的专用库文件。在以后绘制原理图时只需把此库添加进去即可,以后也可以不断地丰富此库中的元件2)在设计里新建一个原理图库文件,保存文件,给它起一个有特色又能反应元件库特点的名字。如“电阻类”,“插件类”,“ad转换”等等。利用此法可建立若干个原理图库文件,将元件归类存放3)打开某一类原理图库文件,在此文件中制作新元件,具体作法见上文。也可以从系统自带的库文件中拷贝元件,或者是从现有的原理图中提取元件添加到自己的库文件中实验创新与思考protell99作为一
57、个老版本的pcb 设计软件,在兼容性及汉化方面有许多不足,相比现今较火的 ad系列的软件操作起来也较难,但对于简单的pcb 电路设计, protell系列还是不错的。对于某些电路而言,单面镀铜的电路板无法满足需求,因此,在学习课内单面镀铜电路板的设计基础上应再学习双面镀铜电路板的设计,以满足实际需要2.3d 打印机激光切割机机械臂的工作原理及实际应用机械臂的原理及其应用实验目的了解机械臂的工作原理,操作过程以及在实际生产过程中的应用掌握机械臂的操作实验器材机械臂及其控制系统,机械臂控制器等三. 实验内容1. 了解机械臂的工作原理2. 了解机械臂的程序3. 操作机械臂进行工作实验原理机器人空间描述和坐标变换:在一个三维空间中对两个质点的位置关系进行描述,一般会用一个的位置矢量来表示。在笛卡尔坐标系
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025江西吉安市白鹭洲中学招聘文印室工作人员2人考前自测高频考点模拟试题及答案详解(名师系列)
- 技术支持与服务支持的客户培训方案
- 市场调查与需求分析模板库
- 走进大自然我的户外探险之旅作文9篇
- 湖南省岳阳市临湘市2024-2025学年高二上学期10月月考地理试题(解析版)
- 2025湖南株洲冶炼集团股份有限公司招聘技术管理1人考前自测高频考点模拟试题有完整答案详解
- 技术资料及文件分类标准工具
- 2025辽宁盘锦建设投资有限责任公司招聘工作人员和模拟试卷及一套答案详解
- 2025湖南省职业病防治院高层次人才公开招聘9人考前自测高频考点模拟试题附答案详解(考试直接用)
- 2025年河北沧州任丘园区产业发展集团有限公司招聘工作人员10名模拟试卷及答案详解(夺冠)
- 人教版九年级道德与法治 上册 第三单元《文明与家园》大单元整体教学设计
- pe样本树脂炭黑分散性能的研究
- 热力有限公司客户服务手册
- 酒店营销与数字化实务完整全套教学课件
- 题型06 函数的性质之周期性及蛙跳函数(解析版)
- YY/T 1851-2022用于增材制造的医用纯钽粉末
- GB/T 5163-2006烧结金属材料(不包括硬质合金)可渗性烧结金属材料密度、含油率和开孔率的测定
- GB/T 19575-2004农产品批发市场管理技术规范
- 《管理沟通实务(第四版)》课件第一章 沟通与管理沟通
- GA 36-2014中华人民共和国机动车号牌
- 人教七年级历史上第一单元 史前时期:中国境内人类的活动测试题word版含答案
评论
0/150
提交评论