微雪RP2040-LCD-1.28介绍
微雪RP2040-LCD-1.28 是一款国内创新设计的PICO微控制器开发板,其在较小的板型情况下,板载了1.28inch LCD、锂电池充电芯片、六轴传感器(三轴加速度与三轴陀螺仪)等外设。
屏幕及驱动板参数
LCD参数 | |||
控制芯片 | GC9A01A | 分辨率 | 240(H)RGB x 240(V) |
通信接口 | SPI | 显示尺寸 | Φ32.4mm |
显示面板 | IPS | 像素大小 | 0.135(H)x0.135(V)mm |
圆形显示器的座标问题,X轴Y轴方向
设计开始之前,我跟大家一样好像,这个圆型的屏幕,座标圆点在哪里,X,Y分别是什么方向的。其实圆形的屏幕,跟我们平时用的长方形的显示器一样,你把它想象成一块长方形的显示器,座标圆点在左下角,X轴向右,Y轴向上,超出圆形的像素不显示。
这是程序的最终运行结果
# 导入需要的库
import machine
from machine import Pin,I2C,SPI,PWM,ADC
import time
import math
import framebuf
I2C_SDA = 6
I2C_SDL = 7
DC = 8
CS = 9
SCK = 10
MOSI = 11
RST = 12
BL = 25
# 显示屏驱动类
class LCD_GC9A01A(framebuf.FrameBuffer):
def __init__(self):
self.width = 240
self.height = 240
self.cs = Pin(CS,Pin.OUT)
self.rst = Pin(RST,Pin.OUT)
self.cs(1)
self.spi = SPI(1,100_000_000,polarity=0, phase=0,sck=Pin(SCK),mosi=Pin(MOSI),miso=None)
self.dc = Pin(DC,Pin.OUT)
self.dc(1)
self.buffer = bytearray(self.height * self.width * 2)
super().__init__(self.buffer, self.width, self.height, framebuf.RGB565)
self.init_display()
self.red = 0x07E0
self.green = 0x001f
self.blue = 0xf800
self.white = 0xffff
self.fill(self.white)
self.show()
self.pwm = PWM(Pin(BL))
self.pwm.freq(5000)
def w