本例实验的SPI彩色液晶1.77寸显示屏(ST7735驱动) 
 
  
 
电原理图 
 
  
 
SPI彩色液晶显示屏:TFT177-SPI,型号为SX177QQVGA,像素128X160TFT,驱动芯片为ST7735S,这是一款支持SPI接口的1.77寸TFT彩屏,可以显示文字、图形、图片等内容,提高用户互动体验度。 
 
本例实验采用PT0603光敏三极管 
 
  
 
电原理图 
 
  
 
产品特性 / PRODUCT FEATURES 
封装胶水:无色透明硅胶 
外观尺寸(L/W/H):1.6*0.8*0.6mm 
焊线材质:金线/合金线 
感光峰值波段:850nm 
感光范围:400-1050nm 
发光角度:120度 
EIA规范标准包装 
环保产品,符合ROHS标准要求 
 
应用领域 / PRODUCT APPLICATION 
高灵敏度光敏传感器,替代传统CDS光敏电阻不含镉、铅等有害物质,符合欧盟ROHS标准 
适用于各类光控照明产品,如小夜灯、太阳能路灯、草坪灯、环境灯控等 
自动调节背景光,LCD、手机、照相机、数码相机、数码产品、GPS导航等 
控制各类光控影控玩具等 
各类光控检测测试设备等 
 
【花雕动手做】实验二十一:用1.8寸彩屏(ST7735)显示动态的连续环境亮度数值 
实验开源代码 
 
			
			
			- #define ASC2_12
 - #define ST7735_CS_PIN 9
 - #define ST7735_CS_GPIO_PIN gpio_pin_1
 - #define ST7735_DC_PIN 1
 - #define ST7735_DC_GPIO_PIN gpio_pin_1
 - #define ST7735_RST_PIN 25
 - #define ST7735_RST_GPIO_PIN gpio_pin_1
 - #define ST7735_SCK_PIN 3
 - #define ST7735_SCK_GPIO_PIN gpio_pin_3
 - #define ST7735_MOSI_PIN 2
 - #define ST7735_MOSI_GPIO_PIN gpio_pin_2
 - #define ST7735S_RGB_GBR_ORDER   0
 - #define ASC2_24
 - #define ASC2_32
 - 
 - #include "asr.h"
 - extern "C"{ void * __dso_handle = 0 ;}
 - #include "setup.h"
 - #include "myLib/asr_st7735.h"
 - #include "myLib/asr_event.h"
 - #include "myLib/asr_ws2812.h"
 - 
 - uint32_t snid;
 - uint16_t liangdu;
 - void hardware_init();
 - 
 - SPITFT spi_tft(128, 160);
 - WS2812 ASR_WS2812_27(27);
 - //{ID:250,keyword:"命令词",ASR:"最大音量",ASRTO:"音量调整到最大"}
 - //{ID:251,keyword:"命令词",ASR:"中等音量",ASRTO:"音量调整到中等"}
 - //{ID:252,keyword:"命令词",ASR:"最小音量",ASRTO:"音量调整到最小"}
 - void ASR_CODE()
 - {
 -   //{ID:500,keyword:"命令词",ASR:"连续亮度",ASRTO:"开始连续测量"}
 -   if(snid == 500){
 -     digital_write((21),1);
 -     spi_tft.clear((0xFFFF));
 -     spi_tft.set_text_color((0x001F),(0xFFFF));
 -     delay(800);
 -     spi_tft.set_cursor(0,20);
 -     spi_tft.draw_hanzi_32("连续亮度");
 -     delay(1000);
 -     liangdu = adc_read(17);
 -     spi_tft.set_cursor(40,60);
 -     spi_tft.set_text_size(24);
 -     spi_tft.println((String(liangdu)));
 -     //{ID:501,keyword:"命令词",ASR:"耍接官",ASRTO:"环境亮度为"}
 -     play_audio(501);
 -     play_num((int64_t)(liangdu * 100), 1);
 -     delay(1500);
 -     liangdu = adc_read(17);
 -     spi_tft.set_cursor(40,90);
 -     spi_tft.set_text_size(24);
 -     spi_tft.println((String(liangdu)));
 -     //{ID:502,keyword:"命令词",ASR:"接耍官",ASRTO:"第二次测量为"}
 -     play_audio(502);
 -     play_num((int64_t)(liangdu * 100), 1);
 -     delay(1500);
 -     liangdu = adc_read(17);
 -     spi_tft.set_cursor(40,120);
 -     spi_tft.set_text_size(24);
 -     spi_tft.println((String(liangdu)));
 -     //{ID:503,keyword:"命令词",ASR:"官耍接",ASRTO:"第三次测量为"}
 -     play_audio(503);
 -     play_num((int64_t)(liangdu * 100), 1);
 -   }
 -   //{ID:504,keyword:"命令词",ASR:"会测量亮度吗",ASRTO:"当然可以,我会自动单次测量和连续测量,二种方式"}
 -   if(snid == 504){
 - 
 -   }
 -   //{ID:505,keyword:"命令词",ASR:"效果还行",ASRTO:"有你的鼓励真好,谢谢啦!"}
 -   if(snid == 505){
 - 
 -   }
 -   //{ID:506,keyword:"命令词",ASR:"当前亮度",ASRTO:"开始测量"}
 -   if(snid == 506){
 -     digital_write((21),1);
 -     ASR_WS2812_27.setBrightness(30);
 -     ASR_WS2812_27.pixel_set_all_color(255,0,0);
 -     ASR_WS2812_27.pixel_show();
 -     spi_tft.clear((0x001F));
 -     spi_tft.set_text_color((0xFFFF),(0x001F));
 -     delay(800);
 -     spi_tft.set_cursor(0,40);
 -     spi_tft.draw_hanzi_32("环境亮度");
 -     delay(800);
 -     liangdu = adc_read(17);
 -     spi_tft.set_cursor(30,80);
 -     spi_tft.set_text_size(32);
 -     spi_tft.println((String(liangdu)));
 -     //{ID:507,keyword:"命令词",ASR:"丝耍接",ASRTO:"环境亮度"}
 -     play_audio(507);
 -     play_num((int64_t)(liangdu * 100), 1);
 -   }
 -   //{ID:508,keyword:"唤醒词",ASR:"智能管家",ASRTO:"我在"}
 -   if(snid == 508){
 -     digital_write((21),1);
 -     ASR_WS2812_27.setBrightness(30);
 -     ASR_WS2812_27.pixel_set_all_color(0,255,0);
 -     ASR_WS2812_27.pixel_show();
 -     spi_tft.clear((0xF800));
 -     spi_tft.set_text_color((0xFFFF),(0xF800));
 -     delay(800);
 -     spi_tft.set_cursor(20,40);
 -     spi_tft.draw_hanzi_24("有什么事");
 -     delay(800);
 -     spi_tft.set_cursor(32,80);
 -     spi_tft.draw_hanzi_24("请吩咐");
 -   }
 - }
 - 
 - void hardware_init(){
 -   spi_tft.init();
 -   digital_write((21),0);
 -   spi_tft.set_direction(2);
 -   spi_tft.set_text_wrap(true);
 -   spi_tft.set_text_size(12);
 -   spi_tft.set_bg_mode(1);
 -   ASR_WS2812_27.pixel_init(3);
 -   vTaskDelete(NULL);
 - }
 - 
 - void setup()
 - {
 - 
 -   //{ID:84,keyword:"命令词",ASR:"条耍改",ASRTO:"零"}
 -   //{ID:85,keyword:"命令词",ASR:"官接思",ASRTO:"一"}
 -   //{ID:86,keyword:"命令词",ASR:"痛官松",ASRTO:"二"}
 -   //{ID:87,keyword:"命令词",ASR:"削丝误",ASRTO:"三"}
 -   //{ID:88,keyword:"命令词",ASR:"景粮载",ASRTO:"四"}
 -   //{ID:89,keyword:"命令词",ASR:"博菌避",ASRTO:"五"}
 -   //{ID:90,keyword:"命令词",ASR:"裁纯碉",ASRTO:"六"}
 -   //{ID:91,keyword:"命令词",ASR:"插趣悟",ASRTO:"七"}
 -   //{ID:92,keyword:"命令词",ASR:"辞暖慌",ASRTO:"八"}
 -   //{ID:93,keyword:"命令词",ASR:"纵猛淡",ASRTO:"九"}
 -   //{ID:94,keyword:"命令词",ASR:"锦耗暂",ASRTO:"十"}
 -   //{ID:95,keyword:"命令词",ASR:"燃智截",ASRTO:"百"}
 -   //{ID:96,keyword:"命令词",ASR:"佛驻延",ASRTO:"千"}
 -   //{ID:97,keyword:"命令词",ASR:"隔枪绍",ASRTO:"万"}
 -   //{ID:98,keyword:"命令词",ASR:"惨愤昂",ASRTO:"亿"}
 -   //{ID:99,keyword:"命令词",ASR:"丙迈扯",ASRTO:"负"}
 -   //{ID:100,keyword:"命令词",ASR:"铸猜隆",ASRTO:"点"}
 -   //{speak:橙子-甜美客服,vol:20,speed:10,platform:haohaodada}
 -   //{playid:10001,voice:欢迎使用人工智能AI语音助手,用智能管家唤醒我}
 -   //{playid:10002,voice:我退下了,用智能管家唤醒我}
 -   xTaskCreate(hardware_init,"hardware_init",256,NULL,100,NULL);
 - }
 
  复制代码
  
训练模型与编译烧录 
 
  
 
  
 
实验记录视频 
 
【实验二十一:用1.8寸彩屏(ST7735)显示动态的环境亮度数值】 
[url=https://www.bilibili.com/video/B ... a9be994cbb4a86cc987]https://www.bilibili.com/video/B ... a9be994cbb4a86cc987[/url] 
 
[media=x,500,375] https://www.bilibili.com/video/B ... a9be994cbb4a86cc987[/media] 
 
  
 
  
 
 |