要下载 Arduino Nano 33 BLE Sense 开发板的 TensorFlow 例程,可按照以下步骤操作:
1. 安装 Arduino_TensorFlowLite 库
方法一:手动安装指定版本库
打开 链接: TensorFlow Lite for Microcontrollers 的 GitHub 仓库,找到历史提交中对应 1.14-ALPHA 版本的代码。
将仓库克隆或下载为 ZIP 文件后,解压到 Arduino 库目录(如 Windows 下的 我的文档\Arduino\libraries),命名为Arduino_TensorFlowLite,【非常重要!】。
重启 Arduino IDE,即可在 “示例” 中找到对应版本的例程。
方法二:使用兼容库替代
若对版本要求不严格,可使用 Harvard_TinyMLx 库(在 Arduino IDE 库管理器中可直接搜索 “Tensorflow” 安装),它包含了适配 Arduino Nano 33 BLE Sense 的 TensorFlow Lite 组件,能满足书中大部分 TinyML 实验需求。
下面的内容符合方法一
2. 获取第一个例程
- 安装完成后,在 Arduino IDE 中依次点击文件 > 示例 > Arduino_TensorFlowLite,即可看到
micro_speech(语音识别)、magic_wand(手势识别)等例程,选择对应例程即可打开使用。 - 若需更丰富的例程,可通过 Git 克隆官方仓库:在终端中执行
git clone https://github.com/tensorflow/tflite-micro-arduino-examples arduino_tensorflowlite,将其放置在 Arduino 库目录(如 Windows 下的我的文档\Arduino\libraries),之后在 Arduino IDE 的示例菜单中会出现更多 TensorFlow Lite 例程。 - 载入 hello_word 例程。

这个 “hello_world” 程序是 TensorFlow Lite for Microcontrollers 在 Arduino 上的入门级演示应用,核心功能是训练并部署一个用于近似正弦函数的机器学习模型,通过模型输出控制 Arduino 的 LED 实现 “呼吸灯” 效果(或串口输出正弦波形数据)。
具体来说,它的工作流程是:
【模型训练】 在 PC 端用 TensorFlow 训练一个小型神经网络,让其学习输入数值与对应正弦值的映射关系;
【模型压缩与部署】 将训练好的模型转换为 TFLite 格式并量化,嵌入到 Arduino 代码中;
【本地化推理】 使Arduino 周期性输入数值(从 0 到 2π 循环),通过模型推理得到近似正弦值,再根据该值控制 LED 的 PWM 亮度(实现渐变闪烁),或通过串口输出波形数据。
这个程序的意义在于演示 TinyML 在资源受限设备上的完整工作流,帮助开发者理解 “模型训练→压缩→嵌入式部署→本地化推理” 的全流程,是学习 TensorFlow Lite 与 Arduino 结合的经典入门案例。
3.安装Nano 33 BLE Sense的开发板支持库
在开发版管理器中,搜索 “mbed nano” ,安装Arduino nano 33 ble sense设备,安装Arduino Mbed OS Nano Boards。

-这个库为特定硬件提供支持
Arduino Nano 33 BLE Sense: 这是一款集成了蓝牙低功耗(BLE)、多种传感器(如加速度计、陀螺仪、环境光传感器、麦克风等)的开发板。安装其设备支持包后,Arduino IDE 才能识别该硬件,允许开发者选择该开发板进行编译和上传代码,确保代码能适配其硬件架构(如处理器、引脚定义等)。
Arduino Mbed OS Nano Boards: Mbed OS 是一个针对物联网设备的开源操作系统。该支持包为基于 Mbed OS 的 Arduino Nano 系列开发板(如 Nano 33 BLE、Nano 33 BLE Sense 等)提供了底层驱动和系统支持,使得开发者可以利用 Mbed OS 的功能(如低功耗管理、网络通信、多任务处理等)来开发更复杂的应用。
-确保编译和上传的兼容性
不同的开发板具有不同的处理器架构、编译选项和上传协议。安装对应的开发板支持包后,Arduino IDE 会获取到该开发板的编译配置(如编译器类型、优化选项等)和上传工具(如串口上传、DFU 上传等),从而确保代码能正确编译并成功上传到开发板上运行。
-支持特定功能的开发
例如,对于 Arduino Nano 33 BLE Sense,安装支持包后,开发者可以使用其内置传感器的相关库来读取传感器数据(如加速度、环境光强度等),利用其 BLE 功能进行蓝牙通信开发等。而 Mbed OS 的支持则为开发需要网络连接、低功耗运行的物联网应用提供了基础。
4. 使用 Arduino 上传程序
选择正确的**Arduino设备型号**。

- Arduino编辑器直接编译和上传即可。
- 上传程序需要很长时间,只要没结束编译,就一直等。

- 终于上传完成后

- 上传成功后,你应该可以看到Arduino电路板上的LED开始逐渐变亮熄灭,恭喜你已经在设备升运行ML了。
sine模型控制LED
- 你也可以用图标来观察亮度值,在Arduino IDE的【工具】选项下选择【串口绘图仪】来打开它,如图。

因为这是通过机器学习推理出来的结果与数学标准的正弦函数是有差别的。
补充:
无法直接在Arduino Nano 33 BLE Sense 开发板上训练 TensorFlow Lite 的 hello_world 程序(或其他机器学习模型),原因如下:
1. 硬件性能限制
Arduino Nano 33 BLE Sense 搭载的是 nRF52840 芯片 (32 位 ARM Cortex-M4 内核,64MHz 主频,1MB 闪存 + 256KB RAM),算力和内存非常有限。
机器学习模型的训练(尤其是神经网络)需要大量的计算资源(如 GPU 加速、大内存),而开发板的硬件性能仅能满足模型推理(即运行已训练好的模型),无法支撑训练过程。
2. hello_world 例程的本质
TensorFlow Lite for Microcontrollers 的 hello_world 例程是一个预训练模型的推理演示:它使用一个已训练好的简单模型(如拟合正弦曲线),在开发板上运行推理,输出预测结果。
该例程的核心是展示 “如何在微控制器上部署模型” ,而非训练模型。
正确的流程: “PC 端训练 + 开发板推理”
若要使用 Arduino Nano 33 BLE Sense 运行机器学习模型,标准流程是:在 PC 或云端训练模型:
使用 TensorFlow 或 Keras 在电脑上设计、训练模型(如 hello_world 中的正弦曲线拟合模型)。
将训练好的模型转换为 TensorFlow Lite Micro 格式(.tflite 微型模型),并进行量化压缩(减少体积和计算量)。
在开发板上部署推理:
将 .tflite 模型文件嵌入 Arduino 代码(如 hello_world 例程中已内置模型数组)。
通过 TensorFlow Lite Micro 库在开发板上加载模型,运行推理(即使用模型进行预测)。
总结
Arduino Nano 33 BLE Sense 只能运行已训练好的模型(推理),无法直接在板上训练模型。hello_world 例程的作用是演示推理过程,其模型早已在 PC 端训练完成并嵌入代码中。若需修改模型,需在电脑上重新训练并转换格式后,再部署到开发板。
Arduino 官方的产品销售渠道上Arduino Nano 33 BLE Sense资料查看

在线课程_设置你的硬件:[设置硬件]课程链接
下载 Arduino Nano 33 BLE Sense 开发板的 TensorFlow 例程&spm=1001.2101.3001.5002&articleId=154726097&d=1&t=3&u=f7304022517040d29fe881026aef639f)
2642

被折叠的 条评论
为什么被折叠?



