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()
===
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()