歡迎來到Arduino的世界,本文主要介紹Arduino的優(yōu)勢(shì)功氨,開發(fā)所涉及的硬件分類宫患,開發(fā)語言及開發(fā)環(huán)境的下載刊懈。可登陸Arduino官網(wǎng)學(xué)習(xí)了解更多Arduino信息娃闲。
什么是Arduino
Arduino 是一款便捷靈活虚汛、方便上手的開源電子原型平臺(tái),包含硬件(各種型號(hào)的arduino板)和軟件(arduino IDE)皇帮,她適用于藝術(shù)家卷哩、設(shè)計(jì)師、愛好者和對(duì)于“互動(dòng)”有興趣的朋友們属拾。
Arduino能通過各種各樣的傳感器來感知環(huán)境将谊,通過控制燈光冷溶、馬達(dá)和其他的裝置來反饋、影響環(huán)境尊浓。板子上的微控制器可以通過Arduino的編程語言來編寫程序逞频,編譯成二進(jìn)制文件,燒錄進(jìn)微控制器栋齿。
對(duì)Arduino的編程是利用 Arduino編程語言 (基于 Wiring)和Arduino開發(fā)環(huán)境(based on Processing)來實(shí)現(xiàn)的苗胀。基于Arduino的項(xiàng)目瓦堵,可以只包含Arduino基协,也可以包含Arduino和其他一些在PC上運(yùn)行的軟件,他們之間進(jìn)行通信 (比如 Flash, Processing, MaxMSP)來實(shí)現(xiàn)谷丸。
你可以自己動(dòng)手制作堡掏,也可以購買成品套裝。Arduino所使用到的軟件都可以免費(fèi)下載刨疼。硬件參考設(shè)計(jì) (CAD 文件)也是遵循availableopen-source協(xié)議, 你可以非常自由地根據(jù)要求去修改他們。
Arduino的優(yōu)勢(shì)
目前市場(chǎng)上還有許多其他的單片機(jī)和單片機(jī)平臺(tái)鹅龄,例如51單片機(jī)揩慕、STM32單片機(jī)等。但他們對(duì)于普通開發(fā)者來說門檻相對(duì)較高扮休,需要有一定編程和硬件相關(guān)基礎(chǔ)迎卤,內(nèi)部寄存器較為繁雜,主流開發(fā)環(huán)境Keil配置相對(duì)麻煩玷坠,特別是對(duì)于STM32的開發(fā)蜗搔,即使使用官方庫也少不了環(huán)境配置,還有就是開發(fā)環(huán)境是收費(fèi)的八堡。
Arduino不但簡(jiǎn)化了使用單片機(jī)工作的流程樟凄,同時(shí)還為教師、學(xué)生以及興趣愛好者提供了一些其他系統(tǒng)不具備的優(yōu)勢(shì):
- 便宜兄渺。相比于其他單片機(jī)平臺(tái)而言缝龄,Arduino生態(tài)的各種開發(fā)板性價(jià)比相對(duì)較高。
- 跨平臺(tái)挂谍。Arduino軟件(IDE)能在Windows叔壤、Mac OS X和Linux操作系統(tǒng)中運(yùn)行,而大多數(shù)其他單片機(jī)系統(tǒng)僅限于在Windows操作系統(tǒng)中運(yùn)行口叙。
- 開發(fā)環(huán)境簡(jiǎn)單炼绘。Arduino的編程環(huán)境易于初學(xué)者使用,同時(shí)對(duì)高級(jí)用戶來講也足夠靈活妄田,其安裝和操作都非常簡(jiǎn)單俺亮。
- 開源可擴(kuò)展驮捍。Arduino軟件硬件都是開源的,開發(fā)者可以對(duì)軟件庫進(jìn)行擴(kuò)展铅辞,也可以下載到千千萬萬的軟件庫來實(shí)現(xiàn)自己的功能厌漂。Arduino允許開發(fā)者對(duì)硬件電路進(jìn)行修改和擴(kuò)展來滿足不同的需求。
Arduino開發(fā)板類型
Arduino生態(tài)包括多種開發(fā)板斟珊、模塊苇倡、擴(kuò)展板、工具和配件囤踩。官方將其大致分為五類:入門級(jí)旨椒、網(wǎng)絡(luò)版、物聯(lián)網(wǎng)版堵漱、教育版综慎、可穿戴版。具體可從官網(wǎng)查看Arduino開發(fā)板類型勤庐。
其中入門級(jí)開發(fā)板易于使用示惊。建議初學(xué)者使用入門級(jí)如Arduino UNO R3。
Arduino開發(fā)語言
Arduino使用C/C++編寫程序愉镰,雖然C++兼容C語言米罚,但這是兩種語言,C語言是一種面向過程的編程語言丈探,C++是一種面向?qū)ο蟮木幊陶Z言录择。早期的Arduino核心庫使用C語言編寫,后來引進(jìn)了面向?qū)ο蟮乃枷胪虢担壳白钚碌腁rduino核心庫采用C與C++混合編寫而成隘竭。
通常我們說的Arduino語言,是指Arduino核心庫文件提供的各種應(yīng)用程序編程接口(Application Programming Interface讼渊,簡(jiǎn)稱API)的集合动看。這些API是對(duì)更底層的單片機(jī)支持庫進(jìn)行二次封裝所形成的。例如精偿,使用AVR單片機(jī)的Arduino的核心庫是對(duì)AVR-Libc(基于GCC的AVR支持庫)的二次封裝弧圆。
傳統(tǒng)開發(fā)方式中,需要通過配置多個(gè)寄存器來實(shí)現(xiàn)相應(yīng)功能笔咽,而在Arduino中搔预,繁雜的寄存器被封裝成簡(jiǎn)單的API整吆,能進(jìn)行直觀控制褒脯,增強(qiáng)程序的可讀性的同時(shí)也提高了開發(fā)效率。
Arduino開發(fā)環(huán)境
Arduino開發(fā)環(huán)境IDE可從官網(wǎng)進(jìn)行下載垃瞧,支持Windows甩十、Mac OS X船庇、Linux不同平臺(tái)吭产,對(duì)應(yīng)PC平臺(tái)進(jìn)行下載。IDE下載地址
當(dāng)前最新版本為1.8.5鸭轮。我的電腦為Windows系統(tǒng)臣淤,Windows版本有三種下載方式,選擇一種下載即可窃爷。
關(guān)于IDE軟件的介紹將在下一節(jié)中詳細(xì)介紹邑蒋。