×

Arduino Nano 33 Sense BLE开源

消耗积分:2 | 格式:zip | 大小:0.07 MB | 2023-06-26

贾虎世

分享资料个

描述

介绍

Arduino 为物联网世界推出了又一轮创新。Nano 33 Sense BLE 装有环境监测传感器,其数据可以使用蓝牙通信协议传输到主机。它是评估可利用手势和声音输入的移动解决方案的理想平台。与大多数 Arduino 平台一样,开发是使用多功能集成开发环境 (IDE) 或云接口进行的。该板的微控制器是 Nordic Semiconductor 的 nRF52480。

 
pYYBAGPp3jiAEyw2AALx4Ia4LC0379.jpg
 

本说明是探索与板载传感器接口的库的一系列简单练习中的第一个,例如:

  • 具有 9 个轴(自由度)的惯性测量单元 (IMU)
  • 温度
  • 压力
  • 湿度
  • 颜色
  • 麦克风

由于传感器安装在板上,因此学习曲线更快,因为在面包板上调试连接线是多余的。这些练习中使用的电路板安装了接头——再次消除了购买后进行焊接冒险的需要(对于初学者)。如需更多定制解决方案,可以购买不带接头的型号。

微电脑

该项目是几个自定进度的培训练习的开始,这些练习将说明 Nano 33 库的使用:

  • 用于蓝牙的 NINA B306
  • 用于 IMU 的 LSM9DS1
  • LPS22HB 用于大气压力和环境温度
  • HTS221 用于湿度
  • 用于接近、光线、RGB 和手势传感器的 ADPS-9960
  • 麦克风用 MP34DT05

本说明仅检查用于蓝牙连接的 NINA B306 库。

妮娜B306

u-blox的独立蓝牙 5 低功耗芯片组在相应的数据表中说明了其天线辐射模式。有 28 个数字引脚。

电源模式

模块共有三种电源模式:

  • 积极的
  • 支持
  • 睡觉

串行通信接口

模块支持以下串口通信接口:

  • 通用异步接收器/发送器 (UART),4 线,2x
  • 串行外设接口 (SPI),3x
  • 排队串行外设接口 (QSPI),1x
  • 内部集成电路 (I2C),2x
  • 内部 IC 声音 (I2S),1x
  • 通用串行总线 (USB),2.0,1x

数字接口

有两个关键的数字接口:

  • 脉冲宽度调制 (PWM)
  • 脉冲密度调制 (PDM)

脉宽调制

有12个独立的PWM通道来控制:

  • 电机
  • 发光二极管 (LED)
  • 音频信号

每个通道都使用一个通用输入/输出 (GPIO) 引脚来输出信号。

产品数据管理

当前应用中的 PDM 主要与数字麦克风一起使用,用于 16 kHz 速率的 16 位样本。它通过单个 GPIO 引脚支持单通道或双通道数据。

模拟接口

使用 38 个数字 GPIO 中的 8 个,通过以下功能支持模拟操作:

  • 模数 (ADC),8 通道,1x
  • 从 0 V 到 VCC 的全摆幅输入范围
  • 8/10/12 位分辨率
  • 带过采样的 14 位分辨率
  • 高达 200 kHz 的采样率
  • 单次或连续采样
  • 两种操作模式:
  • 单端单输入引脚
  • 具有两个输入引脚的差分和它们之间的电压电平差被采样
  • 任一:模拟比较器,1x
  • 或者:低功耗模拟比较器,1x

命令

出于本说明的有限目的,仅在示例代码中检查了蓝牙功能的命令,该示例代码介绍了客户端-服务器操作,该操作与通知特性结合成为发布和订阅模型。

 
poYBAGPp3jyAewZIAAAiGUaK01A960.jpg
 

例子

介绍性示例说明了使用具有以下类的库:

  • 低功耗蓝牙
  • BLE特性
  • BLE服务

低功耗蓝牙

库中为设备启用蓝牙服务的主要类是BLE (低功耗蓝牙或智能蓝牙)。示例代码中使用的关键接口如下所示:

 
pYYBAGPp3j6AdjIfAAAU_4cOZYU581.jpg
 

开始

begin方法初始化 BLE 设备,它在成功时返回 1,失败时返回 0

结尾

end方法停止 BLE 设备。

添加服务

addService方法将 BLE 服务添加到 BLE 设备提供服务集中。

设置本地名称

setLocalName方法设置用于通告 BLE 设备的本地值(即文本字符串

广告

advertise方法启动 BLE 设备的服务广告

BLE特性

BLECharacteristic 类允许在设备上设置服务。

 
pYYBAGPp3kCANl7xAAAzFfqLNtI601.jpg
 

BLE特性

此类的BLECharacteristic构造函数为设备创建了一个新的 BLE 特性。

写值

writeValue方法顾名思义,写入指定 BLECharacteristic 的值。

价值

value方法,查询BLE设备指定BLECharacteristic的当前值

BLE服务

BLEService 类启用 BLE 设备的服务。

BLE服务

BLEService构造函数使用作为参数传递给该方法的uuid字符串为BLE 设备实例化一个新的 BLE 服务。

以下 uuid 字符串引用 LED 服务:

	"19B10000-E8F2-537E-4F6C-D104768A1214"      

添加特性

addCharacteristic方法将bleCharacteristic添加到 BLE 设备实例化服务中。

bleCharacteristic参数是通过从相应的类实例化设置的,如下所示:

BLEChacteristic ledCharacteristic uuid 选项

BLEChacteristic buttonCharacteristic ( uuid ,选项)

其中 option 是以下任何模式的联合:

  • BLE通知
  • BLE读取
  • 蓝牙写

记录构建

这套介绍性的基本和基本项目中的所有项目、微型计算机板和面包板都安装在基板上。该底板的优点是:

  • 凹陷的轮廓以消除底部暴露
  • 足够的螺丝来安装 Arduino(UNO 或 Mega)或 RaspberryPi 板
  • 用于随附螺钉的预钻孔对齐孔
  • 将底板固定在桌子上的孔
  • 全尺寸面包板插槽
 
poYBAGPp3kKAUTupAAAqM2B0yV0543.jpg
 

下图展示了 Nano33 在全尺寸面包板中间的安装座,按钮位于边缘,以方便插入其他组件和相关接线以供将来练习使用。

 
pYYBAGPp3kWAFAbKAACDB6ezpUE188.jpg
 

原理图

下图说明了测试超声波传感器的基本练习的示意图:

 
pYYBAGPp3kmARkdmAAA86REOlQg051.jpg
 

下面的装配图说明了练习的建议布局:

 
pYYBAGPp3kuAaiUpAAB8JE7jq5I414.jpg
 

 

 


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !