当Arduino遇到树莓派

文章作者:Maurizio Di Paolo Emilio

Arduino Nano RP2040 Connect为已经庞大的Arduino板家族增添了新的元素。

Arduino板的大家庭被一个新的入口丰富了ArduinoNano RP2040 Connect,集成了由树莓派基金会开发的RP2040微控制器与u-blox尼娜- w102 Wi-Fi和蓝牙无线电模块,以及一套丰富的先进传感器,甚至能够支持人工智能算法。事实上,该板包括一个支持语音激活功能的数字麦克风、一个六轴惯性运动传感器(IMU)、一个小型RGB LED和一个广泛可用的闪存(16mb),能够满足甚至最苛刻的应用程序。

新板继承了树莓派RP2040对MicroPython和C/ c++语言的编程支持,这两种语言都是基于为树莓派Pico板开发的sdk。与Arduino家族的所有其他板一样,最新的新增板支持本地编程环境,如众所周知的Arduino IDE(现在是2.0版)、Arduino CLI、IoT云和Web Editor。后者允许直接从web浏览器编程和控制Nano RP2040 Connect的操作。因此,可以通过免费的Arduino IoT remote智能手机应用程序即时远程控制上传草图。

RP2040单片机被选中,是因为它代表了“英国航空公司特质d“覆盆子和Arduino的世界,所有这些应用程序的理想的解决方案,不需要一个“完整”的复杂性和性能覆盆子π,同时受益于先进的功能在一个竞争非常激烈的成本。

另一个值得注意的特点是,该板属于Arduino Nano Mbed OS家族,这是一组具有普通小尺寸的板(“Nano”占地面积,尺寸仅为18 × 43毫米),并支持基于ARM的Mbed OS操作系统的物联网应用程序。目前,这个系列包括三个板:Nano 33 BLE, Nano 33 BLE Sense,和Nano RP2040 Connect (Nano 33 IoT不是其中的一部分,因为它不支持Mbed操作系统)。图1显示了Arduino Nano RP2040 Connect板的四分之三视图,这里是没有安装引脚头的版本。

arduino纳米

图1:Arduino Nano RP2040连接

框图

该板框图如图2所示。心脏由RP2040微控制器代表,能够通过经典的USB连接与主机开发和调试环境通信,并通过四轴SPI串行高速接口与16 mb外部闪存。3.3 V电源由MP2322稳压器提供,可从USB端口选择输入源(VUSB)或从外部电源(V).NINA W102 Wi-Fi/蓝牙模块通过I与micro连接2C、SPI和UART接口,RGB LED连接到它。其他传感器通过PDM (pulse-density modulation)数字音频接口连接MEMS麦克风,通过I连接六轴运动传感器和认证模块2C总线。运行在12 MHz的外部MEMS振荡器提供时钟脉冲。

arduino纳米

图2:板框图

的组件

图3突出显示了该板的主要组件。首先,我们有RP2040芯片,一个32位双核微控制器基于ARM Cortex M0+,工作在133 MHz,伴随着一个集成的264 kb SRAM内存。该MCU的优异性能和高效率使其能够支持使用TinyML、TensorFlow Lite或Edge Impulse开发的机器学习算法。除了对MicroPython的全面支持(2021年7月开始提供),该委员会还为机器视觉项目提供了免费的OpenMV许可证。RP2040微控制器提供的功能包括:

  • 直接存储器存取控制器
  • USB 1.1控制器和PHY,带有主机和设备支持
  • 8个可编程io状态机
  • 可编程IO扩展外设支持
  • 四通道ADC内部温度传感器,0.5-MS/s, 12位转换
  • 社署调试
  • 两个片上锁相环产生USB和核心时钟
  • 多种低电力模式支持
  • USB 1.1主机/设备
  • 内部电压调节器提供核心电压
  • 先进的高性能总线/先进的外围总线

arduino纳米

图3:主板的主要组成部分

继MCU之后,这张卡的第二个优点就是连接性,通过u-blox NINA W102无线模块,这是一个廉价且易于适应的设备。该模块还增加了4个模拟gpio (RP2040只有4个模拟引脚),使总数达到8个,与其他Arduino纳米板一致。无线电模块配备了集成天线,基于双核Xtensa LX6 CPU,可以使用SWD接口和位于板背面的特殊板独立于RP2040进行编程。在实际应用中,NINA W102模块采用了与ESP32模块相同的CPU,以及Arduino和树莓派。ESP32是目前厂商最流行的硬件平台之一。RGB LED连接到无线电模块,可以使用为模块本身开发的相同库(WiFiNINA)驱动。物联网应用中使用的连接要求高度安全,以在所有运行条件下保持传输数据的一致性,并防止来自外部的潜在攻击。为此目的,设计人员包括一个功能强大的密码协处理器,Arduino MKR家族的电路板上已经使用了Microchip ATECC608A。密码协处理器的特点是特别低的功率吸收,它支持安全引导、硬件支持非对称符号、验证、密钥协议、硬件支持对称算法(SHA-256和HMAC、AES-128)和网络密钥管理支持。

传感器设备包括ST LSM6DSOX六轴IMU,它结合了一个3D加速度计和一个3D陀螺仪和一个专用的机器学习核心。该组件主要用于移动市场,因为“永远在线”操作需要特别低的功耗,提供了以下技术特点:

  • 3D陀螺仪,±2-/±4-/±8-/±16-全量程
  • 3D加速度计,±125-/±250-/±500-/±1,000-/±2,000 dps满量程
  • 先进的计步器,步进检测器,步进计数器
  • 显著运动检测,倾斜检测
  • 标准中断:自由落体,觉醒,6D/4D方向,点击双击
  • 可编程有限状态机:加速度计,陀螺仪,和外部传感器
  • 机器学习的核心
  • 嵌入式温度传感器

通过使用专用的Arduino LSM6DSOX库,可以轻松地对设备进行编程。

另一个相关的传感器是全向数字麦克风,它可以用于声音激活,音频控制,甚至人工智能语音识别。MP34DT05麦克风实时捕捉和分析声音,可用于为任何项目创建语音接口。ST MP34DT05-A是一款超紧凑、低功耗、全向、数字MEMS麦克风,内置电容式传感元件和IC接口。能够检测声波的传感元件使用MEMS工艺制造,而IC接口使用CMOS工艺制造,以PDM格式对外提供数字信号。MP34DT05-A是一款低失真的数字麦克风,具有64分贝的信噪比和- 26 dbfs±3分贝的灵敏度。可以使用专用的Arduino PDM库对设备进行编程。

对于可编程I/O引脚,该板提供8个模拟输入引脚和22个数字I/O引脚(其中20个可配置为PWM发生器或外部中断)。Pin 13上也有一个内置的用户LED。图4显示了Arduino Nano RP2040 Connect板的完整引脚,也可预装头引脚。引脚布局组织良好,所有模拟和电源引脚在左头和数字引脚在右头。如图2所示,RP2040 MCU提供了对UART、SPI和I的支持2C通信。

arduino纳米

图4:板pinout

关于应用,Arduino Nano RP2040 Connect可以适用于广泛的用例,包括:

  • 边缘计算:TinyML可以用于异常检测、咳嗽检测、手势分析等。
  • 可穿戴设备:减少的占地面积使机器学习算法能够部署在广泛的可穿戴设备上,包括运动跟踪器和VR控制器。
  • 语音助理:Arduino Nano RP2040 Connect包括一个全向麦克风,可以用作个人数字助理,实现不同项目的语音控制。

留下你的评论