【Arduino 必看】Arduino的優(yōu)勢以及未來(lái)趨勢詳解
Arduino是一款便捷靈活、方便上手的開(kāi)源電子原型平臺。包含硬件(各種型號的Arduino板)和軟件(Arduino IDE)。由一個(gè)歐洲開(kāi)發(fā)團隊于2005年冬季開(kāi)發(fā)。其成員包括Massimo Banzi、David CuarTIelles、Tom Igoe、Gianluca MarTIno、David Mellis和Nicholas ZambetTI等。
它構建于開(kāi)放原始碼simple I/O介面版,并且具有使用類(lèi)似Java、C語(yǔ)言的Processing/Wiring開(kāi)發(fā)環(huán)境。主要包含兩個(gè)主要的部分:硬件部分是可以用來(lái)做電路連接的Arduino電路板;另外一個(gè)則是Arduino IDE,你的計算機中的程序開(kāi)發(fā)環(huán)境。你只要在IDE中編寫(xiě)程序代碼,將程序上傳到Arduino電路板后,程序便會(huì )告訴Arduino電路板要做些什么了。
arduino是什么?
Arduino能通過(guò)各種各樣的傳感器來(lái)感知環(huán)境,通過(guò)控制燈光、馬達和其他的裝置來(lái)反饋、影響環(huán)境。板子上的微控制器可以通過(guò)Arduino的編程語(yǔ)言來(lái)編寫(xiě)程序,編譯成二進(jìn)制文件,燒錄進(jìn)微控制器。對Arduino的編程是通過(guò) Arduino編程語(yǔ)言 (基于 Wiring)和Arduino開(kāi)發(fā)環(huán)境(基于 Processing)來(lái)實(shí)現的?;?/span>Arduino的項目,可以只包含Arduino,也可以包含Arduino和其他一些在PC上運行的軟件,他們之間進(jìn)行通信 (比如 Flash, Processing, MaxMSP)來(lái)實(shí)現。
Arduino功能特點(diǎn)有什么?
Arduino在開(kāi)發(fā)之初,就明確了其應用環(huán)境,設計了開(kāi)源開(kāi)放的平臺,便于對其進(jìn)行二次開(kāi)發(fā)。Arduino的主要功能特點(diǎn)如下:
1)開(kāi)放源代碼的電路圖設計。程序開(kāi)發(fā)接口免費下載,也可依需求自己修改。
2)使用低價(jià)格的微處理控制器(ATmega8或ATmega128)??梢圆捎?/span>USB接口供電,不需外接電源,也可以使用外部9VDC輸入。
3)支持ISP線(xiàn)上燒入器,將Bootloader固件燒入芯片。Arduino控制器內帶Bootloader程序,是系統上電后運行的第一段代碼,就好比PC機BIOS中的程序,啟動(dòng)就進(jìn)行自檢,配置端口等等,當然,單片機是靠燒寫(xiě)熔絲位來(lái)設定上電從boot區啟動(dòng)的,使用這個(gè)程序就可以直接把從串口發(fā)來(lái)的程序存放到flash區中。所以,使用Arduino編譯環(huán)境下載程序時(shí),就先讓單片機復位,啟動(dòng)Boodoader程序引導串口發(fā)過(guò)來(lái)的程序順利寫(xiě)入flash區中,flash可以重復燒寫(xiě),因此想更新軟件非常方便。有了Bootloader之后,可以通過(guò)串口或者USB to RS232線(xiàn)更新固件。
4)可依據官方提供的PCB和SCH電路圖,簡(jiǎn)化Arduino模組,完成獨立運作的微處理控制。
5)可簡(jiǎn)單地與傳感器,各式各樣的電子元件連接,如紅外線(xiàn)、超音波、熱敏電阻、光敏電阻、伺服馬達等。
6)支持多樣的互動(dòng)程序,如Flash,Max/MSP,VVVV,PurEDAta,C,Processin等。使用低價(jià)格的微處理控制器。
7)應用方面,利用hrduino,突破以往只能使用鼠標、鍵盤(pán)、CCD等輸入的裝置的互動(dòng)內容,可以更簡(jiǎn)單地達成單人或多人游戲互動(dòng)。Ard uino的功能特點(diǎn),使其得到了越來(lái)越廣泛的應用。
Arduino基本結構?
1)1個(gè)9V DC輸入,為Arduino板提供外部電源輸出,使Arduino控制板具有能夠驅動(dòng)舵機等大功率外部設備的能力;
2)1個(gè)USB口,通過(guò)該口連接到計算機,由Arduino的IDE將用戶(hù)編寫(xiě)好的控制程序上傳到控制板中,同時(shí)還可以通過(guò)該口為電路板供電,驅動(dòng)小功率的外部設備;
3)14個(gè)數字輸入/輸出端,其中端口0(RX)和1(TX)分別連接主控芯片的串行引腳,用來(lái)接收和發(fā)送TTL串行數據。其中端口2、3可以接收外部信號,實(shí)現外部中斷功能;端口3、5、6、9、10、11作為PWM端口,可用于電機PWM調速[5]或音樂(lè )播放;端口10(SS)、11(MOSI)、12(MISO)和13(SCK)在SPI模塊庫的支持下,可以提供SPI通信模式;端口13內部連接了一個(gè)LED指示燈,隨著(zhù)13腳上電平的高低變化,實(shí)現開(kāi)啟和關(guān)閉;
4)6個(gè)模擬輸入/輸出端,其中端口4(SDA)和端口5(SCL)端口可以實(shí)現I2C通信;
5)1個(gè)5 V DC輸出和1個(gè)3.3 V DC輸出,可為其它電路提高3.3 V和5 V直流電源;
6)1個(gè)復位接口。
Arduino系統是基于單片機開(kāi)發(fā)的,并且大量應用通用和標準的電子元器件,包括硬件和軟件在內的整個(gè)設計,代碼均采用開(kāi)源方式發(fā)布,因此采購的成本較低,在各種電子制作競賽、電子藝術(shù)品創(chuàng )意設計等越來(lái)越多地使用Arduino作為開(kāi)發(fā)平臺。
Arduino有什么優(yōu)點(diǎn)?
1)跨平臺
Arduino IDE可以在Windows、Macintosh OSX、Linux三大主流操作系統上運行,而其他的大多數控制器只能在Windows上開(kāi)發(fā)。
2)簡(jiǎn)單清晰的開(kāi)發(fā)
Arduino IDE基于processing IDE開(kāi)發(fā)。對于初學(xué)者來(lái)說(shuō),極易掌握,同時(shí)有著(zhù)足夠的靈活性。Arduino語(yǔ)言基于wiring語(yǔ)言開(kāi)發(fā),是對 AVRGCC庫的二次封裝,不需要太多的單片機基礎、編程基礎,簡(jiǎn)單學(xué)習后,你也可以快速的進(jìn)行開(kāi)發(fā)。
3)開(kāi)放性
Arduino的硬件原理圖、電路圖、IDE軟件及核心庫文件都是開(kāi)源的,在開(kāi)源協(xié)議范圍內里可以任意修改原始設計及相應代碼。
4)社區與第三方支持
Arduino有著(zhù)眾多的開(kāi)發(fā)者和用戶(hù),你可以找到他們提供的眾多開(kāi)源的示例代碼、硬件設計。例如,可以在Github.com、Arduino.cc、Openjumper.com等網(wǎng)站找到Arduino第三方硬件、外設、類(lèi)庫等支持,更快更簡(jiǎn)單的擴展你的Arduino項目。
當然,一些的理論,都要通過(guò)實(shí)踐來(lái)驗證、實(shí)現,推薦一個(gè)平臺:
https://auth.tuya.com/?_source=32fe8c33b5a2a7c071f562063e20fd8a
_source=32fe8c33b5a2a7c071f562063e20fd8a
還在學(xué)校的時(shí)候就用它開(kāi)發(fā)過(guò)不少作品,平臺上還有sdk和電路原理圖可以查看,自己DIY智能硬件非常方便,如果你在學(xué)習的時(shí)候,就能借助平臺開(kāi)發(fā)一些作品,對你之后不管是面試求職還是進(jìn)一步做研究,都是非常有幫助的!
硬件開(kāi)發(fā)的發(fā)展趨勢:
Arduino不僅僅是全球最流行的開(kāi)源硬件,也是一個(gè)優(yōu)秀的硬件開(kāi)發(fā)平臺,更是硬件開(kāi)發(fā)的趨勢。Arduino簡(jiǎn)單的開(kāi)發(fā)方式使得開(kāi)發(fā)者更關(guān)注創(chuàng )意與實(shí)現,更快的完成自己的項目開(kāi)發(fā),大大節約了學(xué)習的成本,縮短了開(kāi)發(fā)的周期。
*博客內容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀(guān)點(diǎn),如有侵權請聯(lián)系工作人員刪除。