python oled_用官方的SSD1306.py 驱动 OLED
这几天看了一下micropython的I2C OLED驱动(SPI的类似),发现有几个版本。一个是官方的版本,还有早期网上流传的版本。
网上的版本使用了pyb.I2C驱动,是将Arduino的OLED驱动移植过来,只能用在STM32上;而官方的驱动使用了machine.I2C,这样有更好的兼容性,适合不同的硬件平台,还可以用软件I2C。
因为没有看到有人介绍官方的SSD1306驱动,所以我就简单的介绍一下I2C接口的OLED使用方法,SPI的也是类似的。下面以比较常见的0.96寸的128x64 I2C OLED为例:
从github下载micropython的源码(或者只下载其中的ssd1306.py文件),然后将ssd1306.py复制到PYB Nano或其它micropython板
连接I2C和电源到I2C的OLED上,如果没有硬件I2C,使用任意GPIO也可以。
在终端里输入下面代码
from machine import I2C
i2c=machine.I2C(-1, sda=machine.Pin("PB9"), scl=machine.Pin("PB8"), freq=400000)
from ssd1306 import SSD1306_I2C
oled = SSD1306_I2C(128, 64, i2c)
oled.text("Hello PYB Nano", 0, 0)
oled.show()
如果可以看到Hello这一段文字,就说明驱动成功了。
SSD1306.py中带有的函数不多,主要函数有:
text(string, x, y),在(x, y)处显示字符串,注意text()函数内置的字体是8x8的,暂时不能替换
poweroff(),关闭OLED显示
poweron(),空函数,无任何效果。可以用 write_cmd(0xAF) 代替
fill(n),n=0,清空屏幕,n大于0,填充屏幕
contrast(),调整亮度。0最暗,255最亮
invert(),奇数时反相显示,偶数时正常显示
pixel(x, y, c),在(x, y)处画点
show(),更新显示内容。前面大部分函数只是写入数据到缓冲区,并不会直接显示到屏幕,需要调用show()后才能显示出来。
另外还有部分功能可以用下面方法实现:
framebuf.line(x1,y1,x2,y2,c),画直线
framebuf.hline(x,y,w,c),画水平直线
framebuf.vline(x,y,w,c),画垂直直线
framebuf.fill_rect(x,y,w,h,c),画填充矩形
framebuf.rect(x,y,w,h,c),画空心矩形
大家也可以自己封装一下,甚至加入画园、字体选择、显示logo等功能。
python oled_用官方的SSD1306.py 驱动 OLED相关推荐
- 用官方的SSD1306.py 驱动 OLED
2019独角兽企业重金招聘Python工程师标准>>> 这几天看了一下micropython的I2C OLED驱动(SPI的类似),发现有几个版本.一个是官方的版本,还有早期网上流传 ...
- python,java,go,perl,php,c等驱动连接数据库
文章目录 python,java,go,perl,php,c等驱动连接数据库 1.测试环境 2.python 2.1安装 2.2完整代码 3.java 3.1 安装 3.2代码 4.go 4.1 安装 ...
- 微软考虑将 Python 作为 Excel 官方脚本语言
微软正考虑将 Python 作为 Excel 官方脚本语言之一,在 Excel 用户反馈平台中,「Python 作为 Excel 的脚本语言」成为了最热议的话题,是排名第二的提议的两倍多 目前为止,超 ...
- 编程软件python下载-python 2.7官方版
python 2.7官方版是一种面向对象.直译式计算机程序设计语言,python 2.7官方版也是一种功能强大而完善的通用型语言,已经具有十多年的发展历史,成熟且稳定. 软件介绍 这种语言具有非常简捷 ...
- 记事本写python怎么运行-从头学Python之编写可执行的.py文件
Python可是真强大.但他具体是怎么强大的,让我们一点一点来了解吧(小编每天晚上下班回家会抽时间看看教程,多充实下自己也是好的). 废话不多说,就讲一下这个背景吧: 事情是这个样子的~本着好学的精神 ...
- 封装对MongoDB数据库的增删改查访问方法(基于MongoDB官方发布的C#驱动)
本文利用MongoDB官方发布的C#驱动,封装了对MongoDB数据库的增删改查访问方法. 先用官方提供的mongo-csharp-driver ,当前版本为1.7.0.4714 编写数据库访问帮助类 ...
- python包的中 _init _.py文件介绍
python包的中 _init _.py文件介绍 我们新建python包时常常会看到一个__init _.py文件. 作用介绍: 一:这个文件是属于python包的,这个文件用作于标识python ...
- python软件-python 2.7官方版
python 2.7官方版是一种面向对象.直译式计算机程序设计语言,python 2.7官方版也是一种功能强大而完善的通用型语言,已经具有十多年的发展历史,成熟且稳定. 软件介绍 这种语言具有非常简捷 ...
- File “C:\Users\hjl\AppData\Local\Programs\Python\Python38\lib\site-packages\pymysql\err.py“, line 1
今天通过python程序给数据库的表格插入数据,却提示报错 File "C:\Users\hjl\AppData\Local\Programs\Python\Python38\lib\sit ...
最新文章
- Spring Cloud Ribbon(服务消费者)
- ubuntu 升级nodejs 和 npm
- mysql 代码怎么优化_Mysql性能优化
- 转:如何用C#语言构造蜘蛛程序
- 送给程序员:IT大神们的编程名言
- Java 8中获取参数名称
- 看完这篇还不懂 MySQL 主从复制,可以回家躺平了~
- 第三章网络安全基础考试要点及真题分布
- 解决一个输入框可输入多个条件进行查询时,后端该怎么接收参数以及SQL语句如何写
- 互联网人求职现状:逃离互联网的人增多 求稳可以牺牲涨薪
- 小D课堂 - 零基础入门SpringBoot2.X到实战_第2节 SpringBoot接口Http协议开发实战_9、SpringBoot基础HTTP其他提交方法请求实战...
- java查询mongodb数据_从mongodb中查询数据
- HTML对网页的加密和解密方法大全
- 虚拟机中修改Fedora10/9屏幕的分辨率
- python用四个圆画成花_秘籍:学画牡丹技法要领,不轻易外传...
- 小程序如何cdn加速服务器,小程序能用cdn加速吗
- opencv vector matlab,opencv实现 Matlab 寻找峰值函数 findpeaks
- 鸿蒙车机系统合作,鸿蒙OS车机系统来了!华为吉利合作曝光,博越Pro或率先用上...
- 论文译文——BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
- 使用Bboss处理ES的dsl语句