首頁 > 評(píng)測(cè) > Arduino太low?有了這塊擴(kuò)展板也許就不同了——DFRobot Accessory Shield評(píng)測(cè)

Arduino太low?有了這塊擴(kuò)展板也許就不同了——DFRobot Accessory Shield評(píng)測(cè)

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

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

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

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

所以除了Arduino,各種擴(kuò)展板也應(yīng)運(yùn)而生。

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

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

image1.jpg

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

image2.jpg

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

image3.jpg

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

不過這個(gè)擴(kuò)展板的原配可不是Arduino,而是Bluno。Bluno是=UNO+BLE!

image4.png

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

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

不過沒關(guān)系,使用普通的Arduino板,也可以配合Accessory Shield來玩點(diǎn)不一樣的。

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

image5.png

顯示屏與MCU的連接如下

image6.png

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

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

先要安裝對(duì)應(yīng)的庫支持。Accessory Shield提供了3個(gè)庫支持,如下圖所示

image7.png

BlunoAccessory是擴(kuò)展板上各外設(shè)的驅(qū)動(dòng)庫,另外兩個(gè)是支持庫,在BlunoAccessory庫中會(huì)使用到另外兩個(gè)庫的功能。

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

image8.png

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

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

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

image9.jpg

有了這個(gè)屏,以后再也不需要借助串口來顯示運(yùn)行過程中的一些輸出結(jié)果了。

擴(kuò)展板上包括一個(gè)DHT11溫濕度計(jì),可以用來檢測(cè)當(dāng)前的溫度和濕度信息。如果想在家里做個(gè)小型氣象工作站,DHT11就可以派上用場(chǎng)了。

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

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

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

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

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

網(wǎng)友評(píng)論

  • 聯(lián)系人:巧克力娃娃
  • 郵箱:board@21ic.com
  • 我要投稿
  • 歡迎入駐,開放投稿

熱門標(biāo)簽
項(xiàng)目外包 more+