项目内容:夜晚天黑的时候,机器人静止不动。一旦天亮了,机器人就动起来,并发出声音、眼睛发光,持续一段时间才停下来。
相关模块:亮度检测、发音、转向、条件循环。
难度等级:●●○○○
程序设计
首先设计一个亮度检测小程序,第一个“亮度检测”模块参数设置为方式“左”,变量选择“亮度变量一”,第二个“亮度检测”模块参数设置为方式“右”,变量选择“亮度变量二”。“显示”模块两行显示信息分别为“亮度变量一、亮度变量二”。延时等待0.1秒(如下图)。

将以上程序仿真运行。在运行场地上添加光源,光源半径设为180,渐变值30。然后将机器人放在光圈中和光圈外(如下图),观察一下机器人左右眼检测到的亮度值。

图3-12亮度检测界面
为了达到叫人起床的目的,需要检测环境光的亮度。假设天黑的时候,环境光的亮度大于200,而天亮的时候,环境光的亮度小于200。当天黑的时候,机器人就一直反复检测环境光的亮度。一旦检测到环境光的亮度小于200,表明天亮了,机器人就开始动作,转动身体、发音、眼睛放光。在程序中,机器人检测环境光的亮度的过程可以用条件循环来实现(如下图)。

如下图叫人起床例程
参数设置
“亮度检测”模块:亮度检测模块可以分别检测左眼亮度、右眼亮度、平均亮度、以及左右眼亮度之差(如下图)。


图3-14亮度检测模块的对话框
在本例中,我们选择的是“平均”方式。变量选择“亮度变量一”,即将检测到的亮度值保存在“亮度变量一”中。在程序执行的时候,每检测一次,就会将前次的亮度值覆盖,所以“亮度变量一”中保存的总是最近一次检测到的亮度值。
“条件循环”模块:条件表达式设置为
亮度变量一 200
于是当环境光的亮度大于200的时候,条件表达式成立,表明天还黑着,机器人就继续检测。当亮度小于200的时候,表明天亮了,此时条件表达式不再满足,条件循环中止,机器人就转而去执行条件循环后面的指令。
由于程序开始时默认“亮度变量一”的初始值等于零,我们在进入条件循环之前先调用一次亮度检测模块,以获取环境光的当前值,并将其赋给“亮度变量一”,可以避免程序错误地跳过条件循环。观察程序的JC代码,可以更清楚地看到这一点。在流程图编辑界面中,点击工具栏上的“JC代码”快捷按钮,即可看到当前程序的JC代码。
其余模块:略。
仿真运行
在机器人运行场地中添加光源,设置光源半径为180,渐变值为30。先将机器人放在黑暗的地方,然后再将机器人放在光圈中。观察是否能达到叫人起床的效果。

VJC案例-叫人起床相关推荐

  1. VJC案例-光控手控灯开关设计

    VJC案例:利用光控制灯开关 以及 利用手控控制灯开关 对应C语言代码为:

  2. VJC案例-填字游戏

    项目内容:在机器人运行场地上,有若干个颜色各别的圆形图带,分别代表不同的英文字母.请您设计一个程序,开始时让机器人显示一个英文单词,但缺少一个字母.如果将机器人放在代表正确字母的图带上,机器人就会显示 ...

  3. VJC案例-计算走过的距离

    计算走过的距离 项目内容:计算机器人走过的距离. 相关模块:直行.转向.转角检测.显示. 程序设计 在本例中,我们让机器人先走一段直线,接着走一段弧线,然后再走一段直线.最后,调用两个转角检测模块, ...

  4. 彼林机器人_第一章 Buddy Robot开发软件介绍.doc

    您所在位置:网站首页 > 海量文档 &nbsp>&nbsp计算机&nbsp>&nbspJava 第一章 Buddy Robot开发软件介绍.doc62 ...

  5. 个体重构:将重构应用到生活中

    Bryan Beecham在Agile Testing Days 2015敏捷测试大会上以个体重构作主旨发言.InfoQ就个体重构如何帮助我们来改善我们的生活,它与代码重构的关系,为什么他认为健康饮食 ...

  6. 关于团队开发项目的想法

    目前因为大学生比较懒散,早上通常起不来,因此会耽误上午12节课,有些同学想要改正睡懒觉的习惯,但是又没有那个毅力,所以我想和我的团队做一个早晨叫人起床的闹钟,但是不是和手机自带的一样,结束闹钟需要通过 ...

  7. 【文章】我在华为打工的日子

    在上大学以前,我一直是个好学生.简单的说,从小学一年级到高三,在n次期末考试中,90%是全班第一名,剩下10%是全校第一.高考结束后我去北京继续good good study,day day up. ...

  8. 用计算机公式表白,用物理公式表白的正确方法

    表白是获得对象的一个重要方式,理工科的男生用所学习的物理公式去进行表白,一定能够给女生带来很多的惊喜.下面学习啦小编给你分享用物理公式表白,欢迎阅读.. 用物理公式表白的方法 你是否能看懂这个呢?知道 ...

  9. [SONE必看]少時囧事大集錦!

    1. 首先,是最經典的"林蓋子事件" 先用文字概括: 一次泰妍與允兒的聊天中,不知道泰妍和允兒講到什麼事情了,允兒就笑得後仰了. 額前的劉海就那麼"xiu"的飛 ...

最新文章

  1. PyTorch数据加载处理
  2. .net中连接SYBASE的种种问题
  3. 安装RADOS gateway(CEPH对象存储)
  4. 奇葩注释大盘点,你觉得哪个最牛逼?
  5. Python 学习笔记 -- 序列的基本使用
  6. JSON的使用场景及注意事项介绍
  7. android 解决Error:This Gradle plugin requires a newer IDE able to request IDE model level 3. For Andro
  8. 机械史上最复杂的巅峰之作,这才是最强大脑!
  9. 企业实战_12_MyCat水平扩展_分库分表
  10. 学习编程的过程中可能会走哪些弯路,有哪些经验可以参考?
  11. 垃圾oracle_第 14 章 垃圾回收概述
  12. Linux下监视NVIDIA的GPU使用情况
  13. mysql 61_MySQL 连接错误Can't connect to MySQL server on (61)
  14. 简述数字电路在计算机的应用,数字电路应用举例
  15. python 排程问题仿真_APS自动生产排程系统-用户常见问题及解答
  16. 企业盈利能力五大指标之:净利率
  17. Unity C# 三角函数、直角三角形边角计算
  18. C/C++程序设计与算法第十一周:零点定理求方程的根
  19. Linux如何打开U盘
  20. 解决python安装依赖包出现 Microsoft Visual C++ 14.0 or greater is required问题

热门文章

  1. 一篇文章教你如何快速在Linux上 安装JDK
  2. centos离线安装fastdfs
  3. Java的图标及由来(9.25)
  4. iOS UIWebView 缩放
  5. 高速PCB基材介绍(铜箔、PP、基板)
  6. Substance Painter 服饰材质制作 中间刮痕 - 肩带3
  7. sql中日期和时间戳的相互转换
  8. STC15F2K60S2内E2PROM应用
  9. 年薪50万的AI和年薪80万的区块链,哪一个更适合你?
  10. show函数的作用是什么python_matplotlib常见函数之plt.rcParams、matshow的使用(坐标轴设置)...