如何使用树莓源驱动128*128彩屏SSD1351
如何使用树莓源驱动128*128彩屏SSD1351
小编给大家分享一下如何使用树莓源驱动128*128彩屏SSD1351,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
1 安装Luma.oled库
sudo apt-get install python-dev python-pip libfreetype6-dev libjpeg-dev
sudo -H pip install --upgrade pip
sudo apt-get purge python-pip
sudo -H pip install --upgrade luma.oled
注:如果你需要安装Python3的Luma.oled库的则按下面对应的Python3版本修改上面的命令进行安装。
pip ⇒ pip3
python ⇒ python3
python-dev ⇒ python3-dev
python-pip ⇒ python3-pip
如果安装Luma.oled库时出现红字错误,请继续执行命令重试,那是因为网络问题下载一个叫Pillow的库不成功。
2 连接显示屏和Pi
按照如下配置进行端口的连接,树莓源的端口信息可以到如下网址查看https://pinout.xyz/pinout/spi
3 修改代码
下载luma的示例代码https://github.com/rm-hull/luma.examples
我们以animated_gif.py为例,原始代码如下:
#!/usr/bin/envpython#-*-coding:utf-8-*-#Copyright(c)2017-18RichardHullandcontributors#SeeLICENSE.rstfordetails.#PYTHON_ARGCOMPLETE_OK"""Displaysananimatedgif."""importos.pathfromdemo_optsimportget_devicefromPILimportImage,ImageSequencefromluma.core.sprite_systemimportframerate_regulatordefmain():regulator=framerate_regulator(fps=10)img_path=os.path.abspath(os.path.join(os.path.dirname(__file__),'images','banana.gif'))banana=Image.open(img_path)size=[min(*device.size)]*2posn=((device.width-size[0])//2,device.height-size[1])whileTrue:forframeinImageSequence.Iterator(banana):withregulator:background=Image.new("RGB",device.size,"white")background.paste(frame.resize(size,resample=Image.LANCZOS),posn)device.display(background.convert(device.mode))if__name__=="__main__":try:device=get_device()main()exceptKeyboardInterrupt:pass
修改后的代码如下:
#!/usr/bin/envpython#-*-coding:utf-8-*-#Copyright(c)2017-18RichardHullandcontributors#SeeLICENSE.rstfordetails.#PYTHON_ARGCOMPLETE_OK"""Displaysananimatedgif."""importtimeimportos.pathfromdemo_optsimportget_devicefromPILimportImage,ImageSequencefromluma.core.sprite_systemimportframerate_regulatorfromluma.core.interface.serialimporti2c,spifromluma.oled.deviceimportssd1306,ssd1325,ssd1331,sh2106,ssd1351defmain():regulator=framerate_regulator(fps=20)img_path=os.path.abspath(os.path.join(os.path.dirname(__file__),'images','bq.gif'))banana=Image.open(img_path)#size=[min(*device.size)]*2#posn=((device.width-size[0])//2,device.height-size[1])size=[128,128]posn=(0,0)whileTrue:forframeinImageSequence.Iterator(banana):withregulator:background=Image.new("RGB",device.size,"white")background.paste(frame.resize(size,resample=Image.LANCZOS),posn)device.display(background.convert(device.mode))time.sleep(0.05)if__name__=="__main__":try:#serial=i2c(port=1,address=0x3c)serial=spi(device=0,port=0,bus_speed_hz=32000000)device=ssd1351(serial)#device=ssd1306(serial)main()exceptKeyboardInterrupt:pass
主要是导入ssd1351,并将device调整为ssd1351. 显示效果如下:
以上是“如何使用树莓源驱动128*128彩屏SSD1351”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注恰卡编程网行业资讯频道!
推荐阅读
-
polyfills怎么按需加载
polyfills怎么按需加载本篇内容主要讲解“polyfills...
-
C#数据类型怎么实现背包、队列和栈
-
C#怎么实现冒泡排序和插入排序算法
C#怎么实现冒泡排序和插入排序算法这篇文章主要讲解了“C#怎么实现...
-
C#如何实现希尔排序
-
C#如何实现归并排序
-
C#怎么使用符号表实现查找算法
-
C#类的静态成员怎么用
C#类的静态成员怎么用这篇“C#类的静态成员怎么用”文章的知识点大...
-
C#的静态函数怎么用
C#的静态函数怎么用这篇文章主要讲解了“C#的静态函数怎么用”,文...
-
C#中的析构函数怎么用
C#中的析构函数怎么用这篇文章主要讲解了“C#中的析构函数怎么用”...
-
怎么用CZGL.ProcessMetrics监控.NET应用