前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >全志H3实现OLED显示

全志H3实现OLED显示

作者头像
阿志小管家
发布2024-02-02 19:42:32
1770
发布2024-02-02 19:42:32
举报

悟空派可以通过26 Pin引脚扩充SPI、IIC、UART以及GPIO功能。

此次分享通过双排插座引出的SPI,利用Python,进行经典的0.96寸OLED显示控制。

OLED一共有7根Pin,用杜邦线按下面对应关系将OLED模块与悟空派进行连接:

代码语言:javascript
复制
GND     -> Pin 25  
VCC     -> Pin 17 (3.3V)  
D0 SCLK -> Pin 23   
D1 MOSI -> Pin 19  
REST    -> Pin 26 (复位)  
DC      -> Pin 12 (命令和数据切换)  
CS      -> Pin 24

完成硬件连接后,开始准备Python脚本的编写。

首先需要在系统配置中打开spidev,命令行打开armbian-config

代码语言:javascript
复制
sudo armbian-config

按照顺序依次选择 System -> Hardware -> spi-spidev, 保存退出。

修改/boot/armbianEnv.txt文件,添加下图红色框的内容。

接下来需要安装两个python的库(可以在附件中下载),分别对应控制spi和gpio:

代码语言:javascript
复制
pip3 install gpio-1.0.0-py3-none-any.whl
pip3 install spidev-3.6-cp39-cp39-linux_armv7l.whl

还有一点需要注意的是为gpio export文件添加权限:

代码语言:javascript
复制
sudo chmod u=rwx /sys/class/gpio/export

最后开始Python脚本的编写,首先是spi的控制:

代码语言:javascript
复制
#导入库文件
import spidev as SPI

#声明spi
spi = SPI.SpiDev()

#打开1总线上的0号spi设备
spi.open(1,0)

#设置spi总线速度
spi.max_speed_hz = 50000000

#spi发送函数,to_send为list变量
spi.xfer(to_send)

然后是控制Rst和切换CMD、Data的Gpio控制:

代码语言:javascript
复制
import gpio as GPIO
GPIO.setup(CMDPin, GPIO.OUT)
GPIO.setup(RstPin, GPIO.OUT)

完成上述两个外设的初始化,下面声明一个8*128大小的list变量,*附件:MKP_OLED.7z来充当显存,并通过SPI发送数据的方式刷新显示,以达到OLED显示的目的。

代码语言:javascript
复制
GRAM  = []
for i in range(0,8):
    for j in range(0,128):
        GRAM.append(0x0)

这里做了一个简单的竖线移动的Demo。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-12-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档