配套 2.4寸LCD屏 ST7789驅動器芯片(24P 320X240)
ST7789驅動器芯片2.4寸LCD屏(24P 320X240)
主要參數
1. 模塊名稱:液晶顯示模塊
2. 型號:KD024C-4
3. 同類型型號:
4. 兼容型號:
5. 顯示模式:TFT
6. 顯示色彩:65/262K
7. 分辨率: 240*320
8. 點距:0.153 (H) x 0.153 (V)
9. 視角:12:00
10. 控制IC:ST7789V
11. 顯示類型:全透型,常白
12. 外形尺寸:42.72*60.26*2.6mm
13. 可視面積:38.32*50.56 mm
14. 點陣區面積:36.72*48.96mm
15. 亮度:300cd/m2
16. 對比度:500
17. 接口類型: 8/9/16/18位8080並口
16/18位RGB接口
3/4線SPI接口
18. 引腳數:24
19. 引腳距離:0.5mm
20. 連接類型: FPC插接型
21. 工作電壓:3.3V
22. 背光燈顏色及類型: 白色LED背光
23. 背光電路:4 LED 並聯, 共陽
If=80mA, Vf =3.2V
24. 使用壽命:100000h
25. 工作溫度:-20----70°C
26. 儲存溫度:-30----80°C
27. 質量體系認證:ISO9001:2008
28. 產品認證:RoHS
#MicroPython動手做(05)——零基礎學MaixPy之LCD液晶屏
#測試程序之一:顯示英文
#MicroPython動手做(05)——零基礎學MaixPy之LCD液晶屏 #測試程序之一:顯示英文 import lcd lcd.init() lcd.draw_string(100, 100, "hello MicroPython!", lcd.RED, lcd.BLACK)
lcd 屏幕顯示驅動
lcd.display(image, roi=Auto)
在液晶屏上顯示一張 image(GRAYSCALE或RGB565)。
roi 是一個感興趣區域的矩形元組(x, y, w, h)。若未指定,即為圖像矩形
若 roi 寬度小於lcd寬度,則用垂直的黑色邊框使 roi 居於屏幕中心(即用黑色填充未占用區域)。
若 roi 寬度大於lcd寬度,則 roi 居於屏幕中心,且不匹配像素不會顯示(即液晶屏以窗口形態顯示 roi 的中心)。
若 roi 高度小於lcd高度,則用垂直的黑色邊框使 roi 居於屏幕中心(即用黑色填充未占用區域)。
若 roi 高度大於lcd高度,則 roi 居於屏幕中心,且不匹配像素不會顯示(即液晶屏以窗口形態顯示 roi 的中心)。
roi 是鍵值參數,必須在函數調用中通過寫入 roi= 來顯式地調用。
#MicroPython動手做(05)——零基礎學MaixPy之LCD液晶屏 #測試程序之二:LCD屏顯示"hello maixpy" import lcd, time import image bg = (236,36,36) lcd.init(freq=15000000) lcd.direction(lcd.YX_RLDU) lcd.clear(lcd.RED) time.sleep(1) lcd.draw_string(120, 120, "hello maixpy", lcd.WHITE, lcd.RED) time.sleep(2) img = image.Image() img.draw_string(60, 100, "hello maixpy", scale=2) img.draw_rectangle((120,120,30,30)) lcd.display(img)
lcd 屏幕顯示驅動函數 1. lcd.init(type=1, freq=15000000, color=lcd.BLACK) 初始化 LCD 屏幕顯示 參數 type: LCD 的類型(保留給未來使用): 0: None 1: lcd shield(默認值) type 是鍵值參數,必須在函數調用中通過寫入 type= 來顯式地調用 freq: LCD (實際上指 SPI 的通訊速率) 的頻率 color: LCD 初始化的顏色, 可以是 16 位的 RGB565 顏色值,比如 0xFFFF; 或者 RGB888 元組, 比如 (236, 36, 36), 默認 lcd.BLACK 2. lcd.clear() 將液晶屏清空為黑色或者指定的顏色。 參數 color: LCD 初始化的顏色, 可以是 16 位的 RGB565 顏色值,比如 0xFFFF; 或者 RGB888 元組, 比如 (236, 36, 36) 3. lcd.freq(freq) 設置或者獲取 LCD (SPI) 的頻率 Paremeters freq: LCD (SPI) 的頻率 Return LCD 的頻率 4. lcd.direction(dir) 在 v0.3.1 之后已經被舍棄, 請使用lcd.rotation 和 lcd.invert代替, 如非必要請勿使用, 接口仍會被保留用於調試使用 設置屏幕方向, 以及是否鏡像等 參數 dir: 正常情況下推薦 lcd.YX_LRUD 和 lcd.YX_RLDU, 另外還有其它值,交換 XY 或者 LR 或者 DU即可 |
#MicroPython動手做(05)——零基礎學MaixPy之LCD液晶屏 #實驗程序之三:LCD液晶顯示器彩條測試 import lcd,image, time lcd.init(type=1, freq=15000000) # lcd.init(type=2, freq=20000000) # lcd.init(type=1, width=320, height=240, invert=True, freq=20000000) img = image.Image(size=(240,240)) img.draw_rectangle(0,0,30, 240, fill=True, color=(0xff, 0xff, 0xff)) img.draw_rectangle(30,0,30, 240, fill=True, color=(250, 232, 25)) img.draw_rectangle(60,0,30, 240, fill=True, color=(106, 198, 218)) img.draw_rectangle(90,0,30, 240, fill=True, color=(98, 177, 31)) img.draw_rectangle(120,0,30, 240, fill=True, color=(180, 82, 155)) img.draw_rectangle(150,0,30, 240, fill=True, color=(231, 47, 29)) img.draw_rectangle(180,0,30, 240, fill=True, color=(32, 77, 158)) img.draw_rectangle(210,0,30, 240, fill=True, color=(27, 28, 32)) lcd.display(img) count = 500 while count > 0: t = time.ticks_ms() lcd.display(img) print(time.ticks_ms() - t) count -= 1
#MicroPython動手做(05)——零基礎學MaixPy之LCD液晶屏 #實驗程序之四:測試Microphone陣列算法 from Maix import MIC_ARRAY as mic import lcd lcd.init() mic.init() while True: imga = mic.get_map() b = mic.get_dir(imga) a = mic.set_led(b,(0,0,255)) imgb = imga.resize(160,160) imgc = imgb.to_rainbow(1) a = lcd.display(imgc) mic.deinit()
#MicroPython動手做(05)——零基礎學MaixPy之LCD液晶屏 #實驗程序之五:圖形與hello maixpy import lcd, time import image bg = (236,36,36) lcd.init(freq=15000000) lcd.direction(lcd.YX_RLDU) img = image.Image() img.draw_string(60, 100, "hello maixpy", scale=2) img.draw_rectangle((120,120,30,30)) img.draw_circle((150,140, 80)) img.draw_cross((250,40)) img.draw_arrow((250,200,20,200), color=(236,36,36)) lcd.display(img)
#MicroPython動手做(05)——零基礎學MaixPy之LCD液晶屏 #實驗程序之六:碰碰球演示 import image, lcd lcd.init(freq=20000000) i = 0 dir = 1 while(True): img = image.Image(copy_to_fb=1) img.clear() img.draw_rectangle(i,50,50,50) lcd.display(img) if dir: i += 5 if i==270: dir = 0 else: i -= 5 if i==0: dir = 1