查看: 278|回复: 1

【花雕动手做】ASRPRO-Plus语音识别(07)--点亮ST7735的1.77TFT屏

[复制链接]

64

主题

86

帖子

477

积分

中级会员

Rank: 3Rank: 3

积分
477
发表于 2023-11-9 15:19:41 | 显示全部楼层 |阅读模式
本帖最后由 eagler8 于 2023-11-11 20:54 编辑

本例实验的SPI彩色液晶1.77寸显示屏


01.jpg

电原理图

0.jpg

SPI彩色液晶显示屏:TFT177-SPI,型号为SX177QQVGA,像素128X160TFT,驱动芯片为ST7735S,这是一款支持SPI接口的1.77寸TFT彩屏,可以显示文字、图形、图片等内容,提高用户互动体验度。

02.jpg

03.jpg

04.jpg

实验之十:通过语音控制来点亮ST7735的1.77TFT彩屏
实验开源代码

  1. #define ASC2_12
  2. #define ST7735_CS_PIN 9
  3. #define ST7735_CS_GPIO_PIN gpio_pin_1
  4. #define ST7735_DC_PIN 1
  5. #define ST7735_DC_GPIO_PIN gpio_pin_1
  6. #define ST7735_RST_PIN 25
  7. #define ST7735_RST_GPIO_PIN gpio_pin_1
  8. #define ST7735_SCK_PIN 3
  9. #define ST7735_SCK_GPIO_PIN gpio_pin_3
  10. #define ST7735_MOSI_PIN 2
  11. #define ST7735_MOSI_GPIO_PIN gpio_pin_2
  12. #define ST7735S_RGB_GBR_ORDER   0

  13. #include "asr.h"
  14. extern "C"{ void * __dso_handle = 0 ;}
  15. #include "setup.h"
  16. #include "myLib/asr_event.h"
  17. #include "myLib/asr_st7735.h"

  18. uint32_t snid;
  19. int8_t volue = 5;
  20. void hardware_init();

  21. //{ID:250,keyword:"命令词",ASR:"最大音量",ASRTO:"音量调整到最大"}
  22. //{ID:251,keyword:"命令词",ASR:"中等音量",ASRTO:"音量调整到中等"}
  23. //{ID:252,keyword:"命令词",ASR:"最小音量",ASRTO:"音量调整到最小"}
  24. SPITFT spi_tft(128, 160);
  25. void ASR_CODE()
  26. {
  27.   //{ID:500,keyword:"唤醒词",ASR:"智能管家",ASRTO:"我在呢"}
  28.   if(snid == 500){
  29.     digital_write((21),0);
  30.   }
  31.   //{ID:501,keyword:"命令词",ASR:"挺能变化",ASRTO:"是啊,五彩缤纷"}
  32.   if(snid == 501){

  33.   }
  34.   //{ID:502,keyword:"命令词",ASR:"显示橙色",ASRTO:"变色了"}
  35.   if(snid == 502){
  36.     spi_tft.clear((0xFC40));
  37.   }
  38.   //{ID:503,keyword:"命令词",ASR:"打开屏幕",ASRTO:"好的"}
  39.   if(snid == 503){
  40.     digital_write((21),1);
  41.     spi_tft.clear((0xFFFF));
  42.   }
  43.   //{ID:504,keyword:"命令词",ASR:"显示绿色",ASRTO:"变色了"}
  44.   if(snid == 504){
  45.     spi_tft.clear((0x07E0));
  46.   }
  47.   //{ID:505,keyword:"命令词",ASR:"显示红色",ASRTO:"变色了"}
  48.   if(snid == 505){
  49.     spi_tft.clear((0xF800));
  50.   }
  51.   //{ID:506,keyword:"命令词",ASR:"显示蓝色",ASRTO:"变色了"}
  52.   if(snid == 506){
  53.     spi_tft.clear((0x001F));
  54.   }
  55.   //{ID:507,keyword:"命令词",ASR:"显示黄色",ASRTO:"变色了"}
  56.   if(snid == 507){
  57.     spi_tft.clear((0xFFE0));
  58.   }
  59.   //{ID:508,keyword:"命令词",ASR:"显示浅蓝色",ASRTO:"变色了"}
  60.   if(snid == 508){
  61.     spi_tft.clear((0x07FF));
  62.   }
  63.   //{ID:509,keyword:"命令词",ASR:"显示紫色",ASRTO:"变色了"}
  64.   if(snid == 509){
  65.     spi_tft.clear((0x881F));
  66.   }
  67.   //{ID:510,keyword:"命令词",ASR:"显示粉色",ASRTO:"变色了"}
  68.   if(snid == 510){
  69.     spi_tft.clear((0xF81F));
  70.   }
  71. }

  72. void hardware_init(){
  73.   spi_tft.init();
  74.   digital_write((21),0);
  75.   spi_tft.set_direction(2);
  76.   vTaskDelete(NULL);
  77. }

  78. void setup()
  79. {
  80.   //{speak:橙子-甜美客服,vol:20,speed:10,platform:haohaodada}
  81.   //{playid:10001,voice:欢迎使用人工智能AI语音助手,用智能管家唤醒我}
  82.   //{playid:10002,voice:我要退下了,用智能管家唤醒我}
  83.   xTaskCreate(hardware_init,"hardware_init",256,NULL,100,NULL);
  84. }
复制代码

天问Block(标准模式)训练模型与编译烧录


05.jpg

06.jpg

07.jpg

08.jpg

09.jpg

10.jpg


实验记录视频
https://www.bilibili.com/video/BV1sj411a7A6/?share_source=copy_web&vd_source=371a292a55e5ca9be994cbb4a86cc987




动画004.gif




回复

使用道具 举报

64

主题

86

帖子

477

积分

中级会员

Rank: 3Rank: 3

积分
477
 楼主| 发表于 2023-11-13 17:05:43 | 显示全部楼层
【花雕动手做】实验十一:通过语音控制1.77寸彩屏显示不同图形
实验开源代码

  1. #define ASC2_12
  2. #define ST7735_CS_PIN 9
  3. #define ST7735_CS_GPIO_PIN gpio_pin_1
  4. #define ST7735_DC_PIN 1
  5. #define ST7735_DC_GPIO_PIN gpio_pin_1
  6. #define ST7735_RST_PIN 25
  7. #define ST7735_RST_GPIO_PIN gpio_pin_1
  8. #define ST7735_SCK_PIN 3
  9. #define ST7735_SCK_GPIO_PIN gpio_pin_3
  10. #define ST7735_MOSI_PIN 2
  11. #define ST7735_MOSI_GPIO_PIN gpio_pin_2
  12. #define ST7735S_RGB_GBR_ORDER   0

  13. #include "asr.h"
  14. extern "C"{ void * __dso_handle = 0 ;}
  15. #include "setup.h"
  16. #include "myLib/asr_event.h"
  17. #include "myLib/asr_st7735.h"

  18. uint32_t snid;
  19. int8_t volue = 5;
  20. void hardware_init();

  21. //{ID:250,keyword:"命令词",ASR:"最大音量",ASRTO:"音量调整到最大"}
  22. //{ID:251,keyword:"命令词",ASR:"中等音量",ASRTO:"音量调整到中等"}
  23. //{ID:252,keyword:"命令词",ASR:"最小音量",ASRTO:"音量调整到最小"}
  24. SPITFT spi_tft(128, 160);
  25. void ASR_CODE()
  26. {
  27.   //{ID:500,keyword:"唤醒词",ASR:"智能管家",ASRTO:"我在呢"}
  28.   if(snid == 500){
  29.     digital_write((21),0);
  30.   }
  31.   //{ID:501,keyword:"命令词",ASR:"不错啊",ASRTO:"谢谢,更多精彩在后面"}
  32.   if(snid == 501){

  33.   }
  34.   //{ID:502,keyword:"命令词",ASR:"画个红点",ASRTO:"有了"}
  35.   if(snid == 502){
  36.     spi_tft.draw_point(64,80,(0xF800));
  37.   }
  38.   //{ID:503,keyword:"命令词",ASR:"蓝色背景",ASRTO:"可以了"}
  39.   if(snid == 503){
  40.     spi_tft.clear((0x001F));
  41.   }
  42.   //{ID:504,keyword:"命令词",ASR:"打开屏幕",ASRTO:"好的"}
  43.   if(snid == 504){
  44.     digital_write((21),1);
  45.     spi_tft.clear((0xFFFF));
  46.   }
  47.   //{ID:505,keyword:"命令词",ASR:"空心圆",ASRTO:"当中没有"}
  48.   if(snid == 505){
  49.     spi_tft.draw_circle(50,50,50,(0xF800));
  50.   }
  51.   //{ID:506,keyword:"命令词",ASR:"三角形",ASRTO:"绿色的"}
  52.   if(snid == 506){
  53.     spi_tft.fill_triangle(10,123,55,10,110,155,(0x07E0));
  54.   }
  55.   //{ID:507,keyword:"命令词",ASR:"实心圆",ASRTO:"填满了"}
  56.   if(snid == 507){
  57.     spi_tft.fill_circle(50,50,50,(0xF800));
  58.   }
  59.   //{ID:508,keyword:"命令词",ASR:"画条直线",ASRTO:"红色的"}
  60.   if(snid == 508){
  61.     spi_tft.draw_line(0,80,128,80,(0xF800));
  62.   }
  63.   //{ID:509,keyword:"命令词",ASR:"画条竖线",ASRTO:"绿色的"}
  64.   if(snid == 509){
  65.     spi_tft.draw_line(64,0,64,160,(0x07E0));
  66.   }
  67.   //{ID:510,keyword:"命令词",ASR:"空心矩形",ASRTO:"蓝色的"}
  68.   if(snid == 510){
  69.     spi_tft.draw_rectangle(13,12,99,130,(0x001F));
  70.   }
  71.   //{ID:511,keyword:"命令词",ASR:"两条蓝线",ASRTO:"交叉了"}
  72.   if(snid == 511){
  73.     spi_tft.draw_line(0,0,128,160,(0x001F));
  74.     spi_tft.draw_line(0,160,128,0,(0x001F));
  75.   }
  76.   //{ID:512,keyword:"命令词",ASR:"实心矩形",ASRTO:"还是蓝色"}
  77.   if(snid == 512){
  78.     spi_tft.fill_rectangle(13,12,99,130,(0x001F));
  79.   }
  80. }

  81. void hardware_init(){
  82.   spi_tft.init();
  83.   digital_write((21),0);
  84.   spi_tft.set_direction(2);
  85.   vTaskDelete(NULL);
  86. }

  87. void setup()
  88. {
  89.   //{speak:小美-娇美女声,vol:20,speed:10,platform:haohaodada}
  90.   //{playid:10001,voice:欢迎使用人工智能AI语音助手,用智能管家唤醒我}
  91.   //{playid:10002,voice:我要退下了,用智能管家唤醒我}
  92.   xTaskCreate(hardware_init,"hardware_init",256,NULL,100,NULL);
  93. }
复制代码

天问Block(标准模式)训练模型与编译烧录
11.jpg

12.jpg

13.jpg

14.jpg

360截图20231112192329652.jpg

实验记录视频

https://www.bilibili.com/video/BV1tb4y1g7G3/?share_source=copy_web&vd_source=371a292a55e5ca9be994cbb4a86cc987



动画005.gif

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|好好搭搭在线 ( © 好好搭搭在线 浙ICP备19030393号-1 )

GMT+8, 2024-4-29 15:49 , Processed in 0.322603 second(s), 26 queries .

Powered by Discuz!

© 2001-2024 Comsenz Inc.

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