首页 > 评测 > 评测列表 > 拓展版

Arduino太low?有了这块扩展板也许就不同了——DFRobot Accessory Shield评测

  • 作者:SATURN
  • 来源:21ic
  • [导读]
  • 以前笔者也觉得Arduino太Low,作为创客怎么也得RaspberryPi起步。不过近期越玩越被圈粉。丰富的开源库和拓展硬件可以让你快速实现各种需求。还觉得Arduino太Low?你也许只差一个选择。
  • CY8CKIT-040 PSoC 4000先锋开发套件
  • Genuino101 (Arduino101)
  • PIC32-PINGUINO-OTG
  • OM11074
  • CC3220SF LaunchPad (CC3220SF-LAUNCHXL)
  • Arduino 树莓派扩展板
  • LPC General Purpose Shield (OM13082)
  • Curiosity开发板 (DM164137)
有人说Arduino是上帝送给电子入门者的恩赐!有了Arduino,在程序控制下,电路变得更鲜活,更智能。 也有人说,Arduino太low。为啥,板载资源太少,可玩度不够! 是的,需求角度不同,观点自然也不一样,这正是所谓的众口难调! 所以除了Arduino,各种扩展板也应运而生。 Accessory Shield是DFRobot专门为BLUNO(移动设备周边开发平台)所设计的扩展板。Bluno作为首款集成了蓝牙4.0的Arduino UNO主控板,把Android/IOS和Arduino的开源硬件平台用蓝牙4.0紧密的联系在一起。但是光靠BLUNO是不能够与物理世界互动的。尽管用BLUNO与手机建立了通信,但是需要用传感器来采集环境信息,用声光电设备加以反馈。从而利用Arduino丰富的开源硬件资源,Accessory Shield正是为了弥补Arduino的这一不足,通过提供丰富的传感及控制资源,让Arduino更丰满,更具交互性。 虽然Accessory Shield是专为Bluno设计的,但是在一些提供了Arduino UNO兼容接口的开发板上都可以直接使用,比如说现在的STM32 NUCLEO开发板,都提供了UNO兼容接口,当然也就能用在这些开发板上,只不过,代码必须得移植或适配。 image1.jpg 扩展板包含一个OLED显示屏,分辨率为128x64,对于简单的信息显示足够了,比如显示个温度、温度信息,ADC采样信息,还是很方便的。扩展板上包括一个有源蜂鸣器,这是最简单的发声元件,非常容易控制。扩展板还包括一个DHT11温湿度传感器,采集环境中的温湿度,是环境监测的首选。板载一个1.5A继电器模块,能够承载普通的大电流器件,另外还有一个螺旋电位器,用来实现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及库来进行开发。 只可惜手头没有Bluno板,不能享受BLE带来的便利! 不过没关系,使用普通的Arduino板,也可以配合Accessory Shield来玩点不一样的。 先来看OLED显示屏。扩展板上的显示屏使用的是SSD1306,分辨率为128X64,该显示屏的主要特性如下 image5.png 显示屏与MCU的连接如下 image6.png 可以看到显示屏通过I2C接口与MCU连接,MCU通过I2C接口与SSD1306进行通信,控制屏幕显示输出。 配套的驱动库及示例代码可以帮助用户很快的在屏幕上显示一段Hello, world信息。 先要安装对应的库支持。Accessory Shield提供了3个库支持,如下图所示 image7.png BlunoAccessory是扩展板上各外设的驱动库,另外两个是支持库,在BlunoAccessory库中会使用到另外两个库的功能。 先来看第一个Hello, world程序,完整的代码如下 image8.png 使用Arduino库来编程,不需要关心太多的硬件细节,用户更多的是关注程序所要实现的功能。 这里用到了u8glib,一个Arduino环境下常用的GUI库。U8glib包含丰富的功能,也支持大量的硬件设备,有兴趣的读者不妨到官方主页去了解一下。 将代码编译并上传到Arduino开发板,得到的运行结果如下 image9.jpg 有了这个屏,以后再也不需要借助串口来显示运行过程中的一些输出结果了。 扩展板上包括一个DHT11温湿度计,可以用来检测当前的温度和湿度信息。如果想在家里做个小型气象工作站,DHT11就可以派上用场了。 DHT11使用用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性与卓越的长期稳定性。传感器包括一个电阻式感湿元件和一个NTC测温元件。因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。 每个DHT11传感器都在极为精确的湿度校验室中进行校准。校准系数以程序的形式储存在OTP内存中,传感器内部在检测信号的处理过程中要调用这些校准系数。 传感器通过3P数字线直插Arduino。单线制串行接口,使系统集成变得简易快捷。超小的体积、极低的功耗,信号传输距离可达20米以上,使其成为各类应用甚至最为苛刻的应用场合的最佳选则。产品为3脚PH2.0封装,连接方便。 接下来通过Arduino实时显示该传感器的读数变化。在原有代码的基础上,添加获取温、湿度信息,然后在OLED上显示,关键代码如下
  • 本文系21ic原创,未经许可禁止转载!

网友评论