相關(guān)商品
【應(yīng)用軟件】創(chuàng)客入門必備工具之軟件類(上)
編輯:Robin2015-11-17 瀏覽次數(shù):1556
【創(chuàng)客利器】
創(chuàng)客入門必備工具——軟件類
回顧上兩期創(chuàng)客利器版塊,我們主要介紹了電子類和機(jī)械類的工具。本文主要講解一些常見的創(chuàng)客必備入門軟件類工具,從基于文本編程的Arduino IDE、Processing 3到電子繪圖Fritzing,再到積木式圖形化編程的Scratch 2.0、S4A、Ardublock、App Inventor 2,三維建模AUTODESK 123D Design、SolidWorks和3DS MAX,最后到常用單片機(jī)與機(jī)器人調(diào)試軟件,筆者將帶領(lǐng)大家一同學(xué)習(xí)每款軟件操作技法。
Arduino IDE
Arduino IDE(集成開發(fā)環(huán)境)是針對(duì)Arduino硬件進(jìn)行編程的工具。什么是Arduino?可以問(wèn)度娘,這里不做過(guò)多介紹。Arduino不僅在硬件上使用USB上傳程序,而且在軟件中提供了豐富的庫(kù)加以支持,這使得Arduino的門檻非常低,因此使用它進(jìn)行創(chuàng)作的人也越來(lái)越多。Arduino IDE使用C/C++語(yǔ)法,并將程序抽象為setup和loop兩個(gè)部分:程序一開始執(zhí)行且僅執(zhí)行一次setup函數(shù),它通常負(fù)責(zé)初始化操作,隨后程序不斷地執(zhí)行l(wèi)oop函數(shù)。
此外Arduino IDE還把輸入輸出封裝為函數(shù),屏蔽了底層寄存器的修改,如pinMode、digitalRead、digitalWrite、analogRead、digitalWrite等,同時(shí)還提供了Serial、SPI.h、Wire.h(即I2C)等通訊協(xié)議的庫(kù)函數(shù)。我們只需要很簡(jiǎn)單的三行代碼就能實(shí)現(xiàn)LED一閃一滅的效果:
Arduino IDE還提供了豐富的示例供初學(xué)者參考(文件菜單中的示例選項(xiàng))。如果有興趣你還可以嘗試http://arduino.org/中最新的編程軟件Arduino Studio。
Processing
Processing是一種具有革命前瞻性的新興計(jì)算機(jī)語(yǔ)言,它的概念是在電子藝術(shù)的環(huán)境下介紹程序語(yǔ)言,并將電子藝術(shù)的概念介紹給程序設(shè)計(jì)師。它使用Java語(yǔ)言進(jìn)行開發(fā),是Arduino IDE的前身。其官方網(wǎng)站中提供了大量的類庫(kù),涉及串行通信、網(wǎng)絡(luò)、視頻與可視化、聲音、GUI、3D、動(dòng)畫等各個(gè)方面。下圖是Processing 3.0中Topics/Drawing/Pattern的示例程序,除去注釋只需要12行代碼,就實(shí)現(xiàn)了跟隨鼠標(biāo)繪制正圓,并隨著鼠標(biāo)移動(dòng)速度改變大小的效果:
隨著JavaScript、Python以及Ruby的流行,Processing也逐漸支持這三種編程語(yǔ)言,即p5.js、Processing.py以及ruby-processing。這使得它已不僅僅是一門編程語(yǔ)言,而更像是一門面相藝術(shù)學(xué)習(xí)方式,使得我們可以通過(guò)編程學(xué)習(xí)、教學(xué),甚至制作互動(dòng)裝置。下圖頁(yè)面的動(dòng)態(tài)3D方格背景(http://p5js.org/,使用p5.js制作)可以隨著鼠標(biāo)移動(dòng)而變化:
此外,由于Processing可以使用串行通信,因此它也可以和Arduino通過(guò)串口通信。因?yàn)锳rduino自帶的串口監(jiān)視器比較簡(jiǎn)單,僅支持文本輸入輸出,因此我們可以將Processing與Arduino結(jié)合,使Arduino程序更加具有交互藝術(shù)性。
Fritzing
Fritzing將電子產(chǎn)品作為每一個(gè)人的創(chuàng)意素材。它同樣是開源軟件,讓每個(gè)人記錄其產(chǎn)品原型并與他人分享。Fritzing也常作為課堂上學(xué)習(xí)電子學(xué)的工具,甚至還可以制作PCB。下圖是一個(gè)簡(jiǎn)單的使用案例:
AUTODESK 123D CIRCUITS
Autodesk的123D Circuits也是一個(gè)不錯(cuò)的工具,除了與大家分享自己的作品、定制PCB之外,其Electronics Lab還可以進(jìn)行一些模擬仿真:
Scratch 2.0
目前Scratch是由麻省理工學(xué)院(MIT)媒體實(shí)驗(yàn)室所開發(fā)的一款面向青少年的圖形化簡(jiǎn)易編程軟件。使用者只需將色彩豐富的指令方塊組合,便可創(chuàng)作出多媒體程序、互動(dòng)游戲、動(dòng)畫故事等作品。最常用的版本有1.4(已經(jīng)停止更新)和2.0。Scratch將一百多塊積木分為十大類,通過(guò)積木的組合我們就能實(shí)現(xiàn)出各種效果。下圖程序腳本詢問(wèn)了用戶出生年份,然后展示計(jì)算結(jié)果。
Scratch適合各個(gè)年齡階段的人群學(xué)習(xí)編程,國(guó)內(nèi)已有許多小學(xué)和中學(xué)開始教授Scratch。它可以實(shí)現(xiàn)計(jì)算機(jī)科學(xué)中的許多概念,例如遞歸、字符串操作、查找、排序等。下面展示的案例出自于《動(dòng)手玩轉(zhuǎn)Scratch 2.0編程》:
Scratch不僅可以制作純軟件項(xiàng)目,也支持與硬件的互動(dòng)。官方標(biāo)準(zhǔn)Scratch支持PicoBoard和LEGO WeDo,但是這遠(yuǎn)遠(yuǎn)不能滿足廣大愛(ài)好者的需求。由于Scratch是開源軟件,因此越來(lái)越多的機(jī)器人廠家和創(chuàng)客空間修改出更具特色的版本。與Scratch同類型的軟件還有Snap!(也稱為BYOB),它的編程功能更加強(qiáng)大,如支持局部變量、獲取HTTP數(shù)據(jù)、字符串解析、執(zhí)行JavaScript腳本等。
Scratch還有一個(gè)適合于更小的孩子(5-7歲)學(xué)習(xí)編程的版本ScratchJr,有安卓和IOS兩個(gè)版本。它能讓孩子們創(chuàng)作交互式故事和游戲,通過(guò)積木的簡(jiǎn)單卡合就能實(shí)現(xiàn)角色的跑動(dòng)、跳躍、跳舞和唱歌等效果。下圖是ScratchJr的程序截圖:
未完待續(xù)
相關(guān)文章:
【應(yīng)用軟件】介紹幾個(gè)創(chuàng)客入門必備的免費(fèi)軟件
【應(yīng)用軟件】適合maker初學(xué)者使用的免費(fèi)軟件
----------------------------------------------------------------------------------------------------------------
奧松機(jī)器人官網(wǎng):www.robotbase.cn
微信號(hào):搜索公眾號(hào)“奧松機(jī)器人”
QQ群: 271230889(討論,解惑)
微博:@奧松機(jī)器人基地
----------------------------------------------------------------------------------------------------------------
溫馨提示:予人玫瑰,手留余香;如果你喜歡這篇文章,不妨轉(zhuǎn)發(fā)推薦給你身邊的朋友!
用戶評(píng)價(jià)
暫時(shí)還沒(méi)有任何用戶評(píng)論