首頁 > 評測 > 創(chuàng)客入門首選板——Arduino UNO評測

創(chuàng)客入門首選板——Arduino UNO評測

  • 作者:seesea
  • 來源:21ic
  • [導讀]
  • Arduino (美國境外稱 Genuino)是目前非常流行的創(chuàng)客工具,它封閉了底層硬件,有豐富庫提供使用,讓使用者專注于功能的實現(xiàn),達到簡單快速的開發(fā),即使是非專業(yè)的人員也可以很快上手。

上面的 analogWrite() 只能固定頻率輸出可調整占空比的方波,另外一個用于播放簡單音樂使用的 tone() 函數(shù)則反過來固定 50% 占空比地輸出可調整頻率的方波,如下輸出中音 C 的音調,使用取整后的頻率 131:

14.jpg
15.jpg

ADC

UNO 提供了六個 ADC 引腳,對于使用一些模擬輸出的傳感器如聲光溫濕磁等模擬輸出的傳感器非常方便,如下使用電位器來模擬模擬輸出的傳感器(是不是有點繞口 :D,一個模擬是動詞,一個模擬是名詞):

16.jpg

17.jpg

中斷

UNO 有定時器/計數(shù)器中斷,串口中斷及外部中斷。這里著重于外部中斷。

UNO 有兩個外部中斷,分別在 2 和 3 號數(shù)字引腳上。如下示例,測試時通過引腳 2 在高低電平間切換來觸發(fā)中斷:

19.jpg

I2C

除了串口,模塊之間很常用的接口是 I2C 接口,UNO 已經準備好了:

這里使用傾角傳感器 ADXL345 模塊來做測試,通過傾斜 x 和 y 方向,可以看到數(shù)據的變化:

21.jpg
22.jpg

SPI

同樣的,模塊之間另一個常用接口是 SPI 接口,UNO 也已經準備好了:

這里拿一個現(xiàn)成的小作品來示例,如下 328P(下載好程序的 UNO 上取下的芯片) 通過 I2C 讀取 ADXL345 的數(shù)據,通過 SPI 接口的 NRF24L01 發(fā)送數(shù)據。另外一個 UNO 則通過 SPI 連接另一個 NRF 模塊來接收前者發(fā)送的數(shù)據。從而實現(xiàn)一個重力遙控裝置。

23.jpg

22.jpg

使用 ICSP 接口下載程序:

Arduino 中 328P 有預先寫好的 bootloader,這樣使得我們可以直接使用串口下載程序,這給大家做實驗帶來了便利,但這樣會導致在啟動時要先運行 bootloader,并且串口有一些時間在等待上位機的程序下載,另外就是 bootloader 也占用了 0.5k 的存儲空間。如果你的程序要放到產品中,或上電就要串口通信,或是程序太大就差一點點空間實在沒法優(yōu)化,這時候可以考慮通過 ICSP 接口使用 ISP 方式下載程序,覆蓋掉bootloader 使用全部的存儲空間。這樣做的結果是之后再下載程序也必須使用 ISP下載。ISP 方式需要特殊的編程器,這里示范使用 USBasp 來下載,也可以通過一個 Arduino 板子來做 ISP 下載器,可以參考官方的詳細教程:https://www.arduino.cc/en/Tutorial/ArduinoISP。

首先要選擇使用的下載器:

24.jpg

然后選擇菜單“使用編程器上傳”,靜待成功。完成后有輸出一些信息,如下黃框是提示 USBasp 需要升級固件的,反正還能用,不用理會它:

25.jpg

接線圖:

26.jpg

重燒bootloader:

上述覆蓋了 bootloader,如果要恢復原來的 Arduino 使用 USB 線自動下載的功能則需要恢復 bootloader,這時候同樣需要 ISP 編程器,連接方式同上,于 IDE 中選擇相應的板子型號后,使用 Burn Bootloader 菜單進行燒寫:

27.jpg

總結

1. Arduino UNO 板上資源豐富,可以滿足大部分創(chuàng)客制作需求

2. Arduino UNO 接口豐富,可以與大部分模塊、傳感器連接

3. Arduino UNO 推出較早,很多的擴展板均以此為標準

4. Arduino UNO使用的最多,Arduino 示例基本上使用 UNO 進行教學

5. Arduino UNO 價格較低

綜上,Arduino UNO 是創(chuàng)客入門的不二之選。

參考資料

1. Atmega328p 數(shù)據表

2. UNO 電路原理圖

3. Arduino IDE 下載

4. Arduino 語言參考

 

本文系21ic原創(chuàng),未經許可禁止轉載

  • 本文系21ic原創(chuàng),未經許可禁止轉載!

網友評論