树莓派4B-Python-使用SSD1306 OLED

树莓派4B-Python-使用SSD1306 OLED



前言

该文章主要是搞清楚如何使用新网购入手的OLED模块,打算将其装在V4小车上作为小车状态的输出屏,当然这第一次买所以买的屏幕有点太迷你了,凑近了才能看清屏幕上的内容,这次研究顺利的话下次再买个大一些的OLED屏。


一、SSD1306 OLED

SSD1306
该OLED 屏幕为0.96寸,分辨率128 * 64,四线制,屏幕上四分之一显示黄色,屏幕下四分之三显示蓝色。

树莓派驱动OLED的两种库

二、参数介绍

GND————接地
VCC————3.3 ~ 5V
SCL————串行时钟
SDA————串行数据

驱动芯片————SSD1306
通信方式————IIC

分辨率————128 * 64
支持显示————一般为数字、大小写英文

三、与树莓派接线

1.开启I2C

先下载:

sudo apt-get install -y python-smbus
sudo apt-get install -y i2c-tools

再开启i2c
开启i2c

2.下载Luma.oled库(用于Python3版本的)

关于Luma.oled库的使用文档

sudo apt-get install python3-dev python3-pip libfreetype6-dev libjpeg-dev
sudo -H pip3 install --upgrade pip3
sudo apt-get purge python3-pip
sudo -H pip3 install --upgrade luma.oled

若出现一大堆红字时,是因为网络不给力,多试几次就好了

3.屏幕与树莓派连接

OLED 屏幕与树莓派连接
红色线————5V
黑色线————GND
黄色线————SCL
绿色线————SDA

输入以下内容会得知是否已成功开启i2c

sudo i2cdetect -y 1

得到的结果:
查看是否已开启i2c
其中显示了“ 3C ”就说明是成功开启i2c了。

四、代码

代码如下:

from luma.core.interface.serial import i2c, spi
from luma.core.render import canvas
from luma.oled.device import ssd1306, ssd1325, ssd1331, sh1106
 
serial = i2c(port=1, address=0x3C)
device = ssd1306(serial)
 
with canvas(device) as draw:
    draw.rectangle(device.bounding_box, outline="white", fill="black") # 让屏幕周围显示一个框
    draw.text((30, 10), "Hello World", fill="white") # 将Hello World显示在屏幕第30列、第10行,显示的内容颜色为white(白色),但该屏幕无法呈现白色,只能显示当前LED灯的颜色


总结

之后就发现了一个关键但不致命的问题,那就是想显示中文字幕时就会报错。
显示中文时报错
有待解决!

之后经过一上午的深入探讨、研究、尝试,最终解决了“ 显示中文字幕时就会报错 ”的问题,解决方案在下面的文章链接中:
解决方案写在了该文章的最后

  • 2
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
树莓派4B的内核开发可以按照以下步骤进行: 1. 首先,下载内核源码。可以使用以下命令克隆树莓派的Linux内核源码库: ``` git clone --depth=1 https://github.com/raspberrypi/linux --branch rpi-5.4.y ``` 这将下载最新的树莓派Linux内核源码。 2. 安装所需的依赖项。使用以下命令安装所需的软件包: ``` sudo apt install raspberrypi-kernel-headers sudo apt install git bc bison flex libssl-dev make ``` 这将安装所需的内核头文件和其他开发工具。 3. 进入内核源码目录并进行配置。使用以下命令进入内核源码目录: ``` cd linux ``` 然后,使用以下命令配置内核: ``` KERNEL=kernel7l make bcm2711_defconfig ``` 这将使用默认配置文件进行内核配置。 4. 编译内核并安装。使用以下命令编译内核和模块: ``` make -j4 zImage modules dtbs ``` 然后,使用以下命令安装内核模块: ``` sudo make modules_install ``` 接下来,将设备树二进制文件复制到/boot/目录: ``` sudo cp arch/arm/boot/dts/*.dtb /boot/ sudo cp arch/arm/boot/dts/overlays/*.dtb* /boot/overlays/ sudo cp arch/arm/boot/dts/overlays/README /boot/overlays/ ``` 最后,将编译生成的内核映像复制到/boot/目录: ``` sudo cp arch/arm/boot/zImage /boot/$KERNEL.img ``` 5. 重新启动树莓派。使用以下命令重新启动树莓派: ``` sudo reboot -f ``` 这样,你就完成了树莓派4B的内核开发过程。请注意,这只是一个简单的概述,具体的步骤可能会因为不同的环境和需求而有所不同。建议在进行内核开发之前仔细阅读相关文档和指南。 #### 引用[.reference_title] - *1* [树莓派4B内核驱动开发(二)本地编译内核](https://blog.csdn.net/wuspeng/article/details/114040075)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [树莓派 4B 本地编译内核](https://blog.csdn.net/zhoutaopower/article/details/119416771)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值