相關(guān)商品
【新奇特】Arduino為什么這么紅?(二)
編輯:Xtm2014-08-23 瀏覽次數(shù):883
今天給大家?guī)?lái)關(guān)于Arduino的不同版本的控制板設(shè)計(jì)與種類繁多的外圍電路,當(dāng)然也少不了Arduino的開發(fā)環(huán)境介紹,最后還會(huì)為大家?guī)?lái)運(yùn)用Arduino制作的游戲手柄。
Arduino并不是一成不變的,每隔一段時(shí)間,Arduino官方組織就會(huì)發(fā)布最新的設(shè)計(jì),對(duì)Arduino在原有基礎(chǔ)上進(jìn)行升級(jí),讓愛(ài)好者們更方便的使用。同時(shí),為了滿足不同層次的開發(fā)要求,Arduino也推出了不同版本的控制板設(shè)計(jì),這里我們來(lái)認(rèn)識(shí)一下使用最多的幾種設(shè)計(jì):
Arduino Uno
Uno版本應(yīng)該說(shuō)是Arduino的基礎(chǔ)板,也是初學(xué)者的第一選擇。它提供了基本的數(shù)據(jù)接口,對(duì)初學(xué)者足夠的存儲(chǔ)空間,無(wú)論是讀取傳感器,還是驅(qū)動(dòng)電機(jī),或者與電腦通信,都可以輕松的勝任。
Arduino Mega 2560
這一版可以算是Uno的升級(jí)版,各種接口的數(shù)量比Uno要多,而且其搭載的單片機(jī)型號(hào)也要比Uno的單片機(jī)更高級(jí)一些,運(yùn)算速度更快。如果你覺(jué)得Uno的硬件資源無(wú)法滿足你的需求,那么你可以嘗試一下Mega,當(dāng)然價(jià)格也會(huì)比Uno要更高一些。
Arduino Nano
這個(gè)可以說(shuō)是Uno的簡(jiǎn)版,優(yōu)先考慮了體積上的優(yōu)化,盡量將體積做到最小,可以滿足一些手持設(shè)備或體型微小的設(shè)備使用。當(dāng)然性能上相比Uno也略有縮水。
Arduino的外圍電路的支持
Arduino作為一種控制芯片,所起的作用類似于我們的大腦,大腦是無(wú)法自行運(yùn)動(dòng)或是發(fā)聲的。大腦所起的作用類似于指揮官,Arduino也是如此,想要做一些實(shí)際任務(wù),離不開外圍電路的支持。
很多人又要頭痛了,電子電路完全不懂怎么辦?其實(shí)現(xiàn)在這一點(diǎn)也已經(jīng)不是什么大問(wèn)題。對(duì)于電子專業(yè)的學(xué)生,或是想要學(xué)習(xí)電子電路的愛(ài)好者,當(dāng)然要一切靠自己,查資料,買元件,做PCB板,焊電路,這其中當(dāng)然會(huì)有很多辛苦,可其中學(xué)到的知識(shí)無(wú)疑也是裝入自己口袋的。
如果不想在電子電路方面花費(fèi)太多的精力,也沒(méi)有問(wèn)題。現(xiàn)在很多廠商也開發(fā)了各種各樣的Arduino外圍功能電路,無(wú)論是電機(jī)驅(qū)動(dòng)、無(wú)線通信、音樂(lè)播放,還是讀取各種各樣物理信號(hào)的傳感器(壓力、速度、傾角、方向等等),都應(yīng)有盡有,而且使用方便,可以直接連到Arduino控制板上工作。
電機(jī)驅(qū)動(dòng)板 藍(lán)牙模塊
霍爾傳感器 光敏傳感器 煙霧傳感器
說(shuō)完了硬件,那么我們接下來(lái)談?wù)労芏嗳硕碱^痛不已的軟件開發(fā)吧。Arduino的代碼結(jié)構(gòu)和一般的嵌入式代碼結(jié)構(gòu)略有不同,一般的嵌入式代碼都是main函數(shù)中一個(gè)死循環(huán),程序不斷的反復(fù)執(zhí)行,單片機(jī)在每個(gè)循環(huán)內(nèi)讀取各個(gè)外部端口的數(shù)據(jù),然后根據(jù)這些數(shù)據(jù)來(lái)做出相應(yīng)的策略判斷,把指令再通過(guò)外部端口傳出去,達(dá)到控制外部設(shè)備的目的。
Arduino的程序運(yùn)行方式與此差不多,只是代碼結(jié)構(gòu)略有不同。Arduino代碼中沒(méi)有main函數(shù),而是使用了兩個(gè)不同的必備函數(shù):
Arduino代碼是把初始化的代碼放在了setup函數(shù)中,而把需要不斷循環(huán)執(zhí)行的代碼放在了loop函數(shù)中。與傳統(tǒng)的嵌入式程序雖然結(jié)構(gòu)不同,但設(shè)計(jì)思想還是一致的。
開發(fā)環(huán)境軟件截圖
Arduino的代碼語(yǔ)法與C++類似,也包含了類和對(duì)象的支持。即便是沒(méi)有任何代碼編寫的基礎(chǔ),也可以很快上手。關(guān)于Arduino的代碼編寫,無(wú)論是Arduino的官方網(wǎng)站,還是網(wǎng)絡(luò)上都有了相當(dāng)豐富的資料,這里不再累述。
很多Arduino制作還要涉及另外一種程序的編寫,便是上位機(jī)程序。一般是PC端的程序,你可以采用任何你所熟悉的高級(jí)語(yǔ)言進(jìn)行開發(fā),接收Arduino控制板所傳遞過(guò)來(lái)的數(shù)據(jù)(串口傳輸),在屏幕上顯示輸出或?qū)懭胛募B、VC++、Delphi、Flash script、Processing等等都能滿足你的要求。
通過(guò)上位機(jī)程序控制外部電路燈的顏色
Arduino控制板 + 外圍電路 + 程序編寫 = 整個(gè)世界!
用Arduino制作的游戲手柄
關(guān)于Arduino的講解就到這里啦!感興趣的朋友們還可以通過(guò)奧松機(jī)器人技術(shù)論壇了解更多Arduino資訊與技術(shù)文章。
相關(guān)文章:Arduino為什么這么紅!(一)
Arduino 與 Raspberry Pi: 哪個(gè)是更適合你的DIY平臺(tái)?
那些基于Arduino/樹莓派的家庭物聯(lián)網(wǎng)項(xiàng)目
本文轉(zhuǎn)自:名稱社區(qū)
用戶評(píng)價(jià)
暫時(shí)還沒(méi)有任何用戶評(píng)論