相關(guān)商品
【創(chuàng)客學(xué)堂】 Rapberry pi編程工具Scratch
編輯:Sophie2013-10-18 瀏覽次數(shù):1625
如果安裝的是Raspbian,那么系統(tǒng)經(jīng)預(yù)裝了最新版的Scratch開(kāi)發(fā)環(huán)境。如果你使用是其他的操作系統(tǒng),訪問(wèn)Scratch官網(wǎng)http://info.scratch.mit.edu,有支持Mac OS X和Windows 的版本。那么不用擔(dān)心沒(méi)有Raspberry Pi玩不了啦!?。?/font>
Scratch簡(jiǎn)介
先介紹一下這個(gè)軟件吧,以下的介紹部分取自RaspberryPi User Manual中Scratch部分,我只是翻譯并稍加修改和注釋(紅色部分):
Raspberrypi項(xiàng)目的首要目的(chiefgoal)是讓更多的人能夠?qū)懽约旱拇a,而且不僅僅是成年人。RaspberryPi基金會(huì)努力讓這個(gè)板子能夠成為所有年齡的人的教育工具。但是也不要以為這只是兒童的玩具,看看http://v.163.com/movie/2010/3/U/R/M6U6LS8CV_M6U6MHDUR.html或者https://www.cs50.net/看看哈佛大學(xué)的學(xué)生入門編程工具也是Scratch。
實(shí)現(xiàn)這個(gè)目標(biāo)的關(guān)鍵要素是要讓兒童能夠親身體驗(yàn)創(chuàng)造自己軟件的樂(lè)趣,而不只是消費(fèi)別人的代碼。實(shí)現(xiàn)這個(gè)目標(biāo)的秘訣就是Scratch。美國(guó)麻省理工學(xué)院媒體實(shí)驗(yàn)室(MassachusettsInstitute of Technology Media Lab)的“終身幼兒園團(tuán)隊(duì)”(LifelongKindergarten group,沒(méi)有找到中文的翻譯,樓主自己翻譯)在2006年以Squeak和Smalltalk編程語(yǔ)言分支的身份面世。Scratch把編程的核心概念融入到圖形中,使這些思想更容易理解。傳統(tǒng)打字的編程方式,篇幅大容易讓小孩心生疲倦和恐懼而放棄編程,與之不同的是,Scratch是一種拼圖的編程環(huán)境,拖拽圖標(biāo)完成編程,又能引入編程思想和介紹所有編程語(yǔ)言都會(huì)用到的核心概念。Scratch官方推薦的使用年齡是8歲以上,不過(guò)在別人的幫助和指導(dǎo)下,小一點(diǎn)的孩子也能很快理解,看起來(lái)Scratch很強(qiáng)大嘛!O(∩_∩)O哈哈~ 在彩色圖標(biāo)和鼠標(biāo)拖動(dòng)的編程環(huán)境背后則是擁有令人折服的多媒體處理功能的編程語(yǔ)言。因此官網(wǎng)上能有超過(guò)250萬(wàn)個(gè)Scratch項(xiàng)目與大家分享也就不足為奇了,大多數(shù)是游戲。鼓勵(lì)兒童學(xué)習(xí)如何創(chuàng)建自己的游戲,是每位父母都想的:讓孩子在玩的時(shí)候有所學(xué)。Scratch友好的用戶界面和出色核心編程思想的處理,孩子們就不會(huì)因?yàn)槎盖偷膶W(xué)習(xí)曲線而泄氣(有點(diǎn)萬(wàn)事開(kāi)頭難的意思,但又不全是,水平有限,列出我認(rèn)為的兩種意思的學(xué)習(xí)曲線供大家理解: 學(xué)習(xí)曲線是對(duì)某種活動(dòng)或工具的學(xué)習(xí)速率的圖形化表示。一般來(lái)說(shuō),剛開(kāi)始時(shí)掌握信息的速率曲線最為陡峭,之后則逐漸變得平緩,這表明之后的學(xué)習(xí)過(guò)程中對(duì)新信息的掌握速率會(huì)越來(lái)越慢。
學(xué)習(xí)曲線也表示剛開(kāi)始學(xué)習(xí)某件東西的困難程度,以及在初步掌握之后還能學(xué)到多少更高階的知識(shí)。
本人認(rèn)為這里綜合這兩種)。更有用的是,有了在Scratch建立起來(lái)的出色的編程基礎(chǔ),日后學(xué)習(xí)更靈活的編程語(yǔ)言如Python會(huì)有很大的幫助。
在你轉(zhuǎn)移到其他語(yǔ)言之前,再好好看看Scratch,Scratch提供不僅僅是一個(gè)游戲的框架。你可以用它來(lái)制作交互式演示和動(dòng)畫片;也可以用它來(lái)和外部的傳感器和電機(jī)交互,當(dāng)然要想完成這樣的交互,你需要額外的硬件,例如PicoBoard[1]和LEGOWeDo[2]機(jī)器人套件。
軟件界面簡(jiǎn)介
在Raspbian系統(tǒng),本人還不會(huì)截圖和編輯編輯文檔,以下的內(nèi)容都是在WindowsXP環(huán)境中編輯得到。在Raspbian默認(rèn)安裝的Scratch是英文界面,而在XP環(huán)境中會(huì)根據(jù)實(shí)際本地化,我安裝的時(shí)候是中文環(huán)境,為了需要修改為英文環(huán)境,一下內(nèi)容會(huì)提到修改的方法。
工具欄中和XP系統(tǒng)的資源管理器類似,比較突出的是左上角圖標(biāo)
- 最左邊是結(jié)構(gòu)面板(block palette):可以選取各種模塊(類似于代碼)放在中間的Scripts中,組成自己的程序;
- 中間的面板,按照中文界面分別是:腳本(構(gòu)造的程序)、造型和聲音,意思也就一目了然;
- 最右邊的面板比較復(fù)雜:
- 右下角是放置角色(sprites),也就是程序控制的對(duì)象,
三個(gè)圖標(biāo)分別是創(chuàng)建角色(自己繪制角色)、從文件夾中選擇角色、隨機(jī)角色 - 右下角還有
,點(diǎn)擊它后界面會(huì)重新刷新一下,變成
- 舞臺(tái)和角色都會(huì)顯示在右上角的框中,在此你可以看見(jiàn)程序運(yùn)行的實(shí)際效果
四個(gè)圖標(biāo)對(duì)框中的角色編輯,分別是:復(fù)制、刪除、放大、縮小角色。
對(duì)整個(gè)顯示環(huán)境的改變,最右邊的是全屏顯示右上角的舞臺(tái)和角色。
入門實(shí)例
既然是個(gè)入門例子,必然是了解程序的結(jié)構(gòu),不過(guò)圖形編程環(huán)境,經(jīng)典的“Hello, World!”實(shí)現(xiàn)起來(lái)太簡(jiǎn)單,不太合適。為了展示Scratch程序結(jié)構(gòu)的不同和簡(jiǎn)便,聲音和圖像的完美結(jié)合,以及類似于多線程的程序運(yùn)行方式,設(shè)計(jì)了這個(gè)例子:
- 程序由兩個(gè)舞臺(tái)(一個(gè)是程序自帶,另一個(gè)自己構(gòu)造的)和四個(gè)角色(Raspberrypi logo)組成,接下來(lái)會(huì)慢慢介紹具體程序設(shè)計(jì)過(guò)程
- 本來(lái)想做一個(gè)Raspberry Pi logo的三維旋轉(zhuǎn)效果,但是沒(méi)有找到相應(yīng)的設(shè)置方式,改成logo出現(xiàn)特殊效果,為了明確程序的意圖,以下的截圖均為軟件的中文界面。
- 設(shè)計(jì)舞臺(tái)
第二個(gè)舞臺(tái)是自己構(gòu)造的,空白的背景導(dǎo)入愛(ài)板的logo,具體操作方式看截圖
直接在界面上編輯logo,我的做法很簡(jiǎn)單,看圖(我存儲(chǔ)愛(ài)板logo直接用logo作為文件名,之后軟件直接以這個(gè)名字給這個(gè)舞臺(tái)命名。)
- 舞臺(tái)程序和音樂(lè)
- 音樂(lè)導(dǎo)入
- 舞臺(tái)程序設(shè)計(jì)
- 在右上角的小綠旗按下的時(shí)候(小綠旗是作為程序開(kāi)始的標(biāo)記),舞臺(tái)切換到spotlight-stage1
- 播放一段音樂(lè)(音樂(lè)的導(dǎo)入,后面介紹)
- 音樂(lè)結(jié)束后切換到舞臺(tái)logo
- 最后清除所有效果(在此沒(méi)有效果,只是為了讓大家看清舞臺(tái)程序運(yùn)行和角色程序運(yùn)行是相互獨(dú)立)
- 到此舞臺(tái)程序以全部設(shè)計(jì)完成,可以點(diǎn)擊小綠旗或者直接點(diǎn)擊程序塊試試效果。
第一個(gè)角色
第二個(gè)角色
第三個(gè)角色
第四個(gè)角色
點(diǎn)擊小綠旗后再按程序中所用到的鍵效果圖
舞臺(tái)程序運(yùn)行結(jié)束后的效果圖
總結(jié)
1. 首先是對(duì)自己例子的解讀:
- 舞臺(tái)和角色,角色和角色之間的程序運(yùn)行是相互獨(dú)立的,最后舞臺(tái)編程愛(ài)板logo的時(shí)候,四個(gè)Raspberry logo還是在變化的,也可以試試在不點(diǎn)小綠旗的時(shí)候,按上下左右鍵,四個(gè)Raspberry logo也是會(huì)變化的;
- 控制程序啟動(dòng)的方式多種多樣:小綠旗,鍵盤輸入,點(diǎn)擊角色;
- 程序用到順序結(jié)構(gòu),for循環(huán),和if循環(huán)三種程序結(jié)構(gòu),程序也包含了其它控制結(jié)構(gòu);
2. 編程工具沒(méi)有什么需要記住的命令,圖片色彩簡(jiǎn)單的確很適合初學(xué)者的入門
3. 程序塊是一種蘿卜一種坑的形式,防錯(cuò)做得相當(dāng)不錯(cuò),結(jié)果就是debug工作少了
4. 對(duì)自己的作品有自信的話還可以在http://scratch.mit.edu/galleries/browse/newest分享一下,對(duì)應(yīng)的你也可以在這里找到別人的作品;
5. 多看、多動(dòng)手、多分享,
6. Just for fun
附錄
[1] PicoBoard $44.95價(jià)格不菲
[2] LEGO Education WeDo Robotics ConstructionSet 價(jià)格更不菲$129.95
用戶評(píng)價(jià)
暫時(shí)還沒(méi)有任何用戶評(píng)論