版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
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.蘿卜太辣教師培訓(xùn)Welcome
toRoboterra!ROBOTERRA(蘿卜太辣)出品CastleRock使用CastleRock
開(kāi)發(fā)環(huán)境四個(gè)組成部分挑戰(zhàn)窗口程序編輯器事件監(jiān)視器虛擬機(jī)器人1243CastleRock
IDE第一部分:挑戰(zhàn)窗口Challenge–
詳細(xì)介紹了每個(gè)挑戰(zhàn)的內(nèi)容CastleRock
IDE第二部分:
程序編輯器上傳圖標(biāo)#include
“ROBOTERRA.h”void
attachRoboTerraElectronics()void
handleRoboTerraEvent()CastleRock
IDE第三部分:事件監(jiān)視器–
事件列表CastleRock
IDE第四部分:虛擬機(jī)器人將不同的傳感器和執(zhí)行器連接到控制器ROBOCORE傳感器和執(zhí)行器的狀態(tài)將會(huì)在虛擬機(jī)器人框里顯示ROBOTERRA?在第一課蘿卜太辣機(jī)器人課程介紹中,我們講解了軟件
CastleRock的使用,在進(jìn)行知識(shí)點(diǎn)講解前,請(qǐng)大家先完成我們
CastleRock中的Challenge
0-5原件類(lèi)型 對(duì)象名字RoboTerraRoboCore
jerryCastleRock
IDE命名須知:原件類(lèi)型
名字RoboTerraLED
redleft
bottom
controlbuttonleftbottomcontrolbuttonLeftBottomControlButton命名風(fēng)格:普通青年型:根據(jù)元件類(lèi)型以及功能或安裝位置,盡量使用完整的名稱(chēng)進(jìn)行命名leftServo,左側(cè)舵機(jī)rightServo右側(cè)舵機(jī)switchButton開(kāi)關(guān)鍵modeButton模式鍵優(yōu)點(diǎn):所有元件的類(lèi)型,作用,位置都一目了然,對(duì)整個(gè)機(jī)器人的糾錯(cuò)或者改造非常方便。缺點(diǎn):會(huì)花費(fèi)很長(zhǎng)時(shí)間在輸入這些很長(zhǎng)的名字上,輸代碼的效率很低。文藝青年型:通過(guò)各種符合自己認(rèn)知規(guī)則的簡(jiǎn)寫(xiě)來(lái)命名ls
rs左側(cè)舵機(jī) 右側(cè)舵機(jī)sb開(kāi)關(guān)鍵mb模式鍵優(yōu)點(diǎn):不用花費(fèi)很多時(shí)間在輸入名字上,編寫(xiě)效率高缺點(diǎn):只有寫(xiě)程序的人自己能看懂,其他人看的時(shí)候可能一時(shí)間看不懂這些縮寫(xiě)的含義。歡樂(lè)青年型:只用有趣的方式命名,也許沒(méi)有任何規(guī)律,也許只有自己才懂得規(guī)律Jerry左側(cè)舵機(jī)andy右側(cè)舵機(jī)jackie開(kāi)關(guān)鍵panda模式鍵優(yōu)點(diǎn):可以起一些歡樂(lè)、炫酷的名字缺點(diǎn):即不容易辨識(shí),也沒(méi)有效率指派接口格式:芯片名.attach(元件名,接口名);tom.attach(button,
DIO_1);知識(shí)點(diǎn)介紹與應(yīng)用1.基礎(chǔ)語(yǔ)句介紹If語(yǔ)句C++數(shù)據(jù)類(lèi)型及運(yùn)算符2.事件驅(qū)動(dòng)編程水瓶在不在視線中?握住水瓶(增大握力)水瓶握緊了么?倒水杯子里裝滿(mǎn)水了么?結(jié)束使用視覺(jué)傳感器找到水瓶否是否是否是1.1
If語(yǔ)句開(kāi)始1.基礎(chǔ)語(yǔ)句介紹程序框圖程序框圖主要組成部分開(kāi)始整個(gè)流程的開(kāi)始結(jié)束整個(gè)流程的結(jié)束執(zhí)行需要完成的操作開(kāi)始結(jié)束倒水1.1
If語(yǔ)句程序框圖主要組成部分判斷是/否程序中的if語(yǔ)句水瓶在不在視線中?握住杯子(增加握力)使用視覺(jué)傳感器找杯子否是1.1
If語(yǔ)句判斷條件if語(yǔ)句:if(判斷條件){//如果判斷條件為真,執(zhí)行代碼}1.1
If語(yǔ)句判斷條件if語(yǔ)句:在“()”中的判斷“{}”表示if判斷結(jié)構(gòu)的開(kāi)始和結(jié)束1.1
If語(yǔ)句判斷條件else語(yǔ)句:if(判斷調(diào)件){//如果判斷條件為真,執(zhí)行代碼}else{//如果判斷條件為假,執(zhí)行代碼}1.1
If語(yǔ)句判斷條件else語(yǔ)句:不需要給else一個(gè)條件,因?yàn)樗臈l件就是if判斷的相反方面1.1
If語(yǔ)句判斷條件else
if語(yǔ)句:if(判斷條件1){//如果判斷條件1為真,執(zhí)行代碼}else
if(判斷條件2){//如果判斷條件1為假,判斷條件2為真,執(zhí)行代碼}1.1
If語(yǔ)句判斷條件else
if語(yǔ)句:if
vs.
else
ifelse
if
只能在if之后if
和elseif
后要執(zhí)行的語(yǔ)句分別在不同的“{}”中1.1
If語(yǔ)句else
if
V.S.
else相同點(diǎn):只能在“if”語(yǔ)句之后使用整體結(jié)構(gòu)的開(kāi)始和結(jié)束用“{}”表示不同點(diǎn):Else
if
有新的條件進(jìn)行判斷1.1
If語(yǔ)句if,else
if,else
的不同組合ifif
+
else
ifif
+
elseif
+
else
if
+
elseif
+
if
+
if
+
if
+…1.1
If語(yǔ)句完成Challenge
6-7為這兩個(gè)挑戰(zhàn)中位于第三步的語(yǔ)句畫(huà)出程序框圖1.2.1
數(shù)據(jù)類(lèi)型1.2.2
運(yùn)算符1.2
C++數(shù)據(jù)類(lèi)型及運(yùn)算符1.2.1
數(shù)據(jù)類(lèi)型整型int:固定范圍內(nèi)的整數(shù)(-32768-32767)布爾型bool:真(1)or假(0)示例-定義變量:
int
a=0; int
a,b;整型int布爾型bool類(lèi)型整數(shù)真或假范圍-32768
to327671
or
0變量是指一個(gè)數(shù)據(jù)的儲(chǔ)存位置,以及這個(gè)位置所對(duì)應(yīng)的符號(hào)名稱(chēng)。變量對(duì)應(yīng)的數(shù)據(jù)是指存放在變量中的那個(gè)數(shù)據(jù)例如:變量:數(shù)據(jù):a127127變量我們使用不同數(shù)據(jù)類(lèi)型的變量去記錄我們所需的數(shù)據(jù)變量vs數(shù)據(jù):數(shù)據(jù)可以直接進(jìn)行操作變量代表是數(shù)據(jù)的位置,我們操作的是變量中記錄的數(shù)據(jù)例如兩個(gè)變量的加法,其實(shí)我們操作的是兩個(gè)變量對(duì)應(yīng)的兩個(gè)數(shù)據(jù):a
+
b
:a
b127
+
1231.2.2
運(yùn)算符賦值運(yùn)算符比較運(yùn)算符算數(shù)運(yùn)算符賦值運(yùn)算符?
=例子:int
a
=
0;int
b;b
=a;是賦值不是等于號(hào)??!比較運(yùn)算符常用的比較運(yùn)算符:==:等于>:大于<:小于注意:==and
=!!!==為判斷,=為賦值算數(shù)運(yùn)算符運(yùn)算符含義加減乘除算數(shù)運(yùn)算符取余運(yùn)算符:%常用于:判斷奇數(shù)If
(x%2==1){}//除2余1判斷偶數(shù)If
(x%2==0){}//除2余0邏輯運(yùn)算符三種運(yùn)算符:&&:
與||:
或!:
非&&0(假)1(真)0(假)001(真)01||0(假)1(真)0(假)011(真)11!0(假)11(真)0為什么使用事件驅(qū)動(dòng)編程?事件驅(qū)動(dòng)編程開(kāi)關(guān) 聲音光其他…開(kāi)關(guān)聲音光其他…事件驅(qū)動(dòng)編程背景知識(shí):事件驅(qū)動(dòng)編程:一種編程方式容易理清編程邏輯事件驅(qū)動(dòng)編程背景知識(shí):事件驅(qū)動(dòng)編程-事件監(jiān)視器:顯示事件歷史記錄現(xiàn)實(shí)生活中…事件驅(qū)動(dòng)編程EVENT.getData()事件驅(qū)動(dòng)編程如何辨認(rèn)/提取事件中的信息EVENT.isType(eventType)Type:BUTTON_PRESSEVENT.isFrom(eventSource)Source:myButtonData:
1事件驅(qū)動(dòng)編程類(lèi)比代碼:通過(guò)程序的結(jié)構(gòu)結(jié)合自然的語(yǔ)言,寫(xiě)出來(lái)的外形接近真實(shí)代碼的程序流程.你可以為機(jī)器人編寫(xiě)如何處理收到的每一個(gè)事件的代碼,去控制機(jī)器人的行動(dòng)。我們的事件監(jiān)視器可以幫助你監(jiān)控機(jī)器人收到的所有事件。類(lèi)比代碼:如果(開(kāi)關(guān)按下){紅色LED燈點(diǎn)亮}如果(開(kāi)關(guān)松開(kāi)){紅色LED燈熄滅}事件驅(qū)動(dòng)編程更復(fù)雜的邏輯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();}}更復(fù)雜的邏輯
jerry
jackie事件驅(qū)動(dòng)編程–真實(shí)代碼的執(zhí)行過(guò)程if(EVENT.isType(BUTTON_PRESS))
{red.turnOn();}else
if(EVENT.isType(BUTTON_RELEASE)){red.turnOff();}事件驅(qū)動(dòng)編程–真實(shí)代碼的執(zhí)行過(guò)程if(EVENT.isType(BUTTON_PRESS))
{red.turnOn();}else
if(EVENT.isType(BUTTON_RELEASE)){red.turnOff();}Type:BUTTON_RELEASESource:myButtonData:
1Type:BUTTON_PRESSSource:myButtonData:
1事件驅(qū)動(dòng)編程–真實(shí)代碼的執(zhí)行過(guò)程if(EVENT.isType(BUTTON_PRESS))
{red.turnOn();}else
if(EVENT.isType(BUTTON_RELEASE)){red.turnOff();}Type:BUTTON_PRESSSource:myButtonData:
1Type:BUTTON_RELEASESource:myButtonData:
1事件驅(qū)動(dòng)編程–真實(shí)代碼的執(zhí)行過(guò)程if(EVENT.isType(BUTTON_PRESS))
{red.turnOn();}else
if(EVENT.isType(BUTTON_RELEASE)){red.turnOff();}Type:BUTTON_PRESSSource:myButtonData:
1Type:BUTTON_RELEASESource:myButtonData:
1事件驅(qū)動(dòng)編程–真實(shí)代碼的執(zhí)行過(guò)程if(EVENT.isType(BUTTON_PRESS))
{red.turnOn();}else
if(EVENT.isType(BUTTON_RELEASE)){red.turnOff();}Type:BUTTON_RELEASESource:myButtonData:
1事件驅(qū)動(dòng)編程–真實(shí)代碼的執(zhí)行過(guò)程if(EVENT.isType(BUTTON_PRESS))
{red.turnOn();}else
if(EVENT.isType(BUTTON_RELEASE)){red.turnOff();}Type:BUTTON_RELEASESource:myButtonData:
1事件驅(qū)動(dòng)編程–真實(shí)代碼的執(zhí)行過(guò)程if(EVENT.isType(BUTTON_PRESS))
{red.turnOn();}else
if(EVENT.isType(BUTTON_RELEASE)){red.turnOff();}Type:BUTTON_RELEASESource:myButtonData:
1事件驅(qū)動(dòng)編程–真實(shí)代碼的執(zhí)行過(guò)程if(EVENT.isType(BUTTON_PRESS))
{red.turnOn();}else
if(E
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 整棟住宅買(mǎi)賣(mài)合同3篇
- 掛名股東合作合同的3篇
- 敬業(yè)精神保證書(shū)樣本3篇
- 授權(quán)代理加盟合同3篇
- 掛名購(gòu)車(chē)免責(zé)協(xié)議書(shū)3篇
- 招標(biāo)項(xiàng)目的設(shè)計(jì)邀請(qǐng)函撰寫(xiě)3篇
- 臨時(shí)餐飲服務(wù)租賃與供應(yīng)協(xié)議
- 劇院花園施工合同樣本
- 住宅區(qū)翻新工程協(xié)議
- 住宅小區(qū)KV配電站新建合同
- 奔馳新車(chē)全款合同范例
- 2023年湖南生物機(jī)電職業(yè)技術(shù)學(xué)院招聘筆試真題
- 河南省洛陽(yáng)2024-2025高二生物上學(xué)期期末考試試題
- 【MOOC】電子測(cè)量技術(shù)-沈陽(yáng)工業(yè)大學(xué) 中國(guó)大學(xué)慕課MOOC答案
- 玻璃制造中的安全與職業(yè)健康考核試卷
- 吉首大學(xué)《高等數(shù)學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 《有效溝通技巧》課件
- 2024年度醫(yī)療設(shè)備采購(gòu)與融資租賃合同
- 第3節(jié) 人類(lèi)的起源與進(jìn)化課件
- 智能雨水管理系統(tǒng)施工方案
- 食品安全教育培訓(xùn)
評(píng)論
0/150
提交評(píng)論