我相信所有嵌入式和創客DIY的人都對Arduino有所了解,但是Arduino到底是什麼?Arduino和單片機的關系是什麼?這篇就來好好說說,讓剛接觸的人有一些了解。
一、初識Arduino
Arduino是一款火遍全球的開源電子原型平台。創客和電子科技愛好者可以發揮自己無窮的想象力與創造力,結合Arduino與各種傳感器,設計開發出各種有趣好玩或實用的作品。Arduino平台的基礎其實就是AVR指令集的單片機。
1、什麼是單片機?
官方的解釋裡單片機就是一台能夠工作的計算機包含以下幾個部份:中央處理單元CPU(進行運算、控制)、随機存儲器RAM(資料存儲)、存儲器ROM(程式存儲)、輸入/輸出裝置I/O(串行口、并行輸出口等)。在個人計算機(PC)上這些部份被分成若幹塊晶片,安裝在一個被稱之為主機闆的印刷線路闆上。而在單片機中,這些部份全部被做到一塊內建電路晶片中了,是以就稱為單片(單晶片)機,而且有一些單片機中除了上述部份外,還內建了其它部份如模拟量/數字量轉換(A/D)和數字量/模拟量轉換(D/A)等。目前為止最常用的就是51單片機和32單片機。
2、單片機有什麼用?
單片機的使用領域已十分廣泛,如儀器儀表、家用電器、醫用裝置、航空航天、專用裝置的智能化管理及過程控制等領域。各種産品一旦用上了單片機,就能起到使産品更新換代的功效,常在産品名稱前冠以形容詞——“智能型”,如智能型洗衣機等。目前單片機滲透到我們生活的各個領域,幾乎很難找到哪個領域沒有單片機的蹤迹。
3、什麼是Arduino?
Arduino是一款便捷靈活、友善上手的開源電子原型平台。包含硬體(各種型号的Arduino闆)和軟體(ArduinoIDE)。由一個歐洲開發團隊于2005年冬季開發。其成員包括Massimo Banzi、David Cuartielles、Tom Igoe、Gianluca Martino、David Mellis和Nicholas Zambetti等。
它建構于開放原始碼simple I/O介面版,并且具有使用類似Java、C語言的Processing/Wiring開發環境。主要包含兩個的部分:硬體部分是可以用來做電路連接配接的Arduino電路闆;另外一個則是Arduino IDE,你的計算機中的程式開發環境。你隻要在IDE中編寫程式代碼,将程式上傳到Arduino電路闆後,程式便會告訴Arduino電路闆要做些什麼了。
Arduino能通過各種各樣的傳感器來感覺環境,通過控制燈光、馬達和其他的裝置來回報、影響環境。闆子上的微控制器可以通過Arduino的程式設計語言來編寫程式,編譯成二進制檔案,收錄進微控制器。基于Arduino的項目,可以隻包含Arduino,還可以包含Arduino和其他一些在PC上運作的軟體,他們之間進行通信 (比如 Flash, Processing, MaxMSP)來實作。
二、Arduino種類
因為目前Arduino行業的火爆,導緻各種開發闆讓人看得頭昏眼花。這裡我就來簡單的講解幾種Arduino開發闆。
要區分這麼多闆子,挑選合适的Arduino,主要看以下三個方面:性能、特性以及尺寸。
首先看性能。即處理器記憶體、時鐘頻率以及位寬。硬體處理能力通常完全取決于這塊闆子的晶片,同時晶片也限制了能夠運作的軟體。
其次看特性。包括所有闆子上除微處理器之外的所有東西,例如輸入/輸出針腳,內建元器件(按鈕、LED、電機驅動等)以及可用接口的種類和數量(USB、以太網等)。
最後看尺寸。由于項目性質不同,其留給電子部分的體積和重量也大相徑庭。
以下就是我認為最常見的幾種開發闆。
1.Arduino Uno
處理器: ATmega328 (8位 CPU, 16MHz 時鐘頻率, 2KB SRAM, 32KB 閃存)
特性: 14 個數字 I/O 口, 6 個模拟輸入口, 可更換處理器設計
尺寸: 75 x 55mm
價格:适中
2.Arduino Leonardo
處理器: ATmega32u4 (8位 CPU, 16MHz 時鐘頻率, 2.5KB SRAM, 32KB 閃存)
特性: 20 個數字 I/O 口, 其中12 個可作為模拟口, 原生支援USB
尺寸: 75 x 55mm
價格: 适中
3.Arduino nano
Arduino Nano 是一款小巧的,可以在面包闆使用的CPU,ATmega328P産品。提供與UNO闆子一樣的外部連接配接特性,并且也具有外部的插腳接口。UNO是意大利語,是一的意思,即Arduino UNO是Arduino的第一個控制闆子。Arduino Nano字面翻譯Nano是侏儒的意思,即是一個個頭很小的闆子。
價格:适中
4. Arduino Mega 2560
Arduino Mega 2560是基于ATmega2560的微控制闆,有54路數字輸入/輸出端口(其中15個可以作為PWM輸出),16路模拟輸入端口,4路UART序列槽,16MHz的晶振,USB連接配接口,電池接口,ICSP頭和複位按鈕。簡單地用USB連接配接電腦或者用交直流變壓器就能使用。Mega 2560 是Arduino Mega系列的更新版。Mega 2560與之前的闆子(最大)不同在于:它沒用FTDI USB-to-serial驅動晶片,而是用ATmega16U2程式設計作為USB-to-serial傳輸器(V1版本使用8U2)。
價格:略高
三、Arduino編譯環境下載下傳安裝
1.安裝包下載下傳(推薦)
下載下傳位址:https://download.csdn.net/download/qq_44629109/12691404
2.官網下載下傳
下載下傳位址:
2.認識Arduino IDE
我們先簡單認識一下Arduino的這個編譯器,以後可是要經常和它打交道的。
https://www.arduino.cc/en/Main/Software
安裝的過程,基本上都一路“Next”下去就行了,很容易。
四、認識Arduino IDE
本次舉例的項目就是在Arduino UNO闆上點亮13号引腳的LED燈,然後一秒閃一秒滅,做出一個閃爍的點燈程式。初學者建議Arduino UNO型号的控制闆因為比較穩定,而且按照上面步驟也已經部署好了Arduino開發環境,安裝好USB驅動。
1.連接配接Arduino控制闆和電腦
将USB線一端插在Arduino控制闆上,一端插在電腦的USB接口上。(注意:獨立工作時Arduino控制闆既可以選擇從USB供電, 也可以選擇用充電寶或電源擴充卡供電)
連接配接Arduino控制闆和電腦
打開Arudino IDE,就會出現Arduino IDE的編輯界面
2.認識Arduino IDE
我們先簡單認識一下Arduino的這個編譯器,以後可是要經常和它打交道的。
Arduino IDE是Arduino産品的軟體編輯環境。簡單的說就是用來寫代碼、下載下傳代碼的地方。
任何的Arduino産品都需要下載下傳代碼後才能運作。
我們所搭建的硬體電路是輔助代碼來完成的,兩者是缺一不可的。如同人通過大腦來控制肢體活動是一個道理。如果代碼就是大腦的話,外圍硬體就是肢體,肢體的活動取決于大腦,是以硬體實作取決于代碼。
Arduino IDE基本的功能區已經在上面标示出來了,上圖大部分的白色區域就是代碼的編輯區,用來輸入代碼的。注意,輸入代碼時,要切換到英文輸入法的模式。下面黑色的區域是消息提示區,會顯示編譯或者下載下傳是否通過。
3.下載下傳一個點燈程式
UNO闆上P13上有一個LED,這段測試代碼就是讓這個LED燈閃爍。
void setup() { pinMode(13, OUTPUT);}void loop() { digitalWrite(13, HIGH); // turn the LED on (HIGH is the voltage level) delay(1000); // wait for a second digitalWrite(13, LOW); // turn the LED off by making the voltage LOW delay(1000); // wait for a second }
程式在下載下傳之前,我們還要先告訴Arduino IDE,我們用的是什麼闆子以及相應的序列槽是哪個。
4.設定闆卡型号
Arduino包括多種版本的主要器,其中比較常見的是Uno、nano、Leonardo以及Mega系列的控制器。
在闆子一欄,你需要根據自己選擇的主要硬體的固件類型來選擇闆卡。(樣例中選用的以Uno為bootloader的控制器) 工具 > 闆卡 > Arduino Uno
并且要設定序列槽,工具 > 序列槽 > xx,這裡的xx要和我們電腦裝置管理器中看到的一緻。
5. 編譯上傳
上傳完畢,不出意外,我們就能在闆子上直覺地看到程式運作的效果了:
Adruino Uno闆上13号引腳的LED燈在閃爍。
喜歡就點點在看吧