树莓派i2s接口,树莓派增加i2c
==本文驱动程序已过时,请参考http://blog.csdn.net/ki1381/article/details/79291138的最新信息。
参考
http://shumeipai . nxez . com/2017/09/13/solve-the-raspberry-pi-drive-OLED-problem . html # more-3449 .感谢作者。(这算不算循环引用:D)
==这里有过期的文章==
在Raspberry Pi 3b上尝试了一个带有I2C界面的小型128x64有机发光二极管显示器,并获得了成功。该模块可以由3.3V供电
布线非常简单。如果有母亲对母亲的杜邦线,你甚至不需要面包板。
从https://github.com/rm-hull/ssd1306,下载了ssd1306-master.zip解压后,
CD SSD 1306-主
sudo setup.py安装
进入实例目录,几个DEMO很有意思。尤其是显示logo的pi_logo.py非常简洁,不需要带字体,只需要提供一个png。但是我还没有研究过这个png的条件。反正我就是做了一张png图片,也没能显示成功,就报错了。以后再研究吧。
-更新:-
好像在Photoshop中另存为PNG时,选项是可以“错开”的。
下面的代码来源于演示中的sys_info.py。我自己建了一个目录/etc/ttf,复制了下面的字体文件,添加了权限。在代码中,路径被更改为绝对路径,在演示中被更改为相对路径。其实Raspbian自带的很多ttf字体也可以用,在/usr/share/fonts/truetype下。
#!/usr/clean Marlboro /env python
从日期时间导入日期时间
从oled.device导入ssd1306、sh1106
从oled.render导入画布
从PIL导入ImageDraw,ImageFont
导入插座
导入fcntl
导入结构
导入命令
def getIP(ifname):
s=socket.socket(socket。AF_INET,socket。SOCK_DGRAM)
返回socket.inet_ntoa(fcntl.ioctl(
s.fileno(),
0x8915,# SIOCGIFADDR
struct.pack(256s ,ifname[:15])
)[20:24])
定义统计(oled):
font=ImageFont.load_default()
font 2=image font . truetype(/etc/TTF/CC红色警报[INET])。ttf ,18)
使用画布(oled)作为绘图:
draw.text((2,5), IP: getIP(wlan0 ),font=font2,fill=255)
def main():
oled=ssd1306(端口=1,地址=0x3C)
统计数据(oled)
if __name__==__main__ :
主()