教師培訓(xùn)第2課知識(shí)點(diǎn)介紹與應(yīng)用上_第1頁(yè)
教師培訓(xùn)第2課知識(shí)點(diǎn)介紹與應(yīng)用上_第2頁(yè)
教師培訓(xùn)第2課知識(shí)點(diǎn)介紹與應(yīng)用上_第3頁(yè)
教師培訓(xùn)第2課知識(shí)點(diǎn)介紹與應(yīng)用上_第4頁(yè)
教師培訓(xùn)第2課知識(shí)點(diǎn)介紹與應(yīng)用上_第5頁(yè)
已閱讀5頁(yè),還剩54頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論