云天 发表于 2024-8-15 17:05:28

行空板K10之智能旋转花盆

【项目背景】随着科技的不断进步,智能家居和自动化技术已经深入到我们生活的方方面面。在都市快节奏的生活中,人们越来越渴望拥有一个既美观又能自动照料的绿色空间。为了能让花充分接收阳光,智能花盆旋转装置正是在这样的背景下应运而生,旨在为忙碌的现代人提供一个既简单又高效的植物养护解决方案。【项目概述】本项目是一个集成了语音识别技术和无线通信技术的智能花盆旋转系统。系统由两部分组成:控制端和接收端。控制端使用行空板 K10开发板,搭载有语音识别模块,能够识别用户的语音指令,实现对花盆旋转功能的控制。接收端则采用FireBeetle ESP32-E作为主控单元,通过无线接收控制端的指令,进而控制电磁继电器,驱动电机实现花盆的自动旋转。【项目特点】
[*]语音控制:用户只需通过简单的语音指令,即可控制花盆的旋转,无需手动操作,方便快捷。
[*]无线通信:采用无线通信技术,控制端与接收端之间无需物理连接,安装灵活,使用范围广泛。
[*]自动化养护:花盆旋转功能有助于植物均匀接受光照,促进植物健康生长,减少人工养护的需要。
[*]节能环保:系统设计注重能效,电机和继电器的控制逻辑确保了能源的有效利用,符合现代环保理念。
【技术实现】
[*]行空板K10开发板:作为控制端,集成了屏幕显示和语音交互功能,提供用户友好的操作界面。
[*]FireBeetle ESP32-E:作为接收端,具备强大的通信能力和处理速度,确保指令的快速响应。
[*]电磁继电器:连接到电机,实现对花盆旋转的精确控制。
[*]无线开关发射器与接收器:实现远距离的信号传输,增强了系统的灵活性和扩展性。
【项目硬件】






【行空板K10发射端程序】


程序功能和逻辑的分析:
[*]初始化设置:

[*]设置语音识别为连续模式,并设置唤醒时间为10000毫秒(10秒)。
[*]设置语言为中文,以便于识别中文语音命令。
[*]添加语音识别命令:

[*]添加两个命令词ID,分别是“kai shi”(开始)和“guan bi”(关闭)。这些命令将用于控制花盆旋转功能的启动和停止。
[*]设置引脚模式:

[*]设置P1引脚为输出模式,该引脚将用于控制外部设备(如电磁继电器)。
[*]初始化变量:

[*]初始化标识(可能用于表示花盆旋转状态)、序号(可能用于控制显示的图像序号)和时间(记录系统运行时间)。
[*]显示和语音合成:

[*]显示本地加载的图片,并更新显示。
[*]使用语音合成功能播放“初始化成功”的语音提示。
[*]主循环:

[*]程序进入一个无限循环,不断检测语音识别的状态。
[*]语音唤醒与命令识别:

[*]如果语音识别当前状态为唤醒,程序将检查是否检测到特定的命令词ID。
[*]控制花盆旋转:

[*]如果检测到“开始”命令,将标识的值设为1,表示花盆旋转功能已开启。然后,程序通过设置P1引脚为高电平来激活外部设备,0.2秒后将其设置回低电平,同时播放“已为您开启花盆旋转功能”的语音提示。
[*]如果检测到“关闭”命令,将标识的值设为0,表示关闭花盆旋转功能。程序操作P1引脚的方式与“开始”命令相同,但播放的语音提示是“已为您关闭花盆旋转功能”。
[*]周期性更新显示:

[*]如果标识的值为1,表示花盆旋转功能已开启,程序将周期性地(每200毫秒)更新显示。根据序号的值,显示不同的本地加载图片,以反映花盆的旋转状态。
[*]更新序号和显示:

[*]程序根据序号的当前值来显示不同的图片,并更新显示。序号的值在0到3之间循环,每个值对应一个特定的图片。每更新一次显示,序号增加1。如果序号的值达到4,它将被重置为0。

这个程序通过语音识别技术实现了对花盆旋转功能的控制,并通过屏幕显示和语音反馈提供了用户交互界面。【FireBeetle ESP32-E接收端程序】接收端程序是一个基于FireBeetle ESP32-E的Arduino程序,用于控制一个电磁继电器,该继电器又连接到一个电机,电机负责控制花盆的旋转。以下是对程序的解释:
[*]主程序开始:程序进入主循环,不断执行以下指令。
[*]等待直到:程序会等待直到D9引脚(连接到无线开关接收器)读取到高电平信号。
[*]读取数字引脚:程序读取D9引脚的状态,如果为高电平,则继续执行。
[*]设置数字引脚:一旦D9引脚读取到高电平,程序将D7引脚设置为高电平,以激活电磁继电器。
[*]输出为高电平:D7引脚输出高电平,电磁继电器吸合,从而控制电机开始旋转花盆。
[*]等待:程序等待3秒钟,保持D7引脚的高电平状态。
[*]再次读取数字引脚:程序再次读取D9引脚的状态。
[*]设置数字引脚输出为低电平:如果D9引脚的状态变为低电平,程序将D7引脚设置为低电平,使电磁继电器释放,电机停止旋转花盆。
[*]等待:程序再次等待3秒钟,确保电机完全停止。
这个程序实现了基本的开关控制逻辑,通过无线信号接收端接收到的信号来控制电机的启动和停止。【演示视频】https://www.bilibili.com/video/BV1oje4e2EWz/?share_source=copy_web

页: [1]
查看完整版本: 行空板K10之智能旋转花盆