




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Robot C 简介文档一、Robot C介绍 1,编程语言:类C语言 2,程序设计软件:Robot C二、选用Robot C1,文本编写(文字菜单编辑);调试程序(最大限度实时);良好支持(多任务、多媒体、蓝牙等)。2,体积小巧(硬件配置要求低);界面朴素(便于集中注意力)。3,便捷直观(F5键:编译与下载;自动出现调试窗口)。Robot C入门一、固件下载1,固件:机器人的操作系统(计算机与机器人进行交互)2,进入安装目录选择固件,例如D:Program FilesRobomatter IncROBOTC Development EnvironmentFirmware二、程序下载1,下载F
2、iles-Open Sample Program-Training SamplesMotorCycle Forward2,前进程序剖析:task man() /程序主体 motocmotocC=100; /C马达功率为100waitMsec(3000); /程序等待3000毫秒3,关于马达功率:(1)-100(全速后退)和100(全速前进)(2)电池电量饱和,摩擦阻力小,最快速度为每秒1000个编码器计数。通常是最大速度是750个计数点。4,关于滑动与制动task main()motormotorC=100;motormotocB=100;waitMsec(2000);motormotorC=
3、0; /C马达输出功率为0motocmotorB=0; /B马达输出功率为05,非全速动力6,后退运动7,反向运动三、传感器 1,触碰传感器: 通过触点告诉机器人是否接触到物体。 2,光电传感器:发射红外线,将接收到的光值返回给机器人,通过光值的大小和程序,进行颜色、距离等条件的估算。 3,声音传感器:识别声音强度,而非声音内容。 4,超声波传感器:间断地发射超声波并检测反射回来的超声波获知前方物体的距离。 5,角度传感器:方便控制马达精度精确运行,内置于马达。五、触碰传感器的使用案例1,实例程序存储目录D:Program FilesRobomatter IncROBOTC Developme
4、nt EnvironmentSampleProgramsNXTTouchSensorsnxt_wait_for_push.c2,触碰传感器碰到障碍物时进行后退,时间为1秒3,task main()While(SensorValue(touchSensor)=0)motormotorA=100;motormototrB=100;motormotorA=-75;motormotorB=-75;waitMsec(1000);4,房屋探索者(1)程序存储目录D:Program FilesRobomatter IncROBOTC Development EnvironmentSample Program
5、sNXTTouch SensorsBug Dot.c(2)机器人前段两个触碰传感器用来检测前方的障碍物,当右边马达碰到东西,机器人就后退一点,然后向左转,然后继续前进。反之亦然。(3)#pragma config(Sensor, S1, touchRight, sensorTouch)#pragma config(Sensor, S2, touchLeft, sensorTouch)task main() int randTime; / Declare variable randTime to hold a random amount of time later. wait1Msec(500)
6、; / Wait 500 milliseconds before running any further code. while(true) / Infinite loop (also represented by while(1) and for(;) which is read as for ever). motormotorC = 75; /* Motors A and B are run */ motormotorB = 75; /* at a power level of 75 */ if(SensorValue(touchRight) = 1) / If the Right Tou
7、ch Sensor is bumped (equal to 1): motormotorC = -75; /* Motors A and B are run */ motormotorB = -75; /* at a power level of -75 */ wait1Msec(750); /* for 750 milliseconds. */ motormotorC = 75; / Motor C is run forward at a power level of 75. motormotorB = -75; / Motor B is run backward at a power le
8、vel of -75. randTime = random(2000); / randTime is set to a random integer between 0 and 2000. wait1Msec(randTime); / Wait randTime amount of milliseconds. if(SensorValue(touchLeft) = 1) / If the Left Touch Sensor is bumped (equal to 1): motormotorC = -75; /* Motors A and B are run */ motormotorB =
9、-75; /* at a power level of -75 */ wait1Msec(750); /* for 750 milliseconds. */ motormotorC = -75; / Motor C is run backward at a power level of 75. motormotorB = 75; / Motor B is run forward at a power level of 75. randTime = random(2000); / randTime is set to a random integer bteween 0 and 2000. wa
10、it1Msec(randTime); / Wait randTime amount of milliseconds. 六、光电传感器的使用案例1,实例程序存储目录D:Program FilesRobomatter IncROBOTC Development EnvironmentSample ProgramsNXTLight SensorWait For Light Value.c2,机器人向前行进,一直到前端的光电传感器检测到黑暗的地面为止3,#pragma config(Sensor, S1, lightSensor, sensorLightActive)task main() wait1
11、Msec(50); / The program waits 50 milliseconds to initialize the light sensor. while(SensorValuelightSensor 45) / While the reading is greater than 45 (a light surface): NOTE- make this less than to detect light surfaces. motormotorB = 100; / Motor C is run at a 100 power level. motormotorC = 100; /
12、Motor B is run at a 100 power level. motormotorB = 0; / Motor C is stopped with a 0 power level. motormotorC = 0; / Motor B is stopped with a 0 power level.4,走黑线机器人(1)程序存储目录D:Program FilesRobomatter IncROBOTC Development EnvironmentSample ProgramsNXTLight SensorLine tracking.c(2)机器人沿着一条黑线前进。(3)#prag
13、ma config(Sensor, S3, lightSensor, sensorLightActive)task main() wait1Msec(50); / The program waits 50 milliseconds to initialize the light sensor. while(true) / Infinite loop if(SensorValuelightSensor 45) / If the Light Sensor reads a value less than 45: motormotorB = 60; / Motor B is run at a 60 p
14、ower level.motormotorC = 20; / Motor C is run at a 20 power level. else/ If the Light Sensor reads a value greater than or equal to 45: motormotorB = 20; / Motor B is run at a 20 power level.motormotorC = 60; / Motor C is run at a 60 power level. 六、声音传感器的使用案例1,实例程序存储目录D:Program FilesRobomatter IncRO
15、BOTC Development EnvironmentSample ProgramsNXTSound SensorClap off.c2,机器人向前行进,一直到安装在第一端口的声音传感器检测到比较大的声音为止3,#pragma config(Sensor, S1, soundSensor, sensorSoundDB)task main()wait1Msec(1000); / Wait for 1 second to ignore initial readings of the Sound Sensor.while(SensorValue(soundSensor) 70) / While t
16、he Sound Sensor is less than 70 (quiet):motormotorC = 75; / Motor C is run at a 75 power level.motormotorB = 75; / Motor B is run at a 75 power level.motormotorC = 0; /* Otherwise, when loud noises are heard, Motor C */motormotorB = 0; /* and motor B stop. */七、角度传感器的使用案例4,精确直线行走 (1)程序存储目录D:Program F
17、ilesRobomatter IncROBOTC Development EnvironmentSample ProgramsNXTSound SensorSound Drive.c(2)机器人沿着一条黑线前进。(3)task main()nMotorEncodermotorA = 0; /马达 A 清零nMotorEncodermotorB = 0; /马达 B 清零while(nMotorEncodermotorA 1800 | nMotorEncodermotorB -1800) /循环检测马达 A 的角度传感器累计的数值if(SensorValue(lightSensor) distance_in_cm) / While the Sonar Sensor readings
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 副校长在全体教师大会上的讲话:让每一堂课都成为师生共赴的成长之旅
- 化学空气氧气试题及答案
- 装饰公司物资管理办法
- 智能化驱动与供应链融合-洞察及研究
- 规范餐饮标准管理办法
- 财务外包交付管理办法
- 融资招投标管理办法
- 《无形资产管理办法》
- 行政仓库库存管理办法
- 老小区如何管理办法
- 综合应用能力事业单位考试(综合管理类A类)试题及解答参考(2024年)
- 粤教版六年级科学上册第一单元《光》单元课件
- 兼任宗教活动场所管理组织负责人备案表
- 华中科技大学青年长江学者答辩模板
- 顶储罐施工方案
- 形婚协议书版
- 血液灌流操作流程课件
- 电力系统分析(郝亮亮)
- 查缉酒驾实战培训课件
- 铁路客运规章全套教学课件
- 计算机组成原理-鲲鹏
评论
0/150
提交评论