Arduino 入門指南/什麼是 Arduino

Arduino 包含一個微控制器。微控制器演變自與摩托羅拉 6502 和英特爾 8088 等開啟個人電腦革命的微處理器相同的技術。微控制器與現代 CPU 的不同之處在於,I/O、RAM 和快閃記憶體都被整合在一個晶片上。它們被用於嵌入式應用程式,例如微波爐控制面板、印表機或汽車儀表板。微控制器以各種配置和價格出現,起價不到兩美元。DIY 社群中使用的兩個流行的微控制器公司是 Atmel 和 Microchip PIC。它們之所以受歡迎,是因為它們免費提供軟體開發環境(C 語言),並且支援擴充套件到支援 Linux。
Arduino 是開源硬體。它包含來自營利性公司的晶片。開源特性包括:
- 外形尺寸:電線連線的方式,附加產品堆疊在其上的方式
- 電路板
- 連線晶片的電路
- 標準引導載入程式(開機時發生的事情)
Arduino 誕生於開源 Wiring 專案,該專案受到 Processing 程式語言的啟發。Arduino 於 2003 年在義大利伊夫雷亞的互動設計學院(奧利維蒂公司所在地)誕生,幾乎是在一個晚上完成的。Wiring 的目標是建立一個單板微型計算機、一種程式語言和一個 IDE,專門為藝術家服務。Arduino 的成功有幾個原因:
- 表面貼裝晶片很難焊接。DIY 社群需要擺脫設計電路、構建獨特的龐大電路板和焊接晶片的過程。他們需要轉向可以堆疊在一起的小型標準電路板。
- 測試驅動型軟體開發
- 示例驅動型軟體學習
- 活躍的社群擴充套件示例
- 透過燈光、電機、聲音等物理反饋來確認軟體成功
- 價格點、競爭和品牌對於經濟成功至關重要

從 1990 年代到 2000 年代,大學和公司都推出了針對 DIY 教育市場的新型微控制器。起價約為 300 美元,對於那些沒有對微控制器特別感興趣的學生來說,這個價格太高了。Arduino 將價格降低到了 30 美元左右。這不僅迫使教育市場的競爭對手降低價格,而且大大擴充套件了對這類產品感興趣的消費者群體,也為功能更強大的微控制器市場創造了更大的空間。
總而言之,Arduino 在成本、經驗和預期方面都有較低的入門門檻。但它可以擴充套件到電氣工程師用於建立電路和計算機工程師用於構建系統的專業軟體開發環境。它還可以擴充套件到支援複雜的開源 Linux 應用程式,例如機器人作業系統 (ROS) 和用於電池供電機器人的自動駕駛儀。

“Arduino”一詞是指一系列控制器,這些控制器使用相同的軟體,但具有不同的目標應用程式和外形尺寸。本文件的其餘部分專門針對 Arduino Uno。

透過在 Arduino Uno 上方堆疊不同的電路板,可以擴充套件其功能。這些電路板被稱為擴充套件板。新的擴充套件板激發了創造力、需求和利潤。圖片中是一個 USB 主機擴充套件板,它使 Arduino 能夠像 PC 一樣工作,而不是被連線到 PC 的裝置。

右側是 Uno(藍色)與 USB 主機擴充套件板(紅色)和電機擴充套件板(綠色)堆疊在一起的圖片。USB 主機擴充套件板和 Uno 具有可堆疊的或母頭引腳。電機擴充套件板採用可拆卸的或公頭引腳,防止堆疊更多擴充套件板。

Uno 可以透過 USB 電纜供電。最終,向 Uno 新增更多東西會導致所有內容停止工作。解決方法是將 5 到 12 伏直流電纜插入 Uno。然後一切都會正常工作,新增更多東西,最終 Uno 再次停止工作。此時,各個擴充套件板可能需要它們自己的電源。如果涉及電機,這一點尤其重要。
USB 電纜旨在連線到計算機,以便將軟體下載到 Arduino。下載程式後,可以斷開 USB 電纜(如果存在其他電源),程式將在沒有計算機的情況下執行。
不能將 USB 滑鼠或鍵盤插入 Arduino,就像它是一臺計算機一樣。Uno 上的 USB 埠是一個從埠,而不是手機上的 USB On-The-Go 埠。Uno 需要一個 USB 主機來進行通訊。鍵盤和滑鼠是從裝置。兩個從裝置無法相互通訊。這就是 Arduino 存在 USB 主機擴充套件板的原因。
Uno 上有六個引腳(或引腳孔)清晰標示。腦電圖 (EEG)、心電圖 (ECG)、溫度感測器、光感測器和應變計是將物理測量資訊轉換為電壓的裝置示例。Uno 可以透過模擬引腳將電壓轉換為 0 到 1023 之間的數字。預設情況下,最大電壓為 5 伏,但可以透過軟體更改為 1.1 或 3.3 伏。
Uno 上的“AREF”字樣指向一個引腳。AREF 代表 Analog Reference(模擬參考)。可以將不同的模擬引腳最大電壓連線到此處,然後透過軟體選擇。最大電壓為 5 伏。1.1 和 3.3 伏可以透過軟體選擇。任何不同的電壓都需要連線到 AREF 引腳。這樣做可以使 Uno 在將來自 6 個模擬引腳的資訊轉換為數字時更準確。
數字引腳輸出 0 或 5 伏電壓。它們可以開啟和關閉 LED。或者,它們可以告訴傳真機 LCD 面板顯示什麼內容。引腳 3、5、6、9、10、11 是 PWM 或脈寬調製引腳,這意味著開時間和關時間不必相等。這使得能夠控制 電子調速器 (ESC)。這使 Uno 能夠改變直升機螺旋槳的速度。引腳 0 和 1 代表傳送和接收... 與任何東西,包括另一個 UNO。例如,這將使一個 UNO 能夠與另一個 UNO 通訊。
Uno 引腳透過接頭向上移動,因此可供所有遮蔽使用。遮蔽本身可能具有其他功能。有一個 原型板 遮蔽,除了提供構建獨特電路的平臺外,沒有其他功能。
Arduino 衍生了許多競爭的開源硬體專案。Uno 接頭引腳排列和與 Arduino 軟體的相容性是所有 Arduino 板的兩大主要特徵。
許多公司正在製造“幾乎相容”的 Arduino 產品,如 Pinguino。有些產品使用 pic 處理器,而不是 Arduino 的 Atmel。其他產品,如 papilio(基於 Xilinix FPGA),不聲稱軟體相容性,只聲稱與 UNO 接頭引腳排列的硬體相容性。
有些專案需要在正在構建的裝置上執行 Linux 發行版。Raspberry Pi 和 pcduino 是這些專案的例子。