首頁 > 評測 > Arduino太low?有了這塊擴展板也許就不同了——DFRobot Accessory Shield評測

Arduino太low?有了這塊擴展板也許就不同了——DFRobot Accessory Shield評測

  • 作者:SATURN
  • 來源:21ic
  • [導讀]
  • 以前筆者也覺得Arduino太Low,作為創(chuàng)客怎么也得RaspberryPi起步。不過近期越玩越被圈粉。豐富的開源庫和拓展硬件可以讓你快速實現(xiàn)各種需求。還覺得Arduino太Low?你也許只差一個選擇。

有人說Arduino是上帝送給電子入門者的恩賜!有了Arduino,在程序控制下,電路變得更鮮活,更智能。

也有人說,Arduino太low。為啥,板載資源太少,可玩度不夠!

是的,需求角度不同,觀點自然也不一樣,這正是所謂的眾口難調(diào)!

所以除了Arduino,各種擴展板也應運而生。

Accessory Shield是DFRobot專門為BLUNO(移動設備周邊開發(fā)平臺)所設計的擴展板。Bluno作為首款集成了藍牙4.0的Arduino UNO主控板,把Android/IOS和Arduino的開源硬件平臺用藍牙4.0緊密的聯(lián)系在一起。但是光靠BLUNO是不能夠與物理世界互動的。盡管用BLUNO與手機建立了通信,但是需要用傳感器來采集環(huán)境信息,用聲光電設備加以反饋。從而利用Arduino豐富的開源硬件資源,Accessory Shield正是為了彌補Arduino的這一不足,通過提供豐富的傳感及控制資源,讓Arduino更豐滿,更具交互性。

雖然Accessory Shield是專為Bluno設計的,但是在一些提供了Arduino UNO兼容接口的開發(fā)板上都可以直接使用,比如說現(xiàn)在的STM32 NUCLEO開發(fā)板,都提供了UNO兼容接口,當然也就能用在這些開發(fā)板上,只不過,代碼必須得移植或適配。

image1.jpg

擴展板包含一個OLED顯示屏,分辨率為128x64,對于簡單的信息顯示足夠了,比如顯示個溫度、溫度信息,ADC采樣信息,還是很方便的。擴展板上包括一個有源蜂鳴器,這是最簡單的發(fā)聲元件,非常容易控制。擴展板還包括一個DHT11溫濕度傳感器,采集環(huán)境中的溫濕度,是環(huán)境監(jiān)測的首選。板載一個1.5A繼電器模塊,能夠承載普通的大電流器件,另外還有一個螺旋電位器,用來實現(xiàn)ADC功能,其它的器件還有一個RGB LED及一個mini搖桿按鍵,包括四個方位和一個向下的按鍵,用來代替普通按鍵,同時功能更強大。

image2.jpg

板載的OLED顯示屏使用I2C接口與MCU通信,這是OLED背面的接口連接。

image3.jpg

擴展板與Arduino的合照,看上去很和諧!

不過這個擴展板的原配可不是Arduino,而是Bluno。Bluno是=UNO+BLE!

image4.png

Bluno是ATmega328和TI CC2540的合體版,支持BLE通信。說白了,就是為Arduino披上了BLE的外衣,但仍然使用Arduino的IDE及庫來進行開發(fā)。

只可惜手頭沒有Bluno板,不能享受BLE帶來的便利!

不過沒關系,使用普通的Arduino板,也可以配合Accessory Shield來玩點不一樣的。

先來看OLED顯示屏。擴展板上的顯示屏使用的是SSD1306,分辨率為128X64,該顯示屏的主要特性如下

image5.png

顯示屏與MCU的連接如下

image6.png

可以看到顯示屏通過I2C接口與MCU連接,MCU通過I2C接口與SSD1306進行通信,控制屏幕顯示輸出。

配套的驅(qū)動庫及示例代碼可以幫助用戶很快的在屏幕上顯示一段Hello, world信息。

先要安裝對應的庫支持。Accessory Shield提供了3個庫支持,如下圖所示

image7.png

BlunoAccessory是擴展板上各外設的驅(qū)動庫,另外兩個是支持庫,在BlunoAccessory庫中會使用到另外兩個庫的功能。

先來看第一個Hello, world程序,完整的代碼如下

image8.png

使用Arduino庫來編程,不需要關心太多的硬件細節(jié),用戶更多的是關注程序所要實現(xiàn)的功能。

這里用到了u8glib,一個Arduino環(huán)境下常用的GUI庫。U8glib包含豐富的功能,也支持大量的硬件設備,有興趣的讀者不妨到官方主頁去了解一下。

將代碼編譯并上傳到Arduino開發(fā)板,得到的運行結果如下

image9.jpg

有了這個屏,以后再也不需要借助串口來顯示運行過程中的一些輸出結果了。

擴展板上包括一個DHT11溫濕度計,可以用來檢測當前的溫度和濕度信息。如果想在家里做個小型氣象工作站,DHT11就可以派上用場了。

DHT11使用用專用的數(shù)字模塊采集技術和溫濕度傳感技術,確保產(chǎn)品具有極高的可靠性與卓越的長期穩(wěn)定性。傳感器包括一個電阻式感濕元件和一個NTC測溫元件。因此該產(chǎn)品具有品質(zhì)卓越、超快響應、抗干擾能力強、性價比極高等優(yōu)點。

每個DHT11傳感器都在極為精確的濕度校驗室中進行校準。校準系數(shù)以程序的形式儲存在OTP內(nèi)存中,傳感器內(nèi)部在檢測信號的處理過程中要調(diào)用這些校準系數(shù)。

傳感器通過3P數(shù)字線直插Arduino。單線制串行接口,使系統(tǒng)集成變得簡易快捷。超小的體積、極低的功耗,信號傳輸距離可達20米以上,使其成為各類應用甚至最為苛刻的應用場合的最佳選則。產(chǎn)品為3腳PH2.0封裝,連接方便。

接下來通過Arduino實時顯示該傳感器的讀數(shù)變化。在原有代碼的基礎上,添加獲取溫、濕度信息,然后在OLED上顯示,關鍵代碼如下

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

網(wǎng)友評論