gfxlcd是图形lcd的处理程序:ili9328、ssd1306、nju6450、触摸屏:ad7843@raspberry pi。

gfxlcd的Python项目详细描述


它是什么
===


raspberry pi上的python图形lcd库。为支持的设备创建一个统一的接口



-ili9486通过spi
-ili9325通过gpio
-ssd1306通过spi
-nju6450通过gpio


是否使用irq
-ad7846/xpt2046


bonus

-hd44780 emulation(与charlcd一起使用)




wiring is below

demos are in demos directory


==
ssd1306
spi

spi

from driver.ssd1306.spi import spi
from driver.ssd1306.ssd1306 import ssd1306
drv=spi()
o=ssd1306(128,64,drv)
o.init()

drv)
o.init()

drv)
o.init()

自定义布线:

gfxlcd.driver.nju6450.gpio导入gpio
gfxlcd.driver.nju6450.nju6450导入nju6450
drv=gpio()
drv.pins={
"a0":17,
"e1":22,
"e2":21,
"d0":23,
"d1":24,
"d2":25,
"d3":12,
"d4":16,
"d5":20,
"d6":26,
"d7":19,
"rst":5,
}
o=nju6450(122,32,drv)
o.init()

drv)
o.init()

"db10":24,
"db11":5,
"db12":12,
"db13":16,
"db14":20,
"db15":21,
"rst":25,
"led":无,
"cs":无drv)
o.init()


o.rotation=270
o.init()



绘图函数
==
绘制像素(x,y)



绘制像素线(从x,从y,到x,到x,到y)


绘制矩形(x1,y1,x2,x2,x2,y2)


绘制圆弧(x1,y1,半径,x,y,x,y,y,y)



绘制圆弧(x1 x1,y1,y1,y1,x2 u角,到u角

fill矩形(x1,y1,x2,y2)

绘制图像(x,y,pil.image)


=[110,57]110-在绘制图像时跳过的颜色


字体
==
字体类实现字体抽象,是一个具有每个字符的字典的类:

(..)
[0x3c,0x66,0x03,0x73,0x66,0x7c,0x00],#U+0047(G)
(…)


目前只有一种字体,8x8,命名为**font8x8**,默认情况下使用。


==


(cs_pin))


可用于int_pin和cs_pin

def回调(位置):
打印('(x,y)',位置)


touch=ad7843(240、320、26、回调、17)
touch.init()

或不使用:


touch=AD7843(240,320)
touch.init()

为真:
尝试:
time.sleep(0.05)
ret=touch.get_position()
如果ret:
打印(ret[0],ret[1])


除了键盘中断:
touch.close()


没有自动校准。必须手动完成。

self.correction={
'x':364,
'y':430,
'ratio_x':14.35,
'ratio_y':10.59
}

==


ssd1306
\spi
spi
spi wiring+2个附加管脚。默认值:

lcd覆盆子pi
接地-----gnd
+3.3v-----+3.3v
scl-----g11
sda-----g10
rst-----g13
d/c-----g6


nju6450
gpio
接线:

lcd覆盆子pi
1(vss)----gnd
2(vdd)----+5v
3(v0)--[-\-]10k
\--gnd
4(a0)---g17
5(e1)---g22
6(e2)----G21
7(r/w)---地面
8(d0)---G23
9(d1)---G24
10(d2)---G25
11(d3)---G12
12(d4)---G16
13(d5)————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————pi 2b

gnd----------gnd
vcc----------3.3
rs----------g27(data[h]/cmd[l])
wr----------g17
rd----------3.3(从不从屏幕读取)
db8—————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————###spi
默认值:

rpi屏蔽
g17----------tp irq
g24----------rs
g25----------rst
g9----------lcd-cs
g7----------tp-cs


==

可以使用char lcd并模拟char lcd

ili drv=iligpio()
ili drv.pins['led']=6
ili drv.pins['cs']=18
lcd=ili9325(240,320,ILI_drv)
lcd.auto_flush=false
lcd.rotation=0

drv=hd44780(lcd)
lcd=charlcd(drv.width,drv.height,drv,0,0)
lcd.init()

lcd.write('-!第二个布拉格!)
lcd.write("-第二行",0,1)
lcd.flush()



欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
相对于框架java窗口的鼠标位置错误   Java 8流peek api   java将数据附加到文件中   java使用ExoPlayer 2.8播放播放列表中的特定文件   JavaSpring国际化:如何动态设置语言环境值   java如何在mysql中实现两个表之间的两个关联   java在gradle可执行jar文件中包含运行时参数   surefire插件中的java maven多套测试套件   java试图理解堆分析以确定内存泄漏或所需的大量内存   java识别字符串有数字   数组如何解决错误“java.lang.ArrayIndexOutOfBoundsException:5”   java Swt文件对话框选择的文件太多?   java此登录代码易受SQL注入攻击吗?   Java[3]中的文件<identifier>预期编译错误   java如何在spring webflux中发送列表   jar中未找到java文件异常   如何在java中合并2D数组?   java如何评测本机JNI库