如何在Arduino上部署emlearn模型:从训练到LED控制的完整教程

发布时间:2026/8/1 21:09:15

如何在Arduino上部署emlearn模型:从训练到LED控制的完整教程 如何在Arduino上部署emlearn模型从训练到LED控制的完整教程【免费下载链接】emlearnMachine Learning inference engine for Microcontrollers and Embedded devices项目地址: https://gitcode.com/gh_mirrors/em/emlearnemlearn是一款专为微控制器和嵌入式设备设计的机器学习推理引擎能帮助开发者在资源受限的硬件上轻松实现AI功能。本教程将带你完成从模型训练到在Arduino上部署并控制LED的全过程即使是新手也能快速上手。准备工作搭建开发环境开始前需要准备以下工具和材料安装 Arduino IDE准备任意Arduino兼容开发板如Arduino Leonardo安装emlearn Python库用于模型训练杜邦线、LED灯和220Ω电阻用于电路连接首先克隆emlearn项目仓库git clone https://gitcode.com/gh_mirrors/em/emlearn然后安装必要的Python依赖cd emlearn pip install -r requirements.txt第一步训练简单的XOR模型我们将从经典的XOR逻辑函数入手训练一个能根据输入状态控制LED的模型。创建训练脚本xor_train.py可参考 docs/helloworld_xor/xor_train.pyimport emlearn import numpy as np from sklearn.tree import DecisionTreeClassifier # 准备XOR训练数据 X np.array([[0, 0], [0, 1], [1, 0], [1, 1]], dtypenp.float32) y np.array([0, 1, 1, 0], dtypenp.int32) # 训练决策树模型 model DecisionTreeClassifier(max_depth2) model.fit(X, y) # 转换为C代码并保存 cmodel emlearn.convert(model) cmodel.save(xor_model.h)运行脚本生成模型文件python xor_train.py成功执行后会生成xor_model.h文件这就是我们需要部署到Arduino的模型。第二步安装emlearn Arduino库emlearn提供了专门的Arduino库包含模型推理所需的核心函数python -m emlearn.arduino.install该命令会自动将emlearn库安装到Arduino的库目录中通常路径类似C:\Users\用户名\Documents\Arduino\libraries\emlearnWindows或/home/用户名/Arduino/libraries/emlearnLinux第三步编写Arduino控制代码打开Arduino IDE创建新 sketch 并保存为emlearn_led_control复制以下代码完整代码可参考 docs/helloworld_xor/helloworld_xor.ino#include emlearn.h #include xor_model.h // 导入我们训练的模型 // 定义输入输出引脚 const int pinA 2; // 数字输入A const int pinB 3; // 数字输入B const int ledPin 13; // 板载LED引脚 void setup() { pinMode(pinA, INPUT); pinMode(pinB, INPUT); pinMode(ledPin, OUTPUT); } void loop() { // 读取输入值 const int a digitalRead(pinA); const int b digitalRead(pinB); // 准备输入特征 const float features[2] { (float)a, (float)b }; // 使用emlearn模型进行预测 const int prediction xor_model_predict(features); // 控制LED digitalWrite(ledPin, prediction ? HIGH : LOW); delay(100); // 短暂延迟 }将之前生成的xor_model.h文件复制到Arduino sketch目录中第四步电路连接与上传代码按照以下方式连接电路将两个数字输入引脚2和3分别通过杜邦线连接到GND或5V模拟高低电平LED的长脚正极通过220Ω电阻连接到引脚13LED的短脚负极连接到GND在Arduino IDE中选择正确的开发板和端口点击上传按钮将代码烧录到设备中。测试模型验证LED控制效果模型实现了XOR逻辑功能当两个输入状态不同时LED点亮相同时LED熄灭LED点亮预测结果1的情况输入A高电平输入B低电平输入A低电平输入B高电平LED熄灭预测结果0的情况输入A高电平输入B高电平输入A低电平输入B低电平进阶应用探索更多可能性掌握基础流程后你可以尝试使用模拟传感器如光敏电阻作为输入训练更复杂的模型如通过 emlearn/trees.py 实现多分类优化模型大小和速度参考 docs/optimizing-tree-models.md尝试其他嵌入式平台如ESP32、STM32emlearn让嵌入式设备上的机器学习变得简单无论是智能家居、工业控制还是物联网设备都能轻松集成AI功能。现在就开始你的嵌入式AI之旅吧【免费下载链接】emlearnMachine Learning inference engine for Microcontrollers and Embedded devices项目地址: https://gitcode.com/gh_mirrors/em/emlearn创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻