歡迎來到Arduino的世界,本文主要介紹Arduino的優勢,開發所涉及的硬體分類,開發語言及開發環境的下載。可登陸Arduino官網(https://www.arduino.cc),學習了解更多Arduino信息。
Arduino 是一款便捷靈活、方便上手的開源電子原型平臺,包含硬體(各種型號的arduino板)和軟體(arduino IDE),她適用於藝術家、設計師、愛好者和對於「互動」有興趣的朋友們。
Arduino能通過各種各樣的傳感器來感知環境,通過控制燈光、馬達和其他的裝置來反饋、影響環境。板子上的微控制器可以通過Arduino的程式語言來編寫程序,編譯成二進位文件,燒錄進微控制器。
對Arduino的編程是利用 Arduino程式語言 (基於 Wiring)和Arduino開發環境(based on Processing)來實現的。基於Arduino的項目,可以只包含Arduino,也可以包含Arduino和其他一些在PC上運行的軟體,他們之間進行通信 (比如 Flash, Processing, MaxMSP)來實現。
你可以自己動手製作,也可以購買成品套裝。Arduino所使用到的軟體都可以免費下載。硬體參考設計 (CAD 文件)也是遵循availableopen-source協議, 你可以非常自由地根據要求去修改他們。
目前市場上還有許多其他的單片機和單片機平臺,例如51單片機、STM32單片機等。但他們對於普通開發者來說門檻相對較高,需要有一定編程和硬體相關基礎,內部寄存器較為繁雜,主流開發環境Keil配置相對麻煩,特別是對於STM32的開發,即使使用官方庫也少不了環境配置,還有就是開發環境是收費的。
Arduino不但簡化了使用單片機工作的流程,同時還為教師、學生以及興趣愛好者提供了一些其他系統不具備的優勢:
Arduino生態包括多種開發板、模塊、擴展板、工具和配件。官方將其大致分為五類:入門級、網絡版、物聯網版、教育版、可穿戴版。具體可從官網查看Arduino開發板類型(https://www.arduino.cc/en/Main/Products)。
其中入門級開發板易於使用。建議初學者使用入門級如Arduino UNO R3。
Arduino使用C/C++編寫程序,雖然C++兼容C語言,但這是兩種語言,C語言是一種面向過程的程式語言,C++是一種面向對象的程式語言。早期的Arduino核心庫使用C語言編寫,後來引進了面向對象的思想,目前最新的Arduino核心庫採用C與C++混合編寫而成。
通常我們說的Arduino語言,是指Arduino核心庫文件提供的各種應用程式編程接口(Application Programming Interface,簡稱API)的集合。這些API是對更底層的單片機支持庫進行二次封裝所形成的。例如,使用AVR單片機的Arduino的核心庫是對AVR-Libc(基於GCC的AVR支持庫)的二次封裝。
傳統開發方式中,需要通過配置多個寄存器來實現相應功能,而在Arduino中,繁雜的寄存器被封裝成簡單的API,能進行直觀控制,增強程序的可讀性的同時也提高了開發效率。
Arduino開發環境IDE可從官網進行下載,支持Windows/Mac OS X/Linux不同平臺,對應PC平臺進行下載,IDE下載地址(https://www.arduino.cc/en/Main/Software) 。
當前最新版本為1.8.5。我的電腦為Windows系統,Windows版本有三種下載方式,選擇一種下載即可。
關於IDE軟體的介紹將在下一節中詳細介紹。