|
ohcoder的系列精彩Arduino教程:
Arduino教程-初識(shí)Arduino(包含本教程目錄):http://www.zg4o1577.cn/bbs/dpj-41334-1.html
Arduino教程-開(kāi)篇:http://www.zg4o1577.cn/bbs/dpj-41335-1.html
Arduino教程-點(diǎn)亮LED神燈:http://www.zg4o1577.cn/bbs/dpj-41336-1.html
Arduino教程-讓LED神燈閃爍:http://www.zg4o1577.cn/bbs/dpj-41337-1.html
Arduino教程-讓LED神燈亮度漸變:http://www.zg4o1577.cn/bbs/dpj-41338-1.html
Arduino教程-獲取輸入數(shù)字信號(hào):http://www.zg4o1577.cn/bbs/dpj-41339-1.html
Arduino教程-獲取輸入模擬信號(hào):http://www.zg4o1577.cn/bbs/dpj-41340-1.html
Arduino教程-另一種時(shí)間延遲:http://www.zg4o1577.cn/bbs/dpj-41331-1.html
Arduino教程-按鍵開(kāi)關(guān):http://www.zg4o1577.cn/bbs/dpj-41341-1.html
Arduino教程-停止抖動(dòng)!:http://www.zg4o1577.cn/bbs/dpj-41333-1.html
Arduino教程-拋棄外部電阻!:http://www.zg4o1577.cn/bbs/dpj-41332-1.html
Arduino教程-用按鍵開(kāi)關(guān)計(jì)數(shù):http://www.zg4o1577.cn/bbs/dpj-41330-1.html
………后續(xù)持續(xù)更新中請(qǐng)打開(kāi):http://www.zg4o1577.cn/bbs/dpj-41334-1.html
最近了解了一款新玩具,名字叫“Arduino”,因?yàn)樵醋杂谝獯罄悦忠惨糜谝獯罄Z(yǔ),意思是“強(qiáng)壯的朋友”,至于發(fā)音,網(wǎng)上常見(jiàn)的有兩種,一種是意大利語(yǔ)發(fā)音,另一種是美式發(fā)音。因?yàn)閷儆谝糇g,不同的發(fā)音也因人而異,所以具體的可以自行baidu一下,:P
Arduino的作用是能通過(guò)各種各樣的傳感器來(lái)感知環(huán)境,通過(guò)控制燈光、馬達(dá)和其他的裝置來(lái)反饋、影響環(huán)境。板子上的微控制器可以通過(guò)Arduino的編程語(yǔ)言來(lái)編寫(xiě)程序,編譯成二進(jìn)制文件,燒錄進(jìn)微控制器。比起各種單片機(jī)來(lái)這個(gè)系統(tǒng)的最大優(yōu)點(diǎn)是用起來(lái)非常簡(jiǎn)單,就像是搭積木一樣,甚至連小學(xué)生都能很快掌握Arduino用來(lái)制作各種發(fā)明創(chuàng)造.是不是很有意思呢?
對(duì)于這款玩具,基礎(chǔ)介紹內(nèi)容網(wǎng)上已經(jīng)有很多。這里只是針對(duì)自己這幾天的了解做一個(gè)簡(jiǎn)單介紹。具體的我想從兩方面談一談,一方面是軟件,另一方面是硬件。
軟件方面因?yàn)椴沤佑|不久,所以只是對(duì)Arduino的開(kāi)發(fā)相關(guān)軟件做一些介紹。對(duì)于非程序員出身的朋友,如果想更好的通過(guò)編程控制Arduino,目前了解的有兩款輔助軟件:
這兩款軟件都是基于圖形化的。對(duì)于不熟悉代碼的設(shè)計(jì)人員來(lái)說(shuō)比較適合。具體來(lái)說(shuō),對(duì)于Mind+和Ardublock這兩款軟件在網(wǎng)易云課堂上專(zhuān)門(mén)有兩門(mén)課程做了講解。一門(mén)叫《Arduino初級(jí)課程》,這門(mén)課程講解時(shí)使用的是Ardublock。另一門(mén)叫《學(xué)Arduino玩轉(zhuǎn)電子制作》,這門(mén)課程中有幾節(jié)課用的是Mind+。這兩門(mén)課程可以作為不熟悉Arduino的人入門(mén)學(xué)習(xí),特別是初級(jí)課程的講解,講的還是不錯(cuò)的。
對(duì)于了解程序設(shè)計(jì)的人,寫(xiě)代碼可能就不會(huì)是一件特別難的事情。那么可以直接使用官方提供的開(kāi)發(fā)工具,名字就叫做Arduino。此款開(kāi)發(fā)工具是使用Java開(kāi)發(fā)的。為什么會(huì)使用Java開(kāi)發(fā)呢?因?yàn)檫@款I(lǐng)DE衍生自Wiring,而Wiring又衍生自Processing,Processing的開(kāi)發(fā)是基于Java的,所以就是這樣一步步繼承過(guò)來(lái)的。這里有一張圖比較清晰的描述了它們之間的關(guān)系:
從圖中可以看出,Processing還是蠻強(qiáng)大的。雖然Processing本身使用的是Java,但是如果你寫(xiě)一寫(xiě)Processing的程序,就會(huì)發(fā)現(xiàn),其實(shí)Processing開(kāi)發(fā)語(yǔ)言的語(yǔ)法并不像Java,而是一種類(lèi)C語(yǔ)言。這種開(kāi)發(fā)風(fēng)格一直延續(xù)到了Arduino IDE上。當(dāng)然,Arduino開(kāi)發(fā)本身提供的類(lèi)庫(kù)其實(shí)就是C/C++語(yǔ)言開(kāi)發(fā)的。Processing的特點(diǎn)是其強(qiáng)大的圖形開(kāi)發(fā),如果把Processing和Arduino進(jìn)行結(jié)合,在軟件層面的開(kāi)發(fā)也可以有很大的想像空間。對(duì)于軟件就先說(shuō)這么多吧,有興趣的朋友可以做一些深入的了解。
硬件方面對(duì)于硬件方面,Arduino的入門(mén)產(chǎn)品就是一塊兒名叫Uno的板子。這塊兒板子可以算作是Arduino開(kāi)發(fā)的入門(mén)級(jí)產(chǎn)品。板子上主要有一些常見(jiàn)的標(biāo)準(zhǔn)接口。例如,一個(gè)USB接口、一個(gè)電源接口,以及一些數(shù)字電路輸入/輸出接口和模擬電路輸入/輸出接口等。板子上最重要的部件應(yīng)該是那塊兒AVR單片機(jī)了。Arduino使用的這塊兒?jiǎn)纹瑱C(jī)是Atmel生產(chǎn)的。Atmel出品的AVR系列的單片機(jī)遵循于8位~32位的RISC指令集標(biāo)準(zhǔn)。AVR處理器共有六個(gè)系列,Arduino Uno(R3)上用的是Atmega328,配置稍微好一點(diǎn)的Arduino Leonardo使用的是ATmega2560。對(duì)于硬件產(chǎn)品的具體分類(lèi),可以查看官方網(wǎng)站。
從官網(wǎng)上的產(chǎn)品列表中可以大致看出,Arduino的產(chǎn)品大致分為兩類(lèi),一類(lèi)是功能型的基礎(chǔ)開(kāi)發(fā)板,另一類(lèi)是輔助擴(kuò)展型的板子,俗稱(chēng)“盾板(SHIELDS)”。從我自己理解的角度來(lái)說(shuō),基礎(chǔ)開(kāi)發(fā)板中各個(gè)產(chǎn)品的差異主要體現(xiàn)在其用途的不同上。所以對(duì)于如何合理的使用這些開(kāi)發(fā)板,需要對(duì)這些板子單獨(dú)做一些了解,才能靈活合理的應(yīng)用到不同的場(chǎng)景中。
因?yàn)锳rduino的硬件標(biāo)準(zhǔn)是開(kāi)源的,任何人都可以獲得Arduino的制造電路圖,以及所有相關(guān)資料,可以免費(fèi)拿來(lái)定制屬于自己的Arduino電路板,唯一的限制是需要在你自己制造的電路板上印上Arduino的商標(biāo)。這里多說(shuō)一句,對(duì)于覺(jué)得官方Arduino賣(mài)的貴的同學(xué),其實(shí)完全可以選擇國(guó)內(nèi)的制造商,因?yàn)槎际前凑誂rduino官方圖紙標(biāo)準(zhǔn)做的,所以基本上都會(huì)對(duì)Arduino官方的電路板進(jìn)行兼容。這里我選擇的是國(guó)內(nèi)的DFRobot,因?yàn)槲矣X(jué)得他們做的產(chǎn)品很全,專(zhuān)注于這方面,而且他們自己也會(huì)開(kāi)發(fā)一些兼容Arduino的擴(kuò)展功能的開(kāi)發(fā)板。不過(guò),我自己也是剛剛使用,到底怎么樣,現(xiàn)在就下結(jié)論確實(shí)為時(shí)尚早。除了DFRobot以外,淘寶上還有幾家據(jù)說(shuō)口碑還不錯(cuò)的店。例如,OpenJumper,奧松機(jī)器人,ocrobot,等等吧。我自己聽(tīng)人說(shuō)還可以的就這幾家,至于到底怎么樣我不知道,所以這里也僅做個(gè)參考吧。
說(shuō)到硬件,又想起一款用來(lái)做電路原型設(shè)計(jì)的軟件,名字叫fritzing(主頁(yè)有視頻)。這是一款快速設(shè)計(jì)電路原型的工具軟件。也算是Arduino這個(gè)圈子中相關(guān)的開(kāi)發(fā)軟件吧,只不過(guò)這款軟件面向的是硬件電路板 :) 。
初步來(lái)說(shuō),了解的就是這些。當(dāng)然,如果想玩兒轉(zhuǎn)Arduino,最好是學(xué)習(xí)一下電路,以及AVR單片機(jī)開(kāi)發(fā)等方面的知識(shí)。學(xué)習(xí)這些知識(shí),對(duì)于產(chǎn)品在電路上的設(shè)計(jì),以及代碼的優(yōu)化都將會(huì)是有幫助的。
下一篇:Arduino教程-開(kāi)篇:http://www.zg4o1577.cn/bbs/dpj-41335-1.html |
評(píng)分
-
查看全部評(píng)分
|