版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
RROsmin
eplatOBOTERRABOTERRA
is
an
educational
robotics
company
with
leading
R&D
capacity
inart
device
design,
cognitive
sciences,
user
experience
design
and
gamificationducation.
The
company
develops
proprietary
robotics
kits
and
also
cloud
form
with
gamified
contents
for
learning.萝卜太辣教师培训Welcome
toRoboterra!ROBOTERRA(萝卜太辣)出品CastleRock使用CastleRock
开发环境四个组成部分挑战窗口程序编辑器事件监视器虚拟机器人1243CastleRock
IDE第一部分:挑战窗口Challenge–
详细介绍了每个挑战的内容CastleRock
IDE第二部分:
程序编辑器上传图标#include
“ROBOTERRA.h”void
attachRoboTerraElectronics()void
handleRoboTerraEvent()CastleRock
IDE第三部分:事件监视器–
事件列表CastleRock
IDE第四部分:虚拟机器人将不同的传感器和执行器连接到控制器ROBOCORE传感器和执行器的状态将会在虚拟机器人框里显示ROBOTERRA•在第一课萝卜太辣机器人课程介绍中,我们讲解了软件
CastleRock的使用,在进行知识点讲解前,请大家先完成我们
CastleRock中的Challenge
0-5原件类型 对象名字RoboTerraRoboCore
jerryCastleRock
IDE命名须知:原件类型
名字RoboTerraLED
redleft
bottom
controlbuttonleftbottomcontrolbuttonLeftBottomControlButton命名风格:普通青年型:根据元件类型以及功能或安装位置,尽量使用完整的名称进行命名leftServo,左侧舵机rightServo右侧舵机switchButton开关键modeButton模式键优点:所有元件的类型,作用,位置都一目了然,对整个机器人的纠错或者改造非常方便。缺点:会花费很长时间在输入这些很长的名字上,输代码的效率很低。文艺青年型:通过各种符合自己认知规则的简写来命名ls
rs左侧舵机 右侧舵机sb开关键mb模式键优点:不用花费很多时间在输入名字上,编写效率高缺点:只有写程序的人自己能看懂,其他人看的时候可能一时间看不懂这些缩写的含义。欢乐青年型:只用有趣的方式命名,也许没有任何规律,也许只有自己才懂得规律Jerry左侧舵机andy右侧舵机jackie开关键panda模式键优点:可以起一些欢乐、炫酷的名字缺点:即不容易辨识,也没有效率指派接口格式:芯片名.attach(元件名,接口名);tom.attach(button,
DIO_1);知识点介绍与应用1.基础语句介绍If语句C++数据类型及运算符2.事件驱动编程水瓶在不在视线中?握住水瓶(增大握力)水瓶握紧了么?倒水杯子里装满水了么?结束使用视觉传感器找到水瓶否是否是否是1.1
If语句开始1.基础语句介绍程序框图程序框图主要组成部分开始整个流程的开始结束整个流程的结束执行需要完成的操作开始结束倒水1.1
If语句程序框图主要组成部分判断是/否程序中的if语句水瓶在不在视线中?握住杯子(增加握力)使用视觉传感器找杯子否是1.1
If语句判断条件if语句:if(判断条件){//如果判断条件为真,执行代码}1.1
If语句判断条件if语句:在“()”中的判断“{}”表示if判断结构的开始和结束1.1
If语句判断条件else语句:if(判断调件){//如果判断条件为真,执行代码}else{//如果判断条件为假,执行代码}1.1
If语句判断条件else语句:不需要给else一个条件,因为它的条件就是if判断的相反方面1.1
If语句判断条件else
if语句:if(判断条件1){//如果判断条件1为真,执行代码}else
if(判断条件2){//如果判断条件1为假,判断条件2为真,执行代码}1.1
If语句判断条件else
if语句:if
vs.
else
ifelse
if
只能在if之后if
和elseif
后要执行的语句分别在不同的“{}”中1.1
If语句else
if
V.S.
else相同点:只能在“if”语句之后使用整体结构的开始和结束用“{}”表示不同点:Else
if
有新的条件进行判断1.1
If语句if,else
if,else
的不同组合ifif
+
else
ifif
+
elseif
+
else
if
+
elseif
+
if
+
if
+
if
+…1.1
If语句完成Challenge
6-7为这两个挑战中位于第三步的语句画出程序框图1.2.1
数据类型1.2.2
运算符1.2
C++数据类型及运算符1.2.1
数据类型整型int:固定范围内的整数(-32768-32767)布尔型bool:真(1)or假(0)示例-定义变量:
int
a=0; int
a,b;整型int布尔型bool类型整数真或假范围-32768
to327671
or
0变量是指一个数据的储存位置,以及这个位置所对应的符号名称。变量对应的数据是指存放在变量中的那个数据例如:变量:数据:a127127变量我们使用不同数据类型的变量去记录我们所需的数据变量vs数据:数据可以直接进行操作变量代表是数据的位置,我们操作的是变量中记录的数据例如两个变量的加法,其实我们操作的是两个变量对应的两个数据:a
+
b
:a
b127
+
1231.2.2
运算符赋值运算符比较运算符算数运算符赋值运算符•
=例子:int
a
=
0;int
b;b
=a;是赋值不是等于号!!比较运算符常用的比较运算符:==:等于>:大于<:小于注意:==and
=!!!==为判断,=为赋值算数运算符运算符含义加减乘除算数运算符取余运算符:%常用于:判断奇数If
(x%2==1){}//除2余1判断偶数If
(x%2==0){}//除2余0逻辑运算符三种运算符:&&:
与||:
或!:
非&&0(假)1(真)0(假)001(真)01||0(假)1(真)0(假)011(真)11!0(假)11(真)0为什么使用事件驱动编程?事件驱动编程开关 声音光其他…开关声音光其他…事件驱动编程背景知识:事件驱动编程:一种编程方式容易理清编程逻辑事件驱动编程背景知识:事件驱动编程-事件监视器:显示事件历史记录现实生活中…事件驱动编程EVENT.getData()事件驱动编程如何辨认/提取事件中的信息EVENT.isType(eventType)Type:BUTTON_PRESSEVENT.isFrom(eventSource)Source:myButtonData:
1事件驱动编程类比代码:通过程序的结构结合自然的语言,写出来的外形接近真实代码的程序流程.你可以为机器人编写如何处理收到的每一个事件的代码,去控制机器人的行动。我们的事件监视器可以帮助你监控机器人收到的所有事件。类比代码:如果(开关按下){红色LED灯点亮}如果(开关松开){红色LED灯熄灭}事件驱动编程更复杂的逻辑void
initializeRoboTerraRobot()
{if
(EVENT.isType(BUTTON_PRESS))
{if(EVENT.isFrom(jerry)){andy.turnOn();}}else
if
(EVENT.isType(BUTTON_RELEASE))
{if(EVENT.isFrom(jerry)){andy.turnOff();}}}jerryjackievoid
initializeRoboTerraRobot()
{if
(EVENT.isType(BUTTON_PRESS)
&&
EVENT.isFrom(jerry)
){andy.turnOn();}else
if
(EVENT.isType(BUTTON_RELEASE)&&
EVENT.isFrom(jerry))
{andy.turnOff();}}更复杂的逻辑
jerry
jackie事件驱动编程–真实代码的执行过程if(EVENT.isType(BUTTON_PRESS))
{red.turnOn();}else
if(EVENT.isType(BUTTON_RELEASE)){red.turnOff();}事件驱动编程–真实代码的执行过程if(EVENT.isType(BUTTON_PRESS))
{red.turnOn();}else
if(EVENT.isType(BUTTON_RELEASE)){red.turnOff();}Type:BUTTON_RELEASESource:myButtonData:
1Type:BUTTON_PRESSSource:myButtonData:
1事件驱动编程–真实代码的执行过程if(EVENT.isType(BUTTON_PRESS))
{red.turnOn();}else
if(EVENT.isType(BUTTON_RELEASE)){red.turnOff();}Type:BUTTON_PRESSSource:myButtonData:
1Type:BUTTON_RELEASESource:myButtonData:
1事件驱动编程–真实代码的执行过程if(EVENT.isType(BUTTON_PRESS))
{red.turnOn();}else
if(EVENT.isType(BUTTON_RELEASE)){red.turnOff();}Type:BUTTON_PRESSSource:myButtonData:
1Type:BUTTON_RELEASESource:myButtonData:
1事件驱动编程–真实代码的执行过程if(EVENT.isType(BUTTON_PRESS))
{red.turnOn();}else
if(EVENT.isType(BUTTON_RELEASE)){red.turnOff();}Type:BUTTON_RELEASESource:myButtonData:
1事件驱动编程–真实代码的执行过程if(EVENT.isType(BUTTON_PRESS))
{red.turnOn();}else
if(EVENT.isType(BUTTON_RELEASE)){red.turnOff();}Type:BUTTON_RELEASESource:myButtonData:
1事件驱动编程–真实代码的执行过程if(EVENT.isType(BUTTON_PRESS))
{red.turnOn();}else
if(EVENT.isType(BUTTON_RELEASE)){red.turnOff();}Type:BUTTON_RELEASESource:myButtonData:
1事件驱动编程–真实代码的执行过程if(EVENT.isType(BUTTON_PRESS))
{red.turnOn();}else
if(E
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度艺人经纪公司与电影演员合同
- 高中生物 1.1.2 细胞生活的环境导学案新人教版必修3
- 九年级数学下册 第2章 二次函数教案 (新版)北师大版
- 2024年度服装设计与制作合同协议书3篇
- 2024中国电子春季校园招聘2200人易考易错模拟试题(共500题)试卷后附参考答案
- 2024中国化学工程集团限公司招聘45人易考易错模拟试题(共500题)试卷后附参考答案
- 2024中国东方电气集团科学技术研究院限公司社会招聘1人易考易错模拟试题(共500题)试卷后附参考答案
- 2024下半年湖南岳阳市城市建设投资集团限公司招聘15人易考易错模拟试题(共500题)试卷后附参考答案
- 20242024年下半年中国储备粮管理集团限公司云南分公司公开招聘14人易考易错模拟试题(共500题)试卷后附参考答案
- 2024年度切削液采购、分销与版权合同2篇
- 气体摩尔体积动画版市公开课一等奖百校联赛获奖课件
- 五年级上册小学高年级学生读本第11讲《国家安全是头等大事》教学设计
- 马克思主义原理教案(2021版):第四章 资本主义的本质及规律
- 2024年北京工业职业技术学院高职单招笔试历年职业技能测验典型例题与考点解析含答案
- 术后静脉血栓的预防和护理
- 江西省第一届职业技能大赛分赛场项目技术文件(世赛选拔)全媒体运营师
- 2023-2024学年全国初一上语文人教版期中考试试卷(含答案解析)
- 生态保护修复项目封山育林作业设计
- 2024年建筑《主体结构及装饰装修》考试习题库(浓缩500题)
- 2024年《关税法》要点解读
- DB11-T 2192-2023 防汛隐患排查治理规范 市政基础设施
评论
0/150
提交评论