树莓派i2s接口,树莓派增加i2c

  树莓派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__ :

  主()

树莓派i2s接口,树莓派增加i2c