使用STONE 串口屏创建冰箱控制系统

简要介绍(串口屏创建冰箱控制系统)

随着科技的不断进步,我们的家用电器越来越功能齐全且易于使用。

作为一名电子爱好者,我对家用电器的控制系统特别感兴趣。

我们的冰箱目前不具备任何人机交互界面功能,但如果冰箱配备人机交互界面,用户可通过触摸屏操作,实现对冰箱制冷效率的调节、显示冰箱内部当前温度、显示室内外当前温度,以及提供冰箱使用反馈(如运行天数、滤网寿命等),这将为用户带来极大的便利和实用性。

因此,今天我将简单地使用触摸屏制作一个冰箱控制界面。显示屏为STONE STVC050WT-01。

STONE STVC050WT – 01是一款5英寸触摸显示模块,分辨率为480 * 272。该模块已集成显示屏和触摸屏驱动程序,开发人员只需在官方TOOL设计软件中完成相关UI界面设计并生成编程文件,下载至STONE显示模块,再通过串口(RS232/RS485/TTL)与之通信,即可实现复杂的UI设计功能。

访问官方网站获取更多信息:

制作 UI 显示界面

stone-screen

在 TOOL 软件中创建项目

将新项目导入 STONE STVC050WT-01 开发软件 TOOL,然后导入设计的 UI 图片,添加对应的按钮和显示文本,效果如下:

stone-screen

制元件较少,仅包含数字文本显示控制和增量调整控制,但这两种控制已足以完成所需功能。

  1. UI界面上部为冰箱冷冻室的相关控制,显示当前温度、冰箱工作功率及调节功率的按键操作。“Fast”按钮表示单击后功率设置为最大。
  2. UI界面中部为冰箱相关控制区域,显示当前温度、冰箱工作功率及调节功率的键盘操作。 “快速”按钮表示单击后功率设置为最大。
  3. UI界面下方为状态显示区域,用户可直观查看冰箱运行天数、滤网寿命、室外温度及室内温度。

单片机通信

文本控件

涉及MCU通信相关内容时,需明确显示屏与MCU的通信机制及数据来源。

STONE STVC050WT-01通过串口与单片机通信。

stone-screen

此前在设计UI时,我们使用了显示控件。这些显示控件的显示数据实际上存储在STONE STVC050WT-01闪存的某个地址中。

在此,我们将展示温度显示。温度数据来自温度传感器,温度传感器连接至单片机。当单片机采集到温度数据后,只需通过串口将温度数据传输至显示控件的指定地址,即可在屏幕上实时显示温度数据。

数据写入指令可在STONE STVC050WT-01规格书中查阅。

该指令表示将0x00和0x04写入数据存储区域的0x0020地址:0xA5 0x5A 0x05 0x82 0x00 0x20 0x00 0x04

在此我使用单片机代码实现以下功能:

stone-screen

当单片机通过串口连接至显示屏后,单片机串口发送上述指令,即可修改显示屏中0x0020地址以上的数据,该地址对应冰箱的温度显示值。

其他所有显示数据的位置也遵循相同原理,只需更改数据地址即可。

按钮

本项目中使用了大量按钮

调节冰箱制冷功率实际上是修改中间显示控制地址中的值,因此我们可以使用单片机中的代码定期读取该显示控制的地址数据。读取地址的指令如下:

0xA5 0x5A 0x03 0x83 0x00 0x22

这条指令表示读取0x0022处的值,在本项目中表示读取用户调整后的冰箱制冷功率,随后单片微控制器控制外围设备执行相应动作。单片微控制器代码如下:

stone-screen

当需要读取显示控制数据时,只需注册读取指令,通过MCU向串口屏幕发送指令,串口屏幕将返回相关寄存器数据至微控制器,MCU接收数据后即可准备执行对应控制设备,此处为控制冰箱的制冷功率。

运行状态

stone-screen

运行状态包括

  1. 运行天数
  2. 滤芯寿命
  3. 室外温度
  4. 室内温度

要获取这些数据,除了第一项外,其他三项需要相应的传感器进行数据采集。

滤芯寿命采集传感器和温度传感器分别需要。

当单片机采集到这些数据后,通过串口将数据传输到指定的显示控制地址,显示控制上的数值相应变化。

运行天数可通过两种方式实现:

  1. 使用STONE STVC050WT-01串口显示屏的RTC直接在屏幕上显示数据
  2. 使用单片微计算机的RTC将数据传输至串口显示屏进行显示

STONE STVC050WT-01串口显示屏内置RTC,具体可参考STONE开发手册。

运行效果

stone-screen

    滚动至顶部