官术网_书友最值得收藏!

1.2 Arduino開源硬件

本節主要介紹Arduino開源硬件的各種開發板和擴展板的使用方法、Arduino開發板的特性以及Arduino開源硬件的總體情況,以便更好地應用Arduino開源硬件進行開發創作。

1.2.1 Arduino開發板

Arduino開發板是基于開放原始代碼的Simple I/O平臺,并且使用類似Java、C/C++語言的開發環境,可以快速使用Arduino語言與Flash或Processing軟件,完成各種創新的作品。Arduino開發板可以使用各種電子元件,如各種傳感器、顯示設備、通信設備、控制設備或其他可用設備。

Arduino開發板也可以獨立使用,成為與其他軟件溝通的平臺,如Flash、Processing、Max/MSP、VVVV或其他互動軟件。Arduino的開發板種類有很多,包括Arduino UNO、YUN、DUE、Leonardo、Tre、Zero、Micro、Esplora、MEGA、Mini、NANO、Fio、Pro以及LilyPad Arduino。隨著開源硬件的發展,將會出現更多的開源產品。下面介紹幾種典型的Arduino開發板。

Arduino UNO是Arduino USB接口系列的常用版本,是Arduino平臺的參考標準模板,如圖1-1所示。Arduino UNO的處理器核心是ATmega328,具有14路數字輸入/輸出接口(其中6路可作為PWM輸出)、6路模擬輸入接口、1個16MHz晶體振蕩器、1個USB口、1個電源插座、1個ICSP插頭和1個復位按鈕。

如圖1-2所示,Arduino YUN是一款基于ATmega32U4和Atheros AR9331的單片機開發板。Atheros AR9331可以運行基于Linux和OpenWRT的操作系統Linino。這款單片機開發板具有內置的Ethernet、WiFi、1個USB接口、1個Micro插槽、20個數字輸入/輸出接口(其中7個可以用于PWM、12個可以用于ADC)、1個Micro USB、1個ICSP插頭和3個復位開關。

圖1-1 Arduino UNO

圖1-2 Arduino YUN

如圖1-3所示,Arduino DUE是一塊基于Atmel SAM3X8E CPU的微控制器板。它是第一塊基于32位ARM核心的Arduino開發板,有54個數字輸入/輸出接口(其中12個可用于PWM輸出)、12個模擬輸入口、4路UART硬件串口、84 MHz的時鐘頻率、1個USB OTG接口、2路DAC(模數轉換)、2路TWI、1個電源插座、1個SPI接口、1個JTAG接口、1個復位按鍵和1個擦寫按鍵。

如圖1-4所示,Arduino MEGA 2560也是采用USB接口的核心電路板,它最大的特點就是具有多達54路數字輸入/輸出接口,特別適合需要大量輸入/輸出接口的設計。MEGA 2560的處理器核心是ATmega2560,具有54路數字輸入/輸出接口(其中16路可作為PWM輸出)、16路模擬輸入、4路UART接口、1個16MHz晶體振蕩器、1個USB口、1個電源插座、1個ICSP插頭和1個復位按鈕。Arduino MEGA 2560也能兼容為Arduino UNO設計的擴展板。目前,Arduino MEGA 2560已經發布到第三版,與前兩版相比有以下新的特點:

圖1-3 Arduino DUE

圖1-4 Arduino MEGA 2560

(1)在AREF處增加了兩個引腳SDA和SCL,支持I2C接口;增加IOREF和1個預留引腳,以便將來擴展板能夠兼容5V和3.3V核心板;改進了復位電路設計;USB接口芯片由ATmega16U2替代了ATmega8U2。

(2)第三版可以通過3種方式供電:外部直流電源通過電源插座供電、電池連接電源連接器的GND和VIN引腳供電、USB接口直接供電。而且,它能自動選擇供電方式。

電源引腳說明如下:

(1)VIN:當外部直流電源接入電源插座時,可以通過VIN向外部供電,也可以通過此引腳向MEGA 2560直接供電;VIN供電時將忽略從USB或者其他引腳接入的電源。

(2)5V:通過穩壓器或USB的5V電壓,為MEGA 2560上的5V芯片供電。

(3)3.3V:通過穩壓器產生的3.3V電壓,最大驅動電流為50mA。

(4)GND:接地引腳。

如圖1-5所示,Arduino Leonardo是一款基于ATmega32U4的微控制器板。它有20個數字輸入/輸出引腳(其中7個可用作PWM輸出、12個可用作模擬輸入)、1個16 MHz晶體振蕩器、1個Micro USB連接、1個電源插座、1個ICSP頭和1個復位按鈕。它具有支持微控制器所需的一切功能,只需通過USB電纜將其連至計算機,或者通過電源適配器、電池為其供電即可使用。

Leonardo與先前的所有電路板都不同,ATmega32U4具有內置式USB通信,從而無須二級處理器。這樣,除了虛擬(CDC)串行/通信端口,Leonardo還可以充當計算機的鼠標和鍵盤,它對電路板的性能也會產生影響。

如圖1-6所示,Arduino Ethernet是一款基于ATmega328的微控制器板。它有14個數字輸入/輸出引腳、6個模擬輸入、1個16 MHz晶體振蕩器、1個RJ45連接、1個電源插座、1個ICSP頭和1個復位按鈕。引腳10、11、12和13只能用于連接以太網模塊,不能作他用??捎靡_只有9個,其中4個可用作PWM輸出。

圖1-5 Arduino Leonardo

圖1-6 Arduino Ethernet

Arduino Ethernet沒有板載USB轉串口驅動器芯片,但是有1個Wiznet以太網接口,該接口與以太網盾上的相同。板載microSD讀卡器可用于存儲文件,能夠通過SD庫進行訪問。引腳10留作Wiznet接口,SD卡的SS在引腳4上。6引腳串行編程頭與USB串口適配器兼容,與FTDI USB電纜或Sparkfun和Adafruit FTDI式基本USB轉串口分線板也兼容。它支持自動復位,從而無須按下電路板上的復位按鈕即可上傳程序代碼。當插入USB轉串口適配器時,Arduino Ethernet由適配器供電。

圖1-7 Arduino Robot

Arduino Robot是一款有輪子的Arduino開發板,如圖1-7所示。Arduino Robot有控制板和電機板,每個電路板上有1個處理器,共2個處理器。電機板控制電機,控制板讀取傳感器的數據并決定如何操作。每個電路板都是完整的Arduino開發板,用Arduino IDE進行編程。直流電機板和控制板都是基于ATmega32U4的微控制器板。Arduino Robot將它的一些引腳映射到板載的傳感器和制動器上。

Arduino Robot編程的步驟與Arduino Leonardo類似,2個處理器都有內置式USB通信,無須二級處理器,可以充當計算機的虛擬(CDC)串行/通信端口。Arduino Robot有一系列預焊接連接器,所有連接器都標注在電路板上,通過Arduino Robot庫映射到指定的端口上,從而可使用標準Arduino函數。在5V電壓下,每個引腳都可以提供或接收最高40mA的電流。

圖1-8 Arduino NANO

如圖1-8所示,Arduino NANO是一款小巧、全面、基于ATmega 328的開發板,與Arduino Duemilanove的功能類似,但封裝不同,沒有DC電源插座且采用Mini-B USB電纜。NANO上的14個數字引腳都可用作輸入或輸出,利用pinMode()、digitalWrite()和digitalRead()函數可以對它們操作。工作電壓為5V,每個引腳都可以提供或接收最高40mA的電流,都有1個20~50kΩ的內部上拉電阻器(默認情況下斷開)。NANO有8個模擬輸入,每個模擬輸入都提供10位的分辨率(即1024個不同的數值)。默認情況下,它們的電壓為0~5V,可以利用analogReference()函數改變其電壓范圍的上限值。模擬引腳6和7不能用作數字引腳。

1.2.2 Arduino擴展板

在Arduino開源硬件系列中,除了主要開發板之外,還有與之配合使用的各種擴展板,可以插到開發板上增加額外的功能。選擇適合的擴展板,可以增強系統開發的功能。常見的擴展板有Arduino Ethernet Shield、Arduino GSM Shield、Arduino Motor Shield、Arduino 9 Axes Motion Shield等。

Arduino Ethernet Shield(以太網盾)如圖1-9所示,有1個標準的有線RJ45連接,具有集成式線路變壓器和以太網供電功能,可將Arduino開發板連接到互聯網。它基于Wiznet W5500以太網芯片,提供網絡(IP)堆棧,支持TCP和UDP協議,可以同時支持8個套接字連接,使用以太網庫寫入程序代碼。

以太網盾板利用貫穿盾板的長繞線排與Arduino開發板連接,保持引腳布局完整無缺,以便其他盾板可以堆疊在其上。它有1個板載micro-SD卡槽,可用于存儲文件,且與Arduino UNO和MEGA兼容,可通過SD庫訪問板載micro-SD讀卡器。以太網盾板帶有1個供電(PoE)模塊,可從傳統的5類電纜獲取電力。

Arduino GSM Shield如圖1-10所示,為了連接蜂窩網絡,電路板需要一張由網絡運營商提供的SIM卡。它通過移動通信網將Arduino開發板連接到互聯網,可撥打/接聽語音電話和發送/接收SMS信息。

圖1-9 Arduino Ethernet Shield

圖1-10 Arduino GSM Shield

GSM Shield采用Quectel的無線調制解調器M10,利用AT命令與電路板通信。GSM Shield利用數字引腳2、3與M10進行軟件串行通信,引腳2連接M10的TX引腳,引腳3連接RX引腳,調制解調器的PWRKEY引腳連接Arduino引腳7。

M10是一款四頻GSM/GPRS調制解調器,其工作頻率如下:GSM 850MHz、GSM 900MHz、DCS 1800MHz和PCS 1900MHz。它通過GPRS連接支持TCP/UDP和HTTP。其中GPRS數據下行鏈路和上行鏈路的最大傳輸速度為85.6Kb/s。

Arduino Motor Shield如圖1-11所示,用于驅動電感負載(如繼電器、螺線管、DC和步進電機)的雙全橋驅動器L298。利用Arduino Motor Shield可以驅動2個DC電機,獨立控制每個電機的速度和方向。因此,它有2條獨立的通道,即A和B,每條通道使用4個Arduino引腳來驅動或感應電機,所以Arduino Motor Shield上使用的引腳共8個。它不僅可以單獨驅動2個DC電機,也可以將它們合并起來驅動1個雙極步進電機。

Arduino 9 Axes Motion Shield如圖1-12所示,它采用德國博世傳感器技術有限公司推出的BNO055絕對方向傳感器。這是一個使用系統級封裝,集成三軸14位加速計、三軸16位陀螺儀、三軸地磁傳感器,并運行BSX3.0 FusionLib軟件的32位微控制器。BNO055在三個垂直的軸上具有三維加速度、角速度和磁場強度數據。

圖1-11 Arduino Motor Shield

圖1-12 Arduino 9 Axes Motion Shield

另外,它還提供傳感器融合信號,如四元數、歐拉角、旋轉矢量、線性加速度、重力矢量。結合智能中斷引擎,它可以基于慢動作或誤動作識別、任何動作(斜率)檢測、高g檢測等項觸發中斷。

Arduino 9 Axes Motion Shield兼容UNO、YUN、Leonardo、Ethernet、MEGA和DUE電路板。在使用Arduino 9 Axes Motion Shield時,要根據使用的電路板將中斷橋和重置橋焊接在正確的位置。

主站蜘蛛池模板: 梓潼县| 青州市| 章丘市| 枝江市| 靖边县| 阜城县| 临猗县| 台北市| 西盟| 天峻县| 临夏市| 横山县| 平武县| 漳平市| 邹平县| 浦县| 都匀市| 徐闻县| 怀宁县| 广水市| 鄂伦春自治旗| 通许县| 喀什市| 徐州市| 通榆县| 澎湖县| 陆川县| 定结县| 肇州县| 化州市| 嘉峪关市| 象山县| 余干县| 八宿县| 濉溪县| 漳平市| 鱼台县| 曲阳县| 庐江县| 漯河市| 翁源县|