国际期刊投稿平台
登录 | 注册
当前位置: 首页 > 科学研究与应用 > 基于Arduino的智能盆栽土壤湿度监测与拟人化交互系统设计
科学研究与应用

科学研究与应用

Journal of Scientific Research and Applications

  • 主办单位: 
    未來中國國際出版集團有限公司
  • ISSN: 
    3079-7071(P)
  • ISSN: 
    3080-0757(O)
  • 期刊分类: 
    科学技术
  • 出版周期: 
    月刊
  • 投稿量: 
    4
  • 浏览量: 
    533

相关文章

暂无数据

基于Arduino的智能盆栽土壤湿度监测与拟人化交互系统设计

Design of Intelligent Potted Soil Moisture Monitoring and Anthropomorphic Interaction System Based on Arduino

发布时间:2026-04-21
作者: 张珅 :韩国灵山大学 韩国釜山;
摘要: 随着物联网技术的快速发展,智能农业和家庭园艺领域正经历着深刻的变革。本文设计并实现了一种基于Arduino微控制器的植物土壤湿度监测与交互系统。该系统通过土壤湿度传感器实时采集土壤湿度数据,通过一个RGB LED灯以颜色变化直观显示湿度范围,并通过一个独立的LED指示灯以不同频率闪烁来传达植物的“求水”紧急程度。同时,系统配备了一块LCD液晶显示屏,能够以拟人化的文字信息直接向用户报告土壤状态和植物需求。本项目在Tinkercad仿真平台上完成了电路搭建和代码测试,成功验证了其功能的可行性与有效性,为低成本、高交互性的智能盆栽养护方案提供了实践参考。
Abstract: With the rapid advancement of Internet of Things (IoT) technology, the fields of smart agriculture and home gardening are undergoing profound transformations. This paper designs and implements a plant soil moisture monitoring and interactive system based on the Arduino microcontroller. The system collects real-time soil moisture data through a soil moisture sensor, intuitively displays the moisture range via color changes on an RGB LED, and conveys the urgency of the plant's "water request" through a separate LED indicator that blinks at different frequencies. Additionally, the system is equipped with an LCD screen that directly reports soil status and plant needs to the user through personified text messages. The project completed circuit construction and code testing on the Tinkercad simulation platform, successfully verifying the feasibility and effectiveness of its functions. It provides a practical reference for low-cost, highly interactive smart plant maintenance solutions.
关键词: 物联网;Arduino;土壤湿度监测;人机交互;Tinkercad仿真
Keywords: internet of things (IoT); arduino; soil moisture monitoring; human-computer interaction; tinkercad simulation

引言

传统的植物养护主要依赖人工观察和经验判断,存在主观性强、不及时等问题。为了解决这一问题,实现科学、精准的植物灌溉,各种智能浇水系统应运而生。本项目旨在开发一个不仅能够自动监测土壤湿度,更能通过多模态方式(视觉颜色、闪烁警示、文字信息)与用户进行高效交互的系统,提升养护体验,确保植物健康生长。

1 系统总体设计

1.1 系统架构

本系统采用分层架构,主要由感知层、控制层和人机交互层构成。

感知层:由土壤湿度传感器构成,负责采集原始的土壤湿度模拟信号。

控制层:以Arduino微控制器为核心,负责处理传感器数据、执行逻辑判断并控制所有输出设备。

人机交互层:包含RGB LED、闪烁LED和LCD显示屏,共同向用户提供直观的系统状态和植物需求信息。

1.2 工作流程

系统上电初始化后,进入循环工作模式:首先读取土壤湿度传感器数值,将其映射为百分比湿度;然后,根据当前湿度值更新RGB LED的颜色、控制求水指示灯的闪烁模式、并在LCD屏幕上显示对应的状态信息。整个过程实时进行,为用户提供连续的反馈。

1.3 Tinkercad模拟电路设计

本项目在Tinkercad在线平台进行仿真。电路设计如图1所示,清晰地展示了各元件的连接方式。

土壤水分感应器
图1 电路设计

主要元件连接说明:

土壤湿度传感器:信号引脚连接至模拟输入引脚 A0。

RGB LED:

红色引脚(R)连接至数字引脚11 (PWM)。

绿色引脚(G)连接至数字引脚9 (PWM)。

蓝色引脚(B)连接至数字引脚10 (PWM)。

共阳极连接至5V。

求水指示灯(黄色LED):阳极通过限流电阻连接至数字引脚6。

LCD显示屏 (I2C):SDA 和 SCL 引脚分别连接至Arduino的 A4 和 A5 引脚。

2 系统软件设计与实现

系统的核心逻辑由Arduino C/C++代码实现,其主要功能模块如下。

2.1 数据采集与处理

系统通过 analogRead 函数读取传感器数值,并使用 map 函数将其转换为0-100%的湿度百分比,便于后续的逻辑判断和显示。

sensorValue = analogRead(SENSOR_PIN)
moisturePercent = map(sensorValue, SENSOR_MIN_VALUE, SENSOR_MAX_VALUE,0,100)

2.2 多模态人机交互实现

2.2.1视觉颜色反馈 (RGB LED)

RGB LED的颜色根据土壤湿度百分比动态变化,提供了最直观的湿度状态指示。

d7559590-cb63-4674-b8c7-72ee2a575a02
图2 土壤湿度15%时效果图

此阶段(0%-25%)的土壤湿度非常干,表示严重缺水,当土壤湿度百分比动态由0% ->25%变化时,RGB LED的颜色会由红色 -> 品红色实时变化。

9c93e7eca1df276b2423ded3aa566fba
图3 土壤湿度50%时效果图

此阶段(25%-50%)的土壤湿度偏干,表示缺水,当土壤湿度百分比动态由25% ->50%变化时,RGB LED的颜色会由品红色 -> 蓝色实时变化。

图4 土壤湿度72%时效果图

此阶段(50%-75%)的土壤湿度适宜,表示状态良好,当土壤湿度百分比动态由50% ->75%变化时,RGB LED的颜色会由蓝色 -> 青蓝色实时变化。

图5 土壤湿度100%时效果图

此阶段(75%-100%)的土壤湿度湿润,表示水分充足,当土壤湿度百分比动态由75% ->100%变化时,RGB LED的颜色会由青蓝色 ->绿色实时变化。

2.2.2 求水强度指示 (闪烁LED)

当土壤湿度低于设定的阈值(75%)时,黄色LED开始闪烁。其闪烁频率与干燥程度成正比:土壤越干,闪烁越快,求水诉求越紧急。

if (constrainedSensorValue < MOISTURE_THRESHOLD_BLINK_ON) {
 int blinkDelay = map(constrainedSensorValue, MOISTURE_THRESHOLD_VERY_DRY, MOISTURE_THRESHOLD_BLINK_ON, BLINK_DELAY_FAST, BLINK_DELAY_SLOW);
 digitalWrite(BLINK_LED_PIN, HIGH);
 delay(blinkDelay);
 digitalWrite(BLINK_LED_PIN, LOW);
 delay(blinkDelay);
}

2.2.3文字信息交互 (LCD显示屏)

LCD屏幕模拟植物向用户“说话”,根据不同的湿度区间显示不同的拟人化信息,极大地增强了系统的亲和力。

void updateLcd() {
 lcd.clear();
 if (moisturePercent <=10) {
 lcd.print("CRITICAL DRY");
 } else if (moisturePercent <=25) {
 lcd.print("I'm very thirsty");
 } else if (moisturePercent <=50) {
 lcd.print("Water me, please");
 } else if (moisturePercent <=75) {
 lcd.print("Moisture good");
 } else if (moisturePercent <=100) {
 lcd.print("Optimal moisture");
 }
 ...
}

2.3 核心代码

以下是系统的主循环代码,展示了其核心逻辑流程:

void loop() {
 unsigned long currentMillis = millis();
 //1.读取并处理传感器数据 sensorValue = analogRead(SENSOR_PIN);
 moisturePercent = map(sensorValue, SENSOR_MIN_VALUE, SENSOR_MAX_VALUE,0,100);
 //2. 更新RGB LED颜色(非阻塞方式)
 if (currentMillis - lastRgbUpdate >= RGB_UPDATE_INTERVAL) {
 lastRgbUpdate = currentMillis;
 // ... (颜色映射逻辑)
 analogWrite(RED_PIN, red);
 analogWrite(GREEN_PIN, green);
 analogWrite(BLUE_PIN, blue);
 }
 //3. 控制求水指示灯闪烁 if (constrainedSensorValue < MOISTURE_THRESHOLD_BLINK_ON) {
 // ... (闪烁逻辑)
 } else {
 digitalWrite(BLINK_LED_PIN, LOW);
 }
 //4. 更新LCD显示 if (moisturePercent != previousMoisturePercent) {
 updateLcd();
 previousMoisturePercent = moisturePercent;
 }
 //5. 串口打印调试信息 Serial.print("Sensor Value: ");
 Serial.print(sensorValue);
 // ... (更多串口打印)
}

3 系统测试与结果分析

在Tinkercad仿真环境中,通过调整土壤湿度传感器的模拟输入值,对系统进行了全面测试。测试结果表明:

RGB LED能够根据预设的湿度区间平滑地变换颜色,与设计预期完全一致。

求水指示灯在湿度低于75%时准确点亮,并且其闪烁频率随湿度降低而线性增加,有效传达了需求的紧迫性。

LCD显示屏在不同湿度阶段均能正确显示对应的拟人化信息,交互体验良好。

系统运行稳定,各模块协同工作,成功实现了预设的所有功能。

4结论与展望

本文成功设计并仿真了一个基于物联网的多模态植物土壤湿度监测系统。该系统通过颜色、闪烁和文字三重反馈机制,创造了一种高效、直观且富有情感的人机交互体验。Tinkercad仿真结果验证了设计的正确性。

未来工作可以考虑从以下几个方面进行拓展:

  • 增加执行机构:连接一个水泵或电磁阀,实现自动浇水功能,形成闭环控制。
  • 融入物联网云平台:通过Wi-Fi或NB-IoT模块将数据上传至云端,实现远程手机App监控和历史数据查询。
  • 多节点网络:部署多个传感器节点,构建一个大规模的温室或农田监测网络。
  • 环境参数融合:集成光照、温度、湿度传感器,为植物提供更全面的生长环境监测。

参考文献:

  1. [1] Kaluz M, Klauco M, Kvasnica M. Real-time implementation of a reference governor on the arduino microcontroller[C]//Proceedings of the201520th international conference on process control (PC).2015.
  2. [2] Tuysuz C, Bodur N C, Ugulu I. Tinkercad circuits platform-based learning experiences of gifted students in the emergency distance education process[J]. Journal of advanced academics,2024,35(SI2):329-356.
  3. [3] 刘火良, 杨森. Arduino开发实战指南[M]. 北京:机械工业出版社,2012.
联系我们
人工客服,稿件咨询
投稿
扫码添加微信
客服
置顶