查看: 1189|回复: 5

[分享] LPC55S69智能垃圾分类系统------软件篇

[复制链接]

该用户从未签到

12

主题

789

帖子

1

版主

Rank: 7Rank: 7Rank: 7

积分
2691
最后登录
2024-4-4
发表于 2022-12-20 13:58:31 | 显示全部楼层 |阅读模式
本帖最后由 eefocus_3766738 于 2022-12-20 13:53 编辑

       垃圾分类系统到现在基本完成了,断断续续,边鸽边做,差不多两个月的时间。由于平时也只能下了班、周末抽出时间来搞一下,但是想了下,这些原因可能也只是为了迷惑那似有还无的上进心主要还是那跟随自己多年的拖延症起到了主导作用。回看了开始做这个系统的前第一篇帖子,从陌生的这颗MCU,没用过的UI软件GUI-Guider和LVGL,没用过几次MCUXpresso IDE 和MCUXpresso Config Tools ,这一套做下来,心里还是有一点成就感的。从被RT跨界MCU的性能吸引过来,到用LPC系列做了点东西,窥一斑而见全豹,也算对NXP的MCU入门了,自己履历中的MCU+1,更是感受到了NXPMCU的强大。

       完了,扯远了,还是说回主题吧。

一、使用到的MCU外设资源:
       1、5路USART,其中4个连接超声波测距模块,测距模块放在垃圾桶的桶盖上,当盖上垃圾桶盖时测量垃圾桶深度,MCU计算出当前垃圾桶剩余容量;另一个USART接口连接语言识别模块,语音识别模块作为系统中的唯一用户接口,通过对话识别使用者要扔的垃圾种类,并把识别结果通过USART发送给MCU。
      2、1路SPI,用来连接一块320*240TFT液晶屏,采用进度条的方式展示当前垃圾桶剩余容量值;
      3、4路PWM,控制舵机的正转、反转、停止,舵机主要是负责吧垃圾箱盖打开和关闭功能。
      不得不说一下LPC55S69外设资源,还是相当丰富的,9个Flexcomm串行外设,每个Flexcomm配置成USART、SPI、I2C或I2S接口,一般的项目根本用不完,所以我在用USART的时候,根本没有克制,怎么嚣张怎么来。
IMG_20221217_140223.jpg

二、SRAM和FLASH占用情况:
      1、SRAM使用了82K+,主要是LVGL和FREERTOS占用比较多,做彩屏显示还是比较吃内存的,逻辑程序占用的直接可以忽略;
      2、FLASH使用了406K+。      还好这颗MCU的FLASH有640 KB,用的还不到总量的65%,SRAM总共是320 KB,只用到了32%左右;加上MCU是双核的,我这边也只用了单核,还有一颗没用上,在做项目时候突然有种,虽然用了一个单片机但是好像又没用的错觉。
_V2RXYUP(Q7GKLPTR3E3967.png

三、MCU软件说明:
      1、采用实时操作系统FreeRTOS,总共创建了3个任务,分别处理:液晶屏的UI内容刷新、语音指令的解析和垃圾箱盖运动、刷新垃圾桶剩余容量并展示,系统之外还有5个USART口中断等;
      2、UI展示采用的LVGL,通过GUI-Guider直接绘制,生成代码后直接移植使用,非常简洁方便,本人也是第一次使用,就不在各位大佬面前班门弄斧了;           


      软件是基于SDK中lvgl_guider示例写的,FreeRTOS也不用移植,很是方便。
  1. usart_init();
  2.     //创建系统任务
  3.     stat = xTaskCreate(lvgl_task, "lvgl_task", configMINIMAL_STACK_SIZE + 800, NULL, tskIDLE_PRIORITY + 2, (TaskHandle_t*)&LvglTask_Handler);
  4.     if (pdPASS != stat)
  5.     {
  6.         //PRINTF("Failed to create lvgl task");
  7.         while (1);
  8.     }

  9.     stat = xTaskCreate(speak_task, "speak_tast", configMINIMAL_STACK_SIZE + 50, NULL, tskIDLE_PRIORITY + 4, (TaskHandle_t*)&SpeakTask_Handler);
  10.         if (pdPASS != stat)
  11.         {
  12.                 //PRINTF("Failed to create speak task");
  13.                 while (1);
  14.         }

  15.         stat = xTaskCreate(detect_task, "detect_task", configMINIMAL_STACK_SIZE + 50, NULL, tskIDLE_PRIORITY + 3, (TaskHandle_t*)&DetectTask_Handler);
  16.         if (pdPASS != stat)
  17.         {
  18.                 //PRINTF("Failed to create speak task");
  19.                 while (1);
  20.         }

  21.     vTaskStartScheduler();

  22.     for (;;)
  23.     {
  24.     } /* should never get here */
复制代码

四、直接上演示视频吧,感觉这样能说的更清楚一点

回复

使用道具 举报

  • TA的每日心情
    慵懒
    前天 13:11
  • 签到天数: 1203 天

    [LV.10]以坛为家III

    22

    主题

    4703

    帖子

    0

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    8023

    活跃会员

    最后登录
    2024-4-17
    发表于 2022-12-20 16:05:33 | 显示全部楼层
    666前排支持
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    3 小时前
  • 签到天数: 1933 天

    [LV.Master]伴坛终老

    61

    主题

    1万

    帖子

    3

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    17218
    最后登录
    2024-4-19
    发表于 2022-12-20 16:10:59 | 显示全部楼层
    赞一个666,真不错
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    前天 13:19
  • 签到天数: 589 天

    [LV.9]以坛为家II

    31

    主题

    1343

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    3569
    最后登录
    2024-4-18
    发表于 2022-12-20 17:20:26 | 显示全部楼层
    不错不错
    该会员没有填写今日想说内容.
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    19 分钟前
  • 签到天数: 832 天

    [LV.10]以坛为家III

    5

    主题

    5693

    帖子

    1

    金牌会员

    Rank: 6Rank: 6

    积分
    6900
    最后登录
    2024-4-19
    发表于 2022-12-21 10:21:52 | 显示全部楼层
    支持支持
    该会员没有填写今日想说内容.
    回复

    使用道具 举报

  • TA的每日心情
    开心
    7 天前
  • 签到天数: 268 天

    [LV.8]以坛为家I

    31

    主题

    2988

    帖子

    38

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    5290

    活跃会员

    最后登录
    2024-4-12
    发表于 2022-12-22 09:27:51 | 显示全部楼层
    赞一个666,真不错
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2024-4-19 15:21 , Processed in 0.130116 second(s), 25 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表