久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

Arduino為什么這么紅?

 royy 2012-03-21

相信對嵌入式開發(fā)感興趣的朋友最近一定不會對一個新名詞陌生——Arduino,。尤其對初學(xué)者來說,,恐怕都聽到過“嵌入式開發(fā)從哪里上手最好?Arduino,!”這樣的說法,。那么Arduino到底是什么呢,?是一種新的控制芯片?還是一種新的開發(fā)軟件呢,?

首先我們先看看Arduino的實物圖,下面是最常見的一種Arduino實物圖片(關(guān)于Arduino的分類,,我們會在后面詳述):

圖中已經(jīng)用紅線根據(jù)功能將各個模塊區(qū)分出來,,相信對單片機開發(fā)稍有了解的朋友一定已經(jīng)發(fā)現(xiàn),這不就是一個以AVR單片機最小系統(tǒng)為核心的控制板嗎,?

不錯,,Arduino就是以ATMEL公司的AVR單片機為核心的單片機控制板,板上除了ATmega168最小系統(tǒng)電路外,,還包含了穩(wěn)壓電路,,USB轉(zhuǎn)串口電路,一些指示用的LED,,以及一些擴展用的電路插座,。

僅僅一個單片機最小系統(tǒng),為何能風(fēng)靡歐美臺灣的學(xué)生愛好者呢,?

下面我們以圖表的形式來比較一下單片機裸機,、市面上一般的單片機開發(fā)板和Arduino之間的比較。



ATmega168裸機


Arduino


ATmega168開發(fā)板


運算性能


相同


相同


相同


成本


最低


較低


較高


體積


最小


適中


較大


自由度


最大


除單片機正常運行需要占用的端口外,,其他端口全部留給了用戶使用


很多開發(fā)板集成了鍵盤,、數(shù)碼管、跳線開關(guān)等模塊,,占用了很多端口


標(biāo)準(zhǔn)度


完全符合ATmega公司公布的芯片資料


完全符合Arduino組織公布的標(biāo)準(zhǔn)


大多由各個供應(yīng)商自主開發(fā),,各不相同


工作條件


需要自己搭建最小電路


通過USB線連上PC即可使用


通過USBCOM端口與PC連接即可使用


開發(fā)資料


任何ATmega168資料皆可,但一些細(xì)節(jié)需與自己的電路配合


英文資料豐富,,目前中文資料略有欠缺,。


一般開發(fā)板供應(yīng)商都會提供各種學(xué)習(xí)資料,但大多雜亂無章,,需學(xué)習(xí)者自己甄別







上面的表格中列出了三種選擇方案的最直觀比較(表中沒有比較購買渠道的便利性比較,,隨著網(wǎng)絡(luò)購物的普及,這一點已經(jīng)不再成為愛好者們需要特別關(guān)注的問題),,看起來似乎Arduino并沒有特別的優(yōu)勢,,那么為什么Arduino會得到如此熱度的追捧呢?

要回答這個問題,,我們必須首先回顧一下Arduino的發(fā)展歷程,。2005年,意大利 Ivrea 一家高科技設(shè)計學(xué)校的老師Massimo Banzi為了能給學(xué)生們提供一種便宜好用的微控制器平臺,,與當(dāng)時在這所學(xué)校做訪問學(xué)者的西班牙籍芯片工程師David Cuartielles合作設(shè)計了最初的Arduino電路板,。隨后Arduino便開始迅速的在歐洲流行起來,,并且逐漸將春風(fēng)吹到了美國、日本,、臺灣,、香港等地區(qū),最近一兩年更是在大陸地區(qū)蓬勃的發(fā)展起來,。

Arduino獨有的幾種優(yōu)勢表現(xiàn)在下列方面:

開放性:Arduino的硬件電路的軟件開發(fā)環(huán)境都是完全開源的,,在不從事商業(yè)用途的情況下任何人都可以使用、修改和分發(fā)它,。這樣不但可以使用戶更好的理解Arduino的電路原理,,更可以根據(jù)自己的需要而去修改它。比如由于空間的限制,,需要設(shè)計異形的電路板,;或是將自己的擴展電路與主控制電路設(shè)計到一起。

易用性:對于稍微有心的人,,不論基礎(chǔ)如何,,只要他有興趣,拿到Arduino之后的一個小時之內(nèi),,應(yīng)該就可以成功運行第一個簡單的程序了,。ArduinoPC的連接采用了當(dāng)下最主流的USB連接,你可以像使用一只MP3一樣把Arduino與電腦直接連起來而不要再額外安裝任何驅(qū)動程序,。而且Arduino的開發(fā)環(huán)境軟件也非常的簡單,,一目了然的菜單,僅提供了最必須的工具欄,,除去了一切可能會使初學(xué)者眼花繚亂的元素,,你甚至可以不閱讀手冊便實現(xiàn)代碼的編譯與下載(我可沒說編寫)。

交流性:對于初學(xué)者來說,,交流與展示是非常能激發(fā)學(xué)習(xí)熱情的途徑,。但有些時候,你用AVR做了個循跡小車,,我用PIC做了個小車循跡,。那么對單片機理解還不是特別深刻的初學(xué)者來說,交流上恐怕就會有些困難,。而Arduino已經(jīng)劃定了一個比較統(tǒng)一的框架,,一些底層的初始化采用了統(tǒng)一的方法,對數(shù)字信號和模擬信號使用的端口也做了自己的標(biāo)定,,初學(xué)者在交流電路或程序的時候非常方便,。

豐富的第三方資源:Arduino無論硬件還是軟件,都是全部開源的,,你可以深入的了解到底層的全部機理,,也預(yù)留了非常友好的第三方庫開發(fā)接口,。秉承了開源社區(qū)一貫的開放性和分享性,很多愛好者在成功的實現(xiàn)了自己的設(shè)計后,,會把自己的硬件和軟件拿出來與大家分享,。對于后來者來說,你可以在Arduino社區(qū)輕松找到自己想要使用的一些基本功能模塊:舵機控制,、PID調(diào)速,、A/D轉(zhuǎn)換等。特別一些模塊供應(yīng)商也開始越來越重視Arduino社區(qū),,會為自己的產(chǎn)品提供Arduino下的使用庫,這些都極大的方便了Arduino開發(fā)者,,使你可以不必拘泥于一些基本功能的編寫,,而可以把自己的精力更多的放在自己想要的功能設(shè)計中去。

是的,,單純從嵌入式開發(fā)的技術(shù)角度來說,,Arduino并不是第一選擇,為了盡可能的照顧初學(xué)者甚至是電子開發(fā)的門外漢,,Arduino定制了很多底層的設(shè)計,,這也是許多經(jīng)驗豐富的嵌入式設(shè)計人員對Arduino嗤之以鼻的原因之一?;仡^看看上面列出的那些Arduino的優(yōu)勢所在,,那么Arduino的定位究竟在何處呢?

Arduino誕生之初確實是為嵌入式開發(fā)的學(xué)習(xí)而生,,但發(fā)展到今天,,Arduino已經(jīng)遠(yuǎn)遠(yuǎn)超出了嵌入式開發(fā)的領(lǐng)域。在臺灣,,Arduino被稱為“科技藝術(shù)”,,很多電子科技領(lǐng)域以外的愛好者,憑借豐富的想象力和創(chuàng)造力,,也設(shè)計開發(fā)出了很多有趣的作品,。

在大陸,Arduino更多的還是作為一種嵌入式學(xué)習(xí)和開發(fā)工具出現(xiàn),,但是它的魅力絕不僅僅如此,,它完全可以作為一種新“玩具”,甚至新的藝術(shù)載體,,來吸引更多各個領(lǐng)域的人們加入到Arduino的神奇世界里來,。

用Arduino控制的三輪小車

擦除白板的自動機器

發(fā)條微博自動給你煮咖啡

是不是已經(jīng)迫不及待,想要開始你的Arduino之旅了,?趕快到購物網(wǎng)站上搜一搜Arduino,,然后……是不是被各種不同的Arduino控制板搞花了眼,?


Arduino并不是一成不變的,每隔一段時間,,Arduino官方組織就會發(fā)布最新的設(shè)計,,對Arduino在原有基礎(chǔ)上進行升級,讓愛好者們更方便的使用,。同時,,為了滿足不同層次的開發(fā)要求,Arduino也推出了不同版本的控制板設(shè)計,,這里我們來認(rèn)識一下使用最多的幾種設(shè)計:




Arduino Uno


Uno版本應(yīng)該說是Arduino的基礎(chǔ)板,,也是初學(xué)者的第一選擇。它提供了基本的數(shù)據(jù)接口,,對初學(xué)者足夠的存儲空間,,無論是讀取傳感器,還是驅(qū)動電機,,或者與電腦通信,,都可以輕松的勝任。




Arduino Mega 2560


這一版可以算是Uno的升級版,,各種接口的數(shù)量比Uno要多,,而且其搭載的單片機型號也要比Uno的單片機更高級一些,運算速度更快,。如果你覺得Uno的硬件資源無法滿足你的需求,,那么你可以嘗試一下Mega,當(dāng)然價格也會比Uno要更高一些,。




Arduino Nano


這個可以說是Uno的簡版,,優(yōu)先考慮了體積上的優(yōu)化,盡量將體積做到最小,,可以滿足一些手持設(shè)備或體型微小的設(shè)備使用,。當(dāng)然性能上相比Uno也略有縮水。



也許有些心急的朋友已經(jīng)要問了:哪一款可以控制步進電機,?哪一款可以實現(xiàn)無線通信,?哪一款可以演奏音樂……


如果我告訴你都不可以,你會不會很失望,?


Arduino作為一種控制芯片,,所起的作用類似于我們的大腦,大腦是無法自行運動或是發(fā)聲的,。大腦所起的作用類似于指揮官,,Arduino也是如此,想要做一些實際任務(wù),,離不開外圍電路的支持,。


很多人又要頭痛了,,電子電路完全不懂怎么辦?其實現(xiàn)在這一點也已經(jīng)不是什么大問題,。對于電子專業(yè)的學(xué)生,,或是想要學(xué)習(xí)電子電路的愛好者,當(dāng)然要一切靠自己,,查資料,,買元件,做PCB板,,焊電路……這其中當(dāng)然會有很多辛苦,,可其中學(xué)到的知識無疑也是裝入自己口袋的。


如果不想在電子電路方面花費太多的精力,,也沒有問題?,F(xiàn)在很多廠商也開發(fā)了各種各樣的Arduino外圍功能電路,無論是電機驅(qū)動,、無線通信,、音樂播放,,還是讀取各種各樣物理信號的傳感器(壓力,、速度、傾角,、方向等等),,都應(yīng)有盡有,而且使用方便,,可以直接連到Arduino控制板上工作,。



          電機驅(qū)動板                    藍(lán)牙模塊



霍爾傳感器                光敏傳感器          煙霧傳感器




說完了硬件,那么我們接下來談?wù)労芏嗳硕碱^痛不已的軟件開發(fā)吧,。Arduino的代碼結(jié)構(gòu)和一般的嵌入式代碼結(jié)構(gòu)略有不同,,一般的嵌入式代碼都是main函數(shù)中一個死循環(huán),程序不斷的反復(fù)執(zhí)行,,單片機在每個循環(huán)內(nèi)讀取各個外部端口的數(shù)據(jù),,然后根據(jù)這些數(shù)據(jù)來做出相應(yīng)的策略判斷,把指令再通過外部端口傳出去,,達(dá)到控制外部設(shè)備的目的,。


Arduino的程序運行方式與此差不多,只是代碼結(jié)構(gòu)略有不同,。Arduino代碼中沒有main函數(shù),,而是使用了兩個不同的必備函數(shù):


Void setup()


{



}



Void loop()


{



}


相信很多朋友已經(jīng)猜出來了,Arduino代碼是把初始化的代碼放在了setup函數(shù)中,,而把需要不斷循環(huán)執(zhí)行的代碼放在了loop函數(shù)中,。與傳統(tǒng)的嵌入式程序雖然結(jié)構(gòu)不同,,但設(shè)計思想還是一致的。




開發(fā)環(huán)境軟件截圖(此開發(fā)環(huán)境可以在Arduino網(wǎng)站上免費下載)



Arduino的代碼語法與C++類似,,也包含了類和對象的支持,。即便是沒有任何代碼編寫的基礎(chǔ),也可以很快上手,。關(guān)于Arduino的代碼編寫,,無論是Arduino的官方網(wǎng)站,還是網(wǎng)絡(luò)上都有了相當(dāng)豐富的資料,,這里不再累述,。


很多Arduino制作還要涉及另外一種程序的編寫,便是上位機程序,。一般是PC端的程序,,你可以采用任何你所熟悉的高級語言進行開發(fā),接收Arduino控制板所傳遞過來的數(shù)據(jù)(串口傳輸),,在屏幕上顯示輸出或?qū)懭胛募?/font>VB,、VC++Delphi,、Flash script,、Processing等等都能滿足你的要求。




一個通過上位機程序控制外部電路燈的顏色



Arduino控制板 + 外圍電路 + 程序編寫 = 整個世界,!



Arduino制作的游戲手柄

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點,。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多