feat: 优化界面设计与传感器功能

主要更改包括:

1. 传感器功能改进:
   - 实现水位传感器状态变化检测,正确处理有水/无水状态
   - 优化温湿度数据显示,使用更清晰的格式

2. LCD界面优化:
   - 适配80*160屏幕尺寸,调整所有页面布局
   - 温湿度页面:使用"C"作为温度单位,优化显示位置
   - 食物重量页面:调整显示位置,简化状态文本
   - 水位页面:替换圆形图标为矩形背景,提升视觉效果
   - 系统状态页面:简化状态文本,优化布局
   - 统一标题栏设计,添加分隔线

3. 功能增强:
   - 实现ST7735_DrawLine函数,用于绘制分隔线
   - 实现ST7735_FillCircle函数,用于图形绘制
   - 添加步进电机驱动代码,支持电机控制

4. 其他优化:
   - 修复未使用变量的编译警告
   - 调整字体大小和显示位置,提高可读性
   - 优化颜色方案,提升视觉体验

这些更改使界面更加美观、清晰,同时增强了系统的功能和稳定性。
This commit is contained in:
2026-02-24 23:41:40 +08:00
parent addfb3faad
commit 97d6d10731
10 changed files with 823 additions and 43 deletions

View File

@@ -35,7 +35,7 @@ Dma.USART1_TX.0.Priority=DMA_PRIORITY_VERY_HIGH
Dma.USART1_TX.0.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority
FREERTOS.FootprintOK=true
FREERTOS.IPParameters=Tasks01,FootprintOK,configTOTAL_HEAP_SIZE
FREERTOS.Tasks01=defaultTask,41,256,StartDefaultTask,Default,NULL,Dynamic,NULL,NULL;wifi_mqtt,40,3000,wifi_task_mqtt,As external,NULL,Dynamic,NULL,NULL;LCD_SHOW_Task,40,1024,LCD_Task,Default,NULL,Dynamic,NULL,NULL;button,50,512,button_task,Default,NULL,Dynamic,NULL,NULL;sensor,24,1024,sensorTask,Default,NULL,Dynamic,NULL,NULL
FREERTOS.Tasks01=defaultTask,41,256,StartDefaultTask,Default,NULL,Dynamic,NULL,NULL;wifi_mqtt,40,3000,wifi_task_mqtt,As external,NULL,Dynamic,NULL,NULL;LCD_SHOW_Task,40,1024,LCD_Task,Default,NULL,Dynamic,NULL,NULL;button,50,512,button_task,Default,NULL,Dynamic,NULL,NULL;sensor,24,1024,sensorTask,Default,NULL,Dynamic,NULL,NULL;step_motor,24,512,step_motor_task,Default,NULL,Dynamic,NULL,NULL
FREERTOS.configTOTAL_HEAP_SIZE=30000
File.Version=6
GPIO.groupedBy=Group By Peripherals
@@ -147,6 +147,8 @@ PA6.Locked=true
PA6.Signal=GPIO_Output
PA7.Mode=TX_Only_Simplex_Unidirect_Master
PA7.Signal=SPI1_MOSI
PA8.GPIOParameters=GPIO_Label
PA8.GPIO_Label=STEPPER_IN4
PA8.Locked=true
PA8.Signal=GPIO_Output
PA9.Mode=Asynchronous
@@ -215,10 +217,16 @@ PC6.GPIOParameters=GPIO_Label
PC6.GPIO_Label=MOTOR
PC6.Locked=true
PC6.Signal=GPIO_Output
PC7.GPIOParameters=GPIO_Label
PC7.GPIO_Label=STEPPER_IN1
PC7.Locked=true
PC7.Signal=GPIO_Output
PC8.GPIOParameters=GPIO_Label
PC8.GPIO_Label=STEPPER_IN2
PC8.Locked=true
PC8.Signal=GPIO_Output
PC9.GPIOParameters=GPIO_Label
PC9.GPIO_Label=STEPPER_IN3
PC9.Locked=true
PC9.Signal=GPIO_Output
PCC.Checker=false