如何基于Mind+用Arduino Uno做一个智能台灯?

2026-01-161725
AI 快速预览详细 收起
本文介绍了如何使用Arduino Uno制作一个智能台灯,核心功能是环境光自适应调光和坐姿过近提醒。所需物料包括Arduino Uno主控、超声波模块、光敏电阻模块、LED灯带、IRF520 PWM调光模块和蜂鸣器等。对于初学者,特别是家长带孩子进行亲子共学,本文提供了详细的MIND+编程指导,特别是在上传模式中如何搭建串口调试输出的具体步骤。
我是一名家长,想带孩子做一个智能台灯,核心功能是“环境光自适应调光 + 坐姿过近提醒”,但是我是第一次接触Arduino,编程也不懂,只能用能看懂的Mind+。查了Deepceek,也学习了一些视频,有了初步的了解。物料也都买了:Arduino Uno主控、超声波模块、光敏电阻模块、LED灯带、IRF520 PWM调光模块、蜂鸣器等。现在在用MIND+写程序,现在急需问的问题是:在上传模式中最后搭建串口调试输出如何操作???请给小白指点,谢谢!

下面是Deepceek提示的最后一步:


第五步:搭建串口调试输出(非常重要)
  • 拼接字符串:

    • 从 “文本” 分类中,拖出 [连接字符串] 模块。
    • 点击蓝色齿轮图标,增加插槽,总共约4-5个。
    • 依次插入以下内容(带引号的是直接输入的文本,不带引号的是拖入的变量):
      "距离:" + [超声波距离变量] + "cm | 光照:" + [A0光照值变量] + " | 亮度:" + [约束后亮度变量]

  • 串口打印:
    • 从 “串行” 分类中,拖出 [串口打印] 模块。
    • 将 [连接字符串] 模块拖入其前方的插槽。




创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(2)
科创新星
科创新星
作者
哈哈,我问了DeepSeek,重新插了一下USB接口,然后就上传成功了,实现了想要的效果。不过关于“搭建串口调试输出”还是不会,还需要请教大家,谢谢!
科创新星
科创新星
作者
我省略了第五步,上传出错了,请帮忙看看,谢谢!
/*!
* MindPlus
* DFRobot, Arduino Uno
*/
#include
// 动态变量
volatile float mind_n_my_variable;
// 创建对象
DFRobot_URM10 urm10;
// 主程序开始
void setup() {
pinMode(2, OUTPUT);
pinMode(3, INPUT);
pinMode(7, OUTPUT);
Serial.begin(9600);
}
void loop() {
mind_n_my_variable = (urm10.getDistanceCM(2, 3));
if (((urm10.getDistanceCM(2, 3))<30)) {
digitalWrite(7, HIGH);
}
else {
digitalWrite(7, LOW);
}
analogWrite(9, (constrain((map(analogRead(A0), 0, 800, 255, 5)), 5, 255)));
}
开始编译...
Unable to get Documents Folder: The system cannot find the path specified.
time="2026-01-16T20:02:37+08:00" level=warning msg="Unable to get Documents Folder: The system cannot find the path specified."
FQBN: mindplus:avr:uno
使用平台的 ‘uno’ 开发板,在列出的文件夹中:C:\Users\Administrator\AppData\Local\mind+\Arduino\packages\mindplus\hardware\avr\0.0.1
使用平台的 ‘arduino’ 代码,在列出的文件夹中:C:\Users\Administrator\AppData\Local\mind+\Arduino\packages\mindplus\hardware\avr\0.0.1
正在检测使用的库。。。
"C:\\Users\\Administrator\\AppData\\Local\\mind+\\Arduino\\packages\\mindplus\\tools\\avr-gcc\\5.4.0/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR "-IC:\\Users\\Administrator\\AppData\\Local\\mind+\\Arduino\\packages\\mindplus\\hardware\\avr\\0.0.1\\cores\\arduino" "-IC:\\Users\\Administrator\\AppData\\Local\\mind+\\Arduino\\packages\\mindplus\\hardware\\avr\\0.0.1\\variants\\standard" "C:\\Users\\Administrator\\AppData\\Local\\mind+\\cache\\tmp_dev-DFRobot-arduinoUno\\build\\sketch\\tmp_dev-DFRobot-arduinoUno.ino.cpp" -o nul
DFRobot_URM10.h 的替代方案:[[email]DFRobot_Mindplus_URM10@1.0.1[/email]]
ResolveLibrary(DFRobot_URM10.h)
-> 候选: [[email]DFRobot_Mindplus_URM10@1.0.1[/email]]
"C:\\Users\\Administrator\\AppData\\Local\\mind+\\Arduino\\packages\\mindplus\\tools\\avr-gcc\\5.4.0/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR "-IC:\\Users\\Administrator\\AppData\\Local\\mind+\\Arduino\\packages\\mindplus\\hardware\\avr\\0.0.1\\cores\\arduino" "-IC:\\Users\\Administrator\\AppData\\Local\\mind+\\Arduino\\packages\\mindplus\\hardware\\avr\\0.0.1\\variants\\standard" "-IC:\\Users\\Administrator\\AppData\\Local\\mind+\\Arduino\\user\\libraries\\DFRobot_Mindplus_URM10" "C:\\Users\\Administrator\\AppData\\Local\\mind+\\cache\\tmp_dev-DFRobot-arduinoUno\\build\\sketch\\tmp_dev-DFRobot-arduinoUno.ino.cpp" -o nul
"C:\\Users\\Administrator\\AppData\\Local\\mind+\\Arduino\\packages\\mindplus\\tools\\avr-gcc\\5.4.0/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR "-IC:\\Users\\Administrator\\AppData\\Local\\mind+\\Arduino\\packages\\mindplus\\hardware\\avr\\0.0.1\\cores\\arduino" "-IC:\\Users\\Administrator\\AppData\\Local\\mind+\\Arduino\\packages\\mindplus\\hardware\\avr\\0.0.1\\variants\\standard" "-IC:\\Users\\Administrator\\AppData\\Local\\mind+\\Arduino\\user\\libraries\\DFRobot_Mindplus_URM10" "C:\\Users\\Administrator\\AppData\\Local\\mind+\\Arduino\\user\\libraries\\DFRobot_Mindplus_URM10\\DFRobot_URM10.cpp" -o nul
生成函数原型。。。
"C:\\Users\\Administrator\\AppData\\Local\\mind+\\Arduino\\packages\\mindplus\\tools\\avr-gcc\\5.4.0/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR "-IC:\\Users\\Administrator\\AppData\\Local\\mind+\\Arduino\\packages\\mindplus\\hardware\\avr\\0.0.1\\cores\\arduino" "-IC:\\Users\\Administrator\\AppData\\Local\\mind+\\Arduino\\packages\\mindplus\\hardware\\avr\\0.0.1\\variants\\standard" "-IC:\\Users\\Administrator\\AppData\\Local\\mind+\\Arduino\\user\\libraries\\DFRobot_Mindplus_URM10" "C:\\Users\\Administrator\\AppData\\Local\\mind+\\cache\\tmp_dev-DFRobot-arduinoUno\\build\\sketch\\tmp_dev-DFRobot-arduinoUno.ino.cpp" -o "C:\\Users\\Administrator\\AppData\\Local\\mind+\\cache\\tmp_dev-DFRobot-arduinoUno\\build\\preproc\\sketch_merged.cpp"
"C:\\Users\\Administrator\\AppData\\Local\\mind+\\Arduino\\packages\\builtin\\tools\\ctags\\5.8-arduino11/ctags" -u --language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns --line-directives "C:\\Users\\Administrator\\AppData\\Local\\mind+\\cache\\tmp_dev-DFRobot-arduinoUno\\build\\preproc\\sketch_merged.cpp"
正在编译项目。。。
"C:\\Users\\Administrator\\AppData\\Local\\mind+\\Arduino\\packages\\mindplus\\tools\\avr-gcc\\5.4.0/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -flto -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR "-IC:\\Users\\Administrator\\AppData\\Local\\mind+\\Arduino\\packages\\mindplus\\hardware\\avr\\0.0.1\\cores\\arduino" "-IC:\\Users\\Administrator\\AppData\\Local\\mind+\\Arduino\\packages\\mindplus\\hardware\\avr\\0.0.1\\variants\\standard" "-IC:\\Users\\Administrator\\AppData\\Local\\mind+\\Arduino\\user\\libraries\\DFRobot_Mindplus_URM10" "C:\\Users\\Administrator\\AppData\\Local\\mind+\\cache\\tmp_dev-DFRobot-arduinoUno\\build\\sketch\\tmp_dev-DFRobot-arduinoUno.ino.cpp" -o "C:\\Users\\Administrator\\AppData\\Local\\mind+\\cache\\tmp_dev-DFRobot-arduinoUno\\build\\sketch\\tmp_dev-DFRobot-arduinoUno.ino.cpp.o"
正在编译库。。。
正在编译 “DFRobot_Mindplus_URM10” 库
"C:\\Users\\Administrator\\AppData\\Local\\mind+\\Arduino\\packages\\mindplus\\tools\\avr-gcc\\5.4.0/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -flto -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR "-IC:\\Users\\Administrator\\AppData\\Local\\mind+\\Arduino\\packages\\mindplus\\hardware\\avr\\0.0.1\\cores\\arduino" "-IC:\\Users\\Administrator\\AppData\\Local\\mind+\\Arduino\\packages\\mindplus\\hardware\\avr\\0.0.1\\variants\\standard" "-IC:\\Users\\Administrator\\AppData\\Local\\mind+\\Arduino\\user\\libraries\\DFRobot_Mindplus_URM10" "C:\\Users\\Administrator\\AppData\\Local\\mind+\\Arduino\\user\\libraries\\DFRobot_Mindplus_URM10\\DFRobot_URM10.cpp" -o "C:\\Users\\Administrator\\AppData\\Local\\mind+\\cache\\tmp_dev-DFRobot-arduinoUno\\build\\libraries\\DFRobot_Mindplus_URM10\\DFRobot_URM10.cpp.o"
正在编译内核。。。
使用预编译代码:C:\Users\Administrator\AppData\Local\mind+\cache\cores\dev-DFRobot-arduinoUno\core\mindplus_avr_uno_1d516bd9ca3cade042773e8996b9574c\core.a
将所有内容链接在一起。。。
"C:\\Users\\Administrator\\AppData\\Local\\mind+\\Arduino\\packages\\mindplus\\tools\\avr-gcc\\5.4.0/bin/avr-gcc" -w -Os -g -flto -fuse-linker-plugin -Wl,--gc-sections -mmcu=atmega328p -o "C:\\Users\\Administrator\\AppData\\Local\\mind+\\cache\\tmp_dev-DFRobot-arduinoUno\\build/tmp_dev-DFRobot-arduinoUno.ino.elf" "C:\\Users\\Administrator\\AppData\\Local\\mind+\\cache\\tmp_dev-DFRobot-arduinoUno\\build\\sketch\\tmp_dev-DFRobot-arduinoUno.ino.cpp.o" "C:\\Users\\Administrator\\AppData\\Local\\mind+\\cache\\tmp_dev-DFRobot-arduinoUno\\build\\libraries\\DFRobot_Mindplus_URM10\\DFRobot_URM10.cpp.o" "C:\\Users\\Administrator\\AppData\\Local\\mind+\\cache\\tmp_dev-DFRobot-arduinoUno\\build/..\\..\\cores\\dev-DFRobot-arduinoUno\\core\\mindplus_avr_uno_1d516bd9ca3cade042773e8996b9574c\\core.a" "-LC:\\Users\\Administrator\\AppData\\Local\\mind+\\cache\\tmp_dev-DFRobot-arduinoUno\\build" -lm
"C:\\Users\\Administrator\\AppData\\Local\\mind+\\Arduino\\packages\\mindplus\\tools\\avr-gcc\\5.4.0/bin/avr-objcopy" -O ihex -j .eeprom --set-section-flags=.eeprom=alloc,load --no-change-warnings --change-section-lma .eeprom=0 "C:\\Users\\Administrator\\AppData\\Local\\mind+\\cache\\tmp_dev-DFRobot-arduinoUno\\build/tmp_dev-DFRobot-arduinoUno.ino.elf" "C:\\Users\\Administrator\\AppData\\Local\\mind+\\cache\\tmp_dev-DFRobot-arduinoUno\\build/tmp_dev-DFRobot-arduinoUno.ino.eep"
"C:\\Users\\Administrator\\AppData\\Local\\mind+\\Arduino\\packages\\mindplus\\tools\\avr-gcc\\5.4.0/bin/avr-objcopy" -O ihex -R .eeprom "C:\\Users\\Administrator\\AppData\\Local\\mind+\\cache\\tmp_dev-DFRobot-arduinoUno\\build/tmp_dev-DFRobot-arduinoUno.ino.elf" "C:\\Users\\Administrator\\AppData\\Local\\mind+\\cache\\tmp_dev-DFRobot-arduinoUno\\build/tmp_dev-DFRobot-arduinoUno.ino.hex"
使用 1.0.1 版本的 DFRobot_Mindplus_URM10 库,在列出的文件夹中:C:\Users\Administrator\AppData\Local\mind+\Arduino\user\libraries\DFRobot_Mindplus_URM10
"C:\\Users\\Administrator\\AppData\\Local\\mind+\\Arduino\\packages\\mindplus\\tools\\avr-gcc\\5.4.0/bin/avr-size" -A "C:\\Users\\Administrator\\AppData\\Local\\mind+\\cache\\tmp_dev-DFRobot-arduinoUno\\build/tmp_dev-DFRobot-arduinoUno.ino.elf"
项目使用 3940 字节(12%)的程序存储空间。最大值为 32256 字节。
个全局变量使用 188 个字节(9%)的动态内存,剩下 1860 个字节用于局部变量。最大值为 2048 字节。
[92m已使用的库 [0m [92m版本 [0m [90m路径 [0m
[93mDFRobot_Mindplus_URM10 [0m 1.0.1 [90mC:\Users\Administrator\AppData\Local\mind+\Arduino\user\libraries\DFRobot_Mindplus_URM10 [0m
[92m已使用的平台 [0m [92m版本 [0m [90m路径 [0m
[93mmindplus:avr [0m 0.0.1 [90mC:\Users\Administrator\AppData\Local\mind+\Arduino\packages\mindplus\hardware\avr\0.0.1 [0m
Unable to get Documents Folder: The system cannot find the path specified.
time="2026-01-16T20:02:52+08:00" level=warning msg="Unable to get Documents Folder: The system cannot find the path specified."
"C:\Users\Administrator\AppData\Local\mind+\Arduino\packages\mindplus\tools\avrdude\0.0.1/bin/avrdude" "-CC:\Users\Administrator\AppData\Local\mind+\Arduino\packages\mindplus\tools\avrdude\0.0.1/etc/avrdude.conf" -v -V -patmega328p -carduino "-PCOM3" -b115200 -D "-Uflash:w:C:/Users/Administrator/AppData/Local/mind+/cache/tmp_dev-DFRobot-arduinoUno/build/tmp_dev-DFRobot-arduinoUno.ino.hex:i"
avrdude: Version 6.3-20171130
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2014 Joerg Wunsch
System wide configuration file is "C:\Users\Administrator\AppData\Local\mind+\Arduino\packages\mindplus\tools\avrdude\0.0.1/etc/avrdude.conf"
Using Port : COM3
Using Programmer : arduino
Overriding Baud Rate : 115200
avrdude: ser_open(): can't set com-state for "\\.\COM3"
avrdude done. Thank you.
上传失败: 上传错误:exit status 1
1
- 没有更多了 -