0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

OLED顯示器如何與Raspberry Pi一起使用?

科技觀察員 ? 來源:circuitdigest ? 作者:薩達姆 ? 2022-11-17 16:52 ? 次閱讀

我們大多數(shù)人都熟悉16×2點陣LCD顯示器,在大多數(shù)項目中用于向用戶顯示一些信息。但是這些LCD顯示器有很多局限性。在本教程中,我們將了解OLED顯示器以及如何將它們與Raspberry Pi一起使用。市場上有很多類型的OLED顯示器,有很多方法可以讓它們工作。我們已經將 7 針 OLED 與 Arduino 一起使用。

所需硬件:

128×64 OLED 顯示模組 (SSD1306)

樹莓派

面包板

連接線

電源

了解OLED顯示器:

術語OLED代表“有機發(fā)光二極管”,它使用與我們大多數(shù)電視中使用的相同技術,但與它們相比像素更少。將這些看起來很酷的顯示模塊與Raspberry Pi連接真的很有趣,因為它會讓我們的項目看起來很酷。我們在這里介紹了有關OLED顯示器及其類型的完整文章。在這里,我們使用單色 4 針 SSD1306 0.96 英寸 OLED 顯示屏。此液晶屏只能與 I2C 模式配合使用。

poYBAGN19keAISeQAAA76nBfuRE571.jpg

poYBAGN19kqANx8NAABLt8eQv9o212.jpg

以下是OLED與樹莓派的連接:

有機硅引腳 RPI 引腳
可變資本公司 3.3V
接地 接地
自主權評估 SDA(物理引腳 3)
標準及校正實驗所 SCL(物理引腳 5)

電路圖:

pYYBAGN19kuAUn1JAADekWYXGQo048.png

poYBAGN19lGAZkrqAAE44vlSzYM680.jpg

將OLED與樹莓派連接:

RPI社區(qū)已經為我們提供了很多庫,可以直接用于使這變得更加簡單。我嘗試了一些庫,發(fā)現(xiàn)Adafruit_SSD1306 OLED庫非常易于使用,并且有一些圖形選項,因此我們將在本教程中使用相同的選項。

步驟 1:啟用 I2C 通信

在安裝 Adafruit SSD1306 庫之前,我們需要在樹莓派中啟用 I2C 通信。

要在樹莓派控制臺中執(zhí)行此操作:

sudo raspi-config

然后會出現(xiàn)藍屏?,F(xiàn)在選擇接口選項

pYYBAGN19lKALXQzAABaCu_MXus618.png

在此之后,我們需要選擇I2C

pYYBAGN19lWAbvE-AABgdvt9pKQ463.png

在此之后,我們需要選擇是并按回車鍵,然后確定

poYBAGN19laAWTcPAAAldGEUqF8406.png

在此之后,我們需要通過發(fā)出以下命令重新啟動樹莓派:

sodo reboot

第 2 步:查找 OLED I2C 地址并更新它

然后我們需要使用給定的命令找到OLED I2C地址,您將看到一個十六進制地址。

sudo i2cdetect –y 1

pYYBAGN19leAZUwVAAAVJM7Z8Zs681.png

然后使用給定的命令更新樹莓派:

sudo apt-get update

第 3 步:安裝 python-pip 和 GPIO 庫

在此之后,我們需要使用給定的命令安裝pip:

sudo apt-get install build-essential python-dev python-pip

并安裝樹莓派 GPIO 庫

sudo pip installs RPi.GPIO

步驟 4:安裝Python 映像庫和smbus庫

最后,我們需要使用給定的命令在 Raspberry Pi 中安裝 Python 映像庫和 smbus 庫:

sudo apt-get install python-imaging python-smbus

pYYBAGN19liAeM9GAACcZ7_PLOk969.png

第 5 步:安裝 Adafruit SSD1306 python 庫

現(xiàn)在是時候使用給定的命令安裝 Adafruit SSD1306 python 庫代碼和示例了:

sudo apt-get install git

git clone

https://github.com/adafruit/Adafruit_Python_SSD1306.git

cd Adafruit_Python_SSD1306 sudo python setup.py install

poYBAGN19luANEYoAAB8cGXW8LM309.png

現(xiàn)在用戶可以在樹莓派中找到OLED接口的代碼,您可以直接播放或自己自定義。在這里,我們自定義了一個示例代碼進行演示。您可以在文章末尾找到完整的 Python 代碼。

pYYBAGN19l6AYxeeAADwmuf4REg794.jpg

編程說明:
用于將OLED與RPi項目接口的編程部分很容易。首先,我們需要導入一些必要的庫。

import time
import Adafruit_GPIO.SPI as SPI
import Adafruit_SSD1306
from PIL import Image
from PIL import ImageDraw
from PIL import ImageFont
import subprocess
在此初始化后初始化顯示

RST = 0

disp = Adafruit_SSD1306.SSD1306_128_64(rst=RST)
disp.begin()
disp.clear()
disp.display()

width = disp.width
height = disp.height

image1 = Image.new('1', (width, height))

draw = ImageDraw.Draw(image1)
draw.rectangle((0,0,width,height), outline=0, fill=0)

padding = -2
top = padding

bottom = height-padding
x = 0
font = ImageFont.load_default()

在此之后,我們可以使用給定的代碼將數(shù)據或圖像發(fā)送到OLED
# Write two lines of text.

disp.clear()
disp.display()
draw.text((x, top), "OLED Interfacing " , font=font, fill=255)
draw.text((x, top+8), "Circuit Digest", font=font, fill=255)
draw.text((x, top+16), "For more Videos", font=font, fill=255)
draw.text((x, top+25), "Visit at", font=font, fill=255)
draw.text((x, top+34), "www.circuitdigest.com", font=font, fill=255)

# Display image.
disp.image(image1)
disp.display()
time.sleep(2)

if disp.height == 64:
image = Image.open('img1.png').convert('1')
else:
image = Image.open('img1.png').convert('1')

disp.image(image)
disp.display()
time.sleep(2)

if disp.height == 64:
image = Image.open('img3.jpg').convert('1')
else:
image = Image.open('img3.jpg').convert('1')

這款OLED有兩種變體,一種是128 * 32,另一種是128 * 64,因此用戶可以在初始化OLED時相應地選擇任何人。在這里,我們?yōu)閮烧呔帉懥舜舜a。用戶只需要初始化128 * 64像素的OLED,例如:

disp = Adafruit_SSD1306.SSD1306_128_64(rst=RST)

所有代碼和函數(shù)都易于理解,無需進一步解釋。只需開始并嘗試使用高度,寬度和圖像,并嘗試其他一些功能來創(chuàng)建一些更酷的幾何圖形。

import time

import Adafruit_GPIO.SPI as SPI

import Adafruit_SSD1306

from PIL import Image

from PIL import ImageDraw

from PIL import ImageFont

import subprocess


RST = 0


disp = Adafruit_SSD1306.SSD1306_128_64(rst=RST)

disp.begin()

disp.clear()

disp.display()


width = disp.width

height = disp.height

image1 = Image.new('1', (width, height))

draw = ImageDraw.Draw(image1)

draw.rectangle((0,0,width,height), outline=0, fill=0)


padding = -2

top = padding

bottom = height-padding

x = 0

font = ImageFont.load_default()


while True:

draw.rectangle((0,0,width,height), outline=0, fill=0)


# Write two lines of text.

disp.clear()

disp.display()

draw.text((x, top), "OLED Interfacing " , font=font, fill=255)

draw.text((x, top+8), "Circuit Digest", font=font, fill=255)

draw.text((x, top+16), "For more Videos", font=font, fill=255)

draw.text((x, top+25), "Visit at", font=font, fill=255)

draw.text((x, top+34), font=font, fill=255)


# Display image.

disp.image(image1)

disp.display()

time.sleep(2)


if disp.height == 64:

image = Image.open('img1.png').convert('1')

else:

image = Image.open('img1.png').convert('1')


disp.image(image)

disp.display()

time.sleep(2)


if disp.height == 64:

image = Image.open('img3.jpg').convert('1')

else:

image = Image.open('img3.jpg').convert('1')


disp.image(image)

disp.display()

time.sleep(2)


if disp.height == 64:

image = Image.open('img4.jpg').convert('1')

else:

image = Image.open('img4.jpg').convert('1')


disp.image(image)

disp.display()

time.sleep(2)

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • OLED顯示器
    +關注

    關注

    0

    文章

    65

    瀏覽量

    13268
收藏 人收藏

    評論

    相關推薦

    如何在Raspbian上設置沒有顯示器和鍵盤的Raspberry Pi

    在本教程中,我們將了解如何在新安裝的 Raspbian 上設置沒有顯示器和鍵盤的 Raspberry Pi
    發(fā)表于 09-22 16:31 ?1718次閱讀
    如何在Raspbian上設置沒有<b class='flag-5'>顯示器</b>和鍵盤的<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b>

    通過以太網線與VEE一起使用Raspberry Pi不起作用

    大家好,我想通過以太網線與VEE一起使用Raspberry Pi。我的問題是VEE沒有檢測到我的設備,我嘗試使用覆盆子的IP地址進行手動配置,但它不起作用。 Raspberry
    發(fā)表于 10-10 17:15

    Raspberry Pi擴展板

    描述clumsyMIDI - 樹莓派擴展板Raspberry Pi 擴展板,包含個 MIDI 接口、DAC 和 OLED
    發(fā)表于 07-29 06:12

    Raspberry Pi 4機械開關和OLED屏幕護罩的資料分享

    描述Raspberry Pi 4 機械開關和 OLED 屏幕護罩。材料:4 個 10 歐姆電阻。4 個機械鍵盤開關。1 個樹莓派 3B40x 通用引腳。(如果您的電路板有引腳,請?zhí)^此部分)1x
    發(fā)表于 08-30 07:23

    Raspberry Pi 2機械開關和OLED屏幕護罩的資料分享

    描述Raspberry Pi 2 機械開關和 OLED 屏幕護罩。材料:4 個 10 歐姆電阻。4 個機械鍵盤開關。1 個樹莓派 240x 通用引腳。(如果您的電路板有引腳,請?zhí)^此部分)1x
    發(fā)表于 08-30 06:32

    oled顯示器

    oled顯示器 OLED:Organic Light Emitting Display,即有機發(fā)光顯示器,在手機LCD上
    發(fā)表于 12-11 18:59 ?1467次閱讀

    TFT LCD與Raspberry Pi連接的方式

    Raspberry pi款信用卡大小的緊湊型計算機,如今在物聯(lián)網應用和數(shù)據科學、python、機器學習等高計算應用中非常流行。許多應用程序需要外部顯示器才能與
    的頭像 發(fā)表于 08-12 15:42 ?4918次閱讀
    TFT LCD與<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b>連接的方式

    三星顯示器計劃將透明PI基板應用于柔性OLED

      據報道,三星電子旗下面板制造商三星顯示器(Samsung Display)表示,正在考慮開發(fā)透光性更好的OLED面板,以提高屏幕下攝像頭的質量。據報道,三星顯示器計劃到2024年將透明聚酰亞胺
    的頭像 發(fā)表于 10-10 10:48 ?1723次閱讀

    如何在Raspberry Pi Pico中使用OLED顯示器

    電子發(fā)燒友網站提供《如何在Raspberry Pi Pico中使用OLED顯示器.zip》資料免費下載
    發(fā)表于 10-18 09:15 ?4次下載
    如何在<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b> Pico中使用<b class='flag-5'>OLED</b><b class='flag-5'>顯示器</b>

    Raspberry Pi 2機械開關和OLED屏幕護罩

    電子發(fā)燒友網站提供《Raspberry Pi 2機械開關和OLED屏幕護罩.zip》資料免費下載
    發(fā)表于 02-06 10:28 ?0次下載
    <b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b> 2機械開關和<b class='flag-5'>OLED</b>屏幕護罩

    Raspberry Pi 3B+機械開關和OLED屏幕護罩

    電子發(fā)燒友網站提供《Raspberry Pi 3B+機械開關和OLED屏幕護罩.zip》資料免費下載
    發(fā)表于 02-06 09:29 ?0次下載
    <b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b> 3B+機械開關和<b class='flag-5'>OLED</b>屏幕護罩

    Raspberry Pi 4機械開關和OLED屏幕護罩

    電子發(fā)燒友網站提供《Raspberry Pi 4機械開關和OLED屏幕護罩.zip》資料免費下載
    發(fā)表于 02-06 09:23 ?0次下載
    <b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b> 4機械開關和<b class='flag-5'>OLED</b>屏幕護罩

    如何將RFID模塊與Raspberry Pi集成在一起

    目的:本教程旨在展示何將RFID讀卡和執(zhí)行Raspberry Pi集成在一起?;诒疚挠懻摰幕驹?,我們還會制造
    的頭像 發(fā)表于 02-27 10:27 ?812次閱讀
    如何將RFID模塊與<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b>集成在<b class='flag-5'>一起</b>

    將Arduino庫與Raspberry Pi Pico C/C++ SDK一起使用

    電子發(fā)燒友網站提供《將Arduino庫與Raspberry Pi Pico C/C++ SDK一起使用.zip》資料免費下載
    發(fā)表于 06-15 14:43 ?1次下載
    將Arduino庫與<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b> Pico C/C++ SDK<b class='flag-5'>一起</b>使用

    Raspberry Pi添加15美元的顯示器

    電子發(fā)燒友網站提供《為Raspberry Pi添加15美元的顯示器.zip》資料免費下載
    發(fā)表于 06-20 11:04 ?0次下載
    為<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b>添加15美元的<b class='flag-5'>顯示器</b>