- 創客機器人實戰:基于Arduino和樹莓派
- 何福貴等編著
- 2659字
- 2020-10-23 14:26:19
3.1 Arduino開發板
使用Arduino之前,首先要選擇一塊Arduino開發板。Arduino目前有很多種類型的開發板,如圖3-1所示,可以根據需要和開發板的參數進行選擇。
下面介紹幾款最常用的開發板類型。
3.1.1 Arduino UNO
Arduino UNO是Arduino開發最常用的開發板,是一款基于ATmega328的微控制器板。它有14個數字輸入/輸出引腳(其中6個可用作PWM輸出,數字前面標識為~)、6個模擬輸入、1個16MHz陶瓷諧振器、1個USB連接、1個電源插座、1個ICSP頭和1個復位按鈕。它包含支持微控制器所需的一切,只需通過USB電纜將其連至計算機或者通過AC-DC適配器或電池為其供電即可開始,如圖3-2所示。
使用Arduino UNO開發板時,在Arduino IDE的菜單欄中選擇:“工具”>“開發板”>“Arduino/Genuino UNO”命令,如圖3-3所示。

圖3-1 Arduino開發板類型

圖3-2 Arduino UNO開發板

圖3-3 Arduino IDE使用Arduino UNO開發板
3.1.2 Arduino Leonardo
Arduino Leonardo是集成了USB HID、基于ATmega32u4的開發板。它有20個數字輸入/輸出引腳(其中7個可用作PWM輸出,12個作為模擬輸入)、16MHz晶振,微型USB連接、ICSP接頭和復位按鈕。只需使用USB電纜將其連接到計算機,或使用AC-to-DC適配器或電池為其供電即可開始使用,如圖3-4所示。

圖3-4 Arduino Leonardo開發板
Leonardo與先前所有開發板的不同之處在于:ATmega32 u4具有內置的USB通信,無須使用輔助處理器。這允許Leonardo作為鼠標和鍵盤出現在連接的計算機上,以及虛擬(CDC)串口或COM端口,適合使用模擬鍵盤、鼠標的應用中。
使用Arduino Leonardo開發板時,在Arduino IDE的菜單欄中選擇“工具”>“開發板”>“Arduino Leonardo”命令,如圖3-5所示。

圖3-5 Arduino IDE使用Arduino Leonardo開發板
另外,“Arduino Leonardo ETH”是基于ATmega32U4和新版W5500 TCP/IP嵌入式以太網控制器的微控制器電路板。Leonardo ETH有20個數字輸入/輸出引腳(其中7個可用作PWM輸出,12個用作模擬輸入)、一個16MHz晶體振蕩器、一個RJ45接口、一個微型USB連接器、一個電源插孔、一個ICSP頭部,以及一個重置按鈕。它含有為微控制器提供支持所需的功能,只需利用USB電纜將其連接到計算機,或通過AC-DC適配器或電池為其供電即可啟動。因為ATmega32u4有內置的USB通信功能,不必配備外部USB-串口轉換器。這使得Leonardo ETH在所連接的計算機上顯示為鼠標和鍵盤——除虛擬(CDC)串行/COM端口之外。還有針對電路板行為的其他暗示。可選的以太網供電模塊也可添加到Leonardo ETH電路板上。
Leonardo ETH具有與以太網擴展板2同樣的Wiznet以太網接口。板載microSD讀卡器可用于存儲文件,以便通過網絡提供服務,該讀卡器可通過SD庫訪問。引腳10為Wiznet接口預留,用于SD卡的SS在引腳4上。
Arduino Leonardo ETH開發板如圖3-6所示。

圖3-6 Arduino Leonardo ETH開發板
3.1.3 Arduino Mega 2560
Arduino Mega 2560適用于更復雜的項目設計,是基于ATmega2560的單片機開發板。該開發板有54個數字輸入/輸出引腳(其中15路可以用作PWM輸出)、16路模擬輸入、4個UART(硬件串口)、1個16MHz的晶振、1個USB接口、1個電源接頭、ICSP接口及復位按鈕。它包含單片機運行所需的所有要素,使用USB連接線將其連接到計算機,利用ACDC適配器或電池供電即可使用。Arduino Mega能與絕大部分為Genuino UNO設計的sheild兼容。
Arduino Mega 2560開發板已成為大多數3D打印和機器人項目的選擇,如圖3-7所示。

圖3-7 Arduino Mega 2560開發板
使用Arduino Mega開發板時,在Arduino IDE的菜單中選擇“工具”>“開發板”>“Arduino Mega SDK”命令,如圖3-8所示。

圖3-8 Arduino IDE使用Arduino Mega開發板
3.1.4 英特爾?Galileo開發板和英特爾?Edison開發板
英特爾?Galileo是x86構架的Arduino開發板,同時具有英特爾技術的卓越性能,以及Arduino軟件開發環境的易用性。這一可開發電路板支持Arduino軟件庫的開源Linux操作系統,可擴展性強,可重復使用現有軟件庫資源(名為“sketches”)。英特爾?Galileo開發板可以采用Mac OS、微軟Windows和Linux主機操作系統進行編程,也可被設計成為與Arduino生態系統兼容的軟硬件產品。
為了超越Arduino生態系統,擴展其原生應用及能力,英特爾?Galileo電路板以標準化的方式,支持多種計算行業標準I/O接口,包括ACPI、PCI Express?、10/100MB以太網、SD、USB 2.0設備,以及EHCI/OHCI USB主機端口、高速UART、RS-232串行端口、可編程8MB NOR閃存,以及可方便調試的JTAG端口。英特爾?Galileo基于通用開源工具鏈支持,將Arduino集成開發環境(IDE)的許多優勢,與完整的、未經修改的Linux軟件棧的廣泛軟件開發工具和先進能力相結合,匯集在一個平臺之上。如圖3-9所示。

圖3-9 英特爾?Galileo開發板
總的來說,英特爾?Galileo可開發電路板為快速開發簡單交互式設計原型,諸如能響應社交媒體、或者能處理更復雜項目(從家用電器自動化,到用智能手機控制的真人大小機器人)的LED光顯示等,提供了卓越工具。
英特爾?Edison是一個微型的超低功耗開發平臺,它的尺寸僅相當于一個SD卡,小到幾乎可以被任何東西容納。經過設計后它可以和大多數設備一起工作,其中包括計算機、手機或平板電腦,而且還包括椅子、咖啡機甚至咖啡杯。其用途的廣泛性甚至超出了所有企業家和發明家的想象。如圖3-10所示。

圖3-10 英特爾?Edison
英特爾?Edison綜合了小尺寸、低功耗、強大功能等獨特優勢,這使其成為游戲規則的顛覆者,為數以千計富有遠見的廠商降低了進入的門檻。搭載英特爾?Edison模塊的設備可以通過高度定制和復雜的方式開展合作。這些設備在使用上并非一成不變,它們可以裝載多種應用,而且這些應用的下載和安裝方式類似于手機和平板電腦。
入門者通過搭配使用英特爾Edison for Arduino開發板能夠快速簡便地將自己有趣的創意變成現實。資深的創客與企業還能無縫地將原型變成量產的成品。因此,只需一張小小的英特爾Edison開發板,便能完成從想法到產品的飛躍。
英特爾Edison開發板具有以下特性:
(1)英特爾?Edison開發板采用22納米的英特爾SoC包括一顆雙核雙線程500MHz的英特爾Atom處理器,同時具備40個GIPO、1GB LPDDR3、4GB EMMC、雙頻Wi-Fi和藍牙。
(2)Edison初期支持Arduino和C/C++的編譯。Node.js、Python、RTOS和可視化編程功能將會逐漸開放。
(3)Edison包含設備之間和設備與云端通信的固件,能夠支持多設備、云基設備、多用戶、時間序列的分析服務。
在Arduino IDE中不能直接使用英特爾?Galileo開發板和英特爾?Edison開發板,需要安裝開發板的軟件包,安裝方法如下:
(1)在Arduino IDE的菜單欄中選擇“工具”>“開發板”>“開發板管理器”命令,如圖3-11所示。

圖3-11 選擇“開發板管理器”命令
(2)彈出如圖3-12所示的對話框,最下面的兩項即是。

圖3-12 “開發板管理器”對話框
3.1.5 Arduino Due
Arduino Due是一塊基于Atmel SAM3X8E CPU的微控制器板。它是第一塊基于32位ARM核心的Arduino。它有54個數字I/O口(其中12個可用于PWM輸出)、12個模擬輸入口、4路UART硬件串口、84MHz的時鐘頻率、一個USB OTG接口、兩路DAC(模數轉換)、兩路TWI、一個電源插座、一個SPI接口、一個JTAG接口、一個復位按鍵和一個擦寫按鍵,Arduino Due由于使用32位ARM核心的Due相較于以往的使用8位AVR核心的其他Arduino更強大。Arduino Due開發板如圖3-13所示。

圖3-13 Arduino Due開發板
注意:不同于其他Arduino,Arduino Due的工作電壓為3.3V,和后面介紹的樹莓派的工作電壓相同。I/O口可承載的電壓也為3.3V。如果你使用更大的電壓,比如5V到一個I/O口,可能會燒了芯片。
使用Arduino Due開發板時,在Arduino IDE的菜單欄中選擇“工具”>“開發板”“Arduino Due”命令,如圖3-14所示。

圖3-14 Arduino IDE使用Arduino Due開發板
- Google Cloud Platform Cookbook
- 模型制作
- PyTorch深度學習實戰
- 流處理器研究與設計
- 面向對象程序設計綜合實踐
- Hands-On Reactive Programming with Reactor
- LMMS:A Complete Guide to Dance Music Production Beginner's Guide
- 網絡脆弱性掃描產品原理及應用
- Linux系統下C程序開發詳解
- 菜鳥起飛五筆打字高手
- ROS Robotics By Example(Second Edition)
- EDA技術及其創新實踐(Verilog HDL版)
- 運動控制器及數控系統的工程應用
- OSGi原理與最佳實踐
- 局域網組建與管理技術詳解