Arduino是一款便捷靈活捌蚊、方便上手的開(kāi)源電子原型平臺(tái)枢步。包含硬件(各種型號(hào)的Arduino板)和軟件(Arduino IDE)乾忱。由一個(gè)歐洲開(kāi)發(fā)團(tuán)隊(duì)于2005年冬季開(kāi)發(fā)屉更。其成員包括Massimo Banzi彤守、David CuarTIelles漩氨、Tom Igoe、Gianluca MarTIno遗增、David Mellis和Nicholas ZambetTI等叫惊。
它構(gòu)建于開(kāi)放原始碼simple I/O介面版,并且具有使用類似Java做修、C語(yǔ)言的Processing/Wiring開(kāi)發(fā)環(huán)境霍狰。主要包含兩個(gè)主要的部分:硬件部分是可以用來(lái)做電路連接的Arduino電路板抡草;另外一個(gè)則是Arduino IDE,你的計(jì)算機(jī)中的程序開(kāi)發(fā)環(huán)境蔗坯。你只要在IDE中編寫(xiě)程序代碼康震,將程序上傳到Arduino電路板后,程序便會(huì)告訴Arduino電路板要做些什么了宾濒。
?
arduino是什么腿短?
Arduino能通過(guò)各種各樣的傳感器來(lái)感知環(huán)境,通過(guò)控制燈光绘梦、馬達(dá)和其他的裝置來(lái)反饋橘忱、影響環(huán)境。板子上的微控制器可以通過(guò)Arduino的編程語(yǔ)言來(lái)編寫(xiě)程序卸奉,編譯成二進(jìn)制文件钝诚,燒錄進(jìn)微控制器。對(duì)Arduino的編程是通過(guò)?Arduino編程語(yǔ)言 (基于?Wiring)和Arduino開(kāi)發(fā)環(huán)境(基于?Processing)來(lái)實(shí)現(xiàn)的榄棵∧模基于Arduino的項(xiàng)目,可以只包含Arduino疹鳄,也可以包含Arduino和其他一些在PC上運(yùn)行的軟件拧略,他們之間進(jìn)行通信 (比如?Flash,?Processing瘪弓,?MaxMSP)來(lái)實(shí)現(xiàn)垫蛆。
Arduino功能特點(diǎn)有什么?
Arduino在開(kāi)發(fā)之初杠茬,就明確了其應(yīng)用環(huán)境月褥,設(shè)計(jì)了開(kāi)源開(kāi)放的平臺(tái),便于對(duì)其進(jìn)行二次開(kāi)發(fā)瓢喉。Arduino的主要功能特點(diǎn)如下:
1)開(kāi)放源代碼的電路圖設(shè)計(jì)宁赤。程序開(kāi)發(fā)接口免費(fèi)下載,也可依需求自己修改栓票。
2)使用低價(jià)格的微處理控制器(ATmega8或ATmega128)决左。可以采用USB接口供電走贪,不需外接電源佛猛,也可以使用外部9VDC輸入。
3)支持ISP線上燒入器坠狡,將Bootloader固件燒入芯片继找。Arduino控制器內(nèi)帶Bootloader程序,是系統(tǒng)上電后運(yùn)行的第一段代碼逃沿,就好比PC機(jī)BIOS中的程序婴渡,啟動(dòng)就進(jìn)行自檢幻锁,配置端口等等,當(dāng)然边臼,單片機(jī)是靠燒寫(xiě)熔絲位來(lái)設(shè)定上電從boot區(qū)啟動(dòng)的哄尔,使用這個(gè)程序就可以直接把從串口發(fā)來(lái)的程序存放到flash區(qū)中。所以柠并,使用Arduino編譯環(huán)境下載程序時(shí)岭接,就先讓單片機(jī)復(fù)位,啟動(dòng)Boodoader程序引導(dǎo)串口發(fā)過(guò)來(lái)的程序順利寫(xiě)入flash區(qū)中臼予,flash可以重復(fù)燒寫(xiě)鸣戴,因此想更新軟件非常方便。有了Bootloader之后瘟栖,可以通過(guò)串口或者USB to RS232線更新固件葵擎。
4)可依據(jù)官方提供的PCB和SCH電路圖谅阿,簡(jiǎn)化Arduino模組半哟,完成獨(dú)立運(yùn)作的微處理控制。
5)可簡(jiǎn)單地與傳感器签餐,各式各樣的電子元件連接寓涨,如紅外線、超音波氯檐、熱敏電阻戒良、光敏電阻、伺服馬達(dá)等冠摄。
6)支持多樣的互動(dòng)程序糯崎,如Flash,Max/MSP河泳,VVVV沃呢,PurEDAta,C拆挥,Processin等薄霜。使用低價(jià)格的微處理控制器。
7)應(yīng)用方面纸兔,利用hrduino惰瓜,突破以往只能使用鼠標(biāo)、鍵盤(pán)汉矿、CCD等輸入的裝置的互動(dòng)內(nèi)容崎坊,可以更簡(jiǎn)單地達(dá)成單人或多人游戲互動(dòng)。Ard uino的功能特點(diǎn)洲拇,使其得到了越來(lái)越廣泛的應(yīng)用奈揍。
Arduino基本結(jié)構(gòu)?
1)1個(gè)9V DC輸入痹届,為Arduino板提供外部電源輸出,使Arduino控制板具有能夠驅(qū)動(dòng)舵機(jī)等大功率外部設(shè)備的能力打月;
2)1個(gè)USB口队腐,通過(guò)該口連接到計(jì)算機(jī),由Arduino的IDE將用戶編寫(xiě)好的控制程序上傳到控制板中奏篙,同時(shí)還可以通過(guò)該口為電路板供電柴淘,驅(qū)動(dòng)小功率的外部設(shè)備;
3)14個(gè)數(shù)字輸入/輸出端秘通,其中端口0(RX)和1(TX)分別連接主控芯片的串行引腳为严,用來(lái)接收和發(fā)送TTL串行數(shù)據(jù)。其中端口2肺稀、3可以接收外部信號(hào)第股,實(shí)現(xiàn)外部中斷功能;端口3话原、5夕吻、6、9繁仁、10涉馅、11作為PWM端口,可用于電機(jī)PWM調(diào)速[5]或音樂(lè)播放黄虱;端口10(SS)稚矿、11(MOSI)、12(MISO)和13(SCK)在SPI模塊庫(kù)的支持下捻浦,可以提供SPI通信模式晤揣;端口13內(nèi)部連接了一個(gè)LED指示燈,隨著13腳上電平的高低變化朱灿,實(shí)現(xiàn)開(kāi)啟和關(guān)閉昧识;
4)6個(gè)模擬輸入/輸出端,其中端口4(SDA)和端口5(SCL)端口可以實(shí)現(xiàn)I2C通信母剥;
5)1個(gè)5 V DC輸出和1個(gè)3.3 V DC輸出滞诺,可為其它電路提高3.3 V和5 V直流電源;
6)1個(gè)復(fù)位接口环疼。
Arduino系統(tǒng)是基于單片機(jī)開(kāi)發(fā)的习霹,并且大量應(yīng)用通用和標(biāo)準(zhǔn)的電子元器件,包括硬件和軟件在內(nèi)的整個(gè)設(shè)計(jì)炫隶,代碼均采用開(kāi)源方式發(fā)布淋叶,因此采購(gòu)的成本較低,在各種電子制作競(jìng)賽伪阶、電子藝術(shù)品創(chuàng)意設(shè)計(jì)等越來(lái)越多地使用Arduino作為開(kāi)發(fā)平臺(tái)煞檩。
Arduino有什么優(yōu)點(diǎn)处嫌?
1)跨平臺(tái)
Arduino IDE可以在Windows、Macintosh OSX斟湃、Linux三大主流操作系統(tǒng)上運(yùn)行熏迹,而其他的大多數(shù)控制器只能在Windows上開(kāi)發(fā)。
2)簡(jiǎn)單清晰的開(kāi)發(fā)
Arduino IDE基于processing IDE開(kāi)發(fā)凝赛。對(duì)于初學(xué)者來(lái)說(shuō)注暗,極易掌握,同時(shí)有著足夠的靈活性墓猎。Arduino語(yǔ)言基于wiring語(yǔ)言開(kāi)發(fā)捆昏,是對(duì)?AVRGCC庫(kù)的二次封裝,不需要太多的單片機(jī)基礎(chǔ)毙沾、編程基礎(chǔ)骗卜,簡(jiǎn)單學(xué)習(xí)后,你也可以快速的進(jìn)行開(kāi)發(fā)左胞。
3)開(kāi)放性
Arduino的硬件原理圖寇仓、電路圖、IDE軟件及核心庫(kù)文件都是開(kāi)源的罩句,在開(kāi)源協(xié)議范圍內(nèi)里可以任意修改原始設(shè)計(jì)及相應(yīng)代碼焚刺。
4)社區(qū)與第三方支持
Arduino有著眾多的開(kāi)發(fā)者和用戶敛摘,你可以找到他們提供的眾多開(kāi)源的示例代碼门烂、硬件設(shè)計(jì)。例如兄淫,可以在Github.com屯远、Arduino.cc、Openjumper.com等網(wǎng)站找到Arduino第三方硬件捕虽、外設(shè)慨丐、類庫(kù)等支持,更快更簡(jiǎn)單的擴(kuò)展你的Arduino項(xiàng)目泄私。
當(dāng)然房揭,一些的理論,都要通過(guò)實(shí)踐來(lái)驗(yàn)證晌端、實(shí)現(xiàn)捅暴,推薦一個(gè)平臺(tái):
https://auth.tuya.com/?_source=32fe8c33b5a2a7c071f562063e20fd8a? ? ? ??
還在學(xué)校的時(shí)候就用它開(kāi)發(fā)過(guò)不少作品,平臺(tái)上還有sdk和電路原理圖可以查看咧纠,自己DIY智能硬件非常方便蓬痒,如果你在學(xué)習(xí)的時(shí)候,就能借助平臺(tái)開(kāi)發(fā)一些作品漆羔,對(duì)你之后不管是面試求職還是進(jìn)一步做研究梧奢,都是非常有幫助的狱掂!
硬件開(kāi)發(fā)的發(fā)展趨勢(shì):
?
Arduino不僅僅是全球最流行的開(kāi)源硬件,也是一個(gè)優(yōu)秀的硬件開(kāi)發(fā)平臺(tái)亲轨,更是硬件開(kāi)發(fā)的趨勢(shì)趋惨。Arduino簡(jiǎn)單的開(kāi)發(fā)方式使得開(kāi)發(fā)者更關(guān)注創(chuàng)意與實(shí)現(xiàn),更快的完成自己的項(xiàng)目開(kāi)發(fā)惦蚊,大大節(jié)約了學(xué)習(xí)的成本希柿,縮短了開(kāi)發(fā)的周期。