1.3inch OLED (A)

来自Waveshare Wiki
Eng20讨论 | 贡献2019年12月4日 (三) 17:14的版本 →‎运行测试程序
跳转至: 导航搜索
1.3inch-OLED-A
1.3inch-OLED-B
{{{name2}}}
{{{name3}}}
功能简介
特性 无特性,不解释
显示尺寸 1.3英寸
分辨率 128×64
' 无特性,不解释
' 无特性,不解释
接口 OLED I2C SPI

产品简介

提供树莓派、STM32、arduino例程

产品参数

  • 工作电压: 3.3V/5V
  • 通信接口: 3-wire SPI, 4-wire SPI, I2C
  • 屏幕类型: OLED
  • 控制芯片: SH1106
  • 分辨率: 128*64(Pixel)
  • 显示尺寸: 14.7(H)x 29.42(V)(mm)
  • 像素大小: 0.21 x 0.21 (mm)
  • 产品尺寸: 40.5 x 37.5(mm)
  • 显示颜色: 蓝色
  • 工作温度: -20°C ~ 70°C
  • 存储温度: -30°C ~ 80°C
  • 视角: >160°

功能引脚

功能引脚 描述
VCC 3.3V/5V电源正
GND 电源地
NC NC
DIN SPI数据输入
CLK SPI时钟输入
CS 片选,低电平有效
RST 复位

硬件配置

OLED模块提供三种驱动接口:分别为3-wire SPI、4-wire SPI 和I2C接口,模块背面有两个可选择焊接的电阻, 通过电子的选择来选择相应的通信方式, 如图:
1.3inch-OLED-A-3.jpg
模块出厂默认使用4线SPI通信模式, 即BS0,BS1默认接0(1和0不全代表电平,只是电阻接上或者接下的焊接方式,具体硬件链接见下表):
注:上图为硬件上的焊接, 下表为实际的硬件连接

通信方式 BS1/BS0
3-wire SPI 0/1
4-wire SPI 0/0
I2C 1/0

具体硬件配置,如下:

  • 使用4线SPI:

即出厂程序设置:BS0与BS1接0连接到地,DIN接0连接至树莓派MOSI,CLK接0连接至树莓派SCLK;

  • 使用3线SPI:

BS0接1连接到VCC,BS1接0连接至GND,DIN接0连接至树莓派MOSI,CLK接0来连接至树莓派SCLK;

  • 使用I2C:

BS0接0连接至GND,BS1接1连接至VCC(3.3V),DIN接0连接至树莓派SDA,CLK接1连接至树莓派SCL;
使用I2C时:DC的高低状态可以控制从设备的地址,如果接到了GND,那么I2C的7位地址为:0x3C;

树莓派

提供C语言与python例程

树莓派使用教程

开启SPI接口

PS:如果使用的是Bullseye分支的系统,需要将”apt-get“改成“apt",Bullseye分支的系统只支持Python3。
  • 打开树莓派终端,输入以下指令进入配置界面
sudo raspi-config
选择Interfacing Options -> SPI -> Yes 开启SPI接口

RPI open spi.png
然后重启树莓派:

sudo reboot

请确保SPI没有被其他的设备占用,你可以在/boot/config.txt中间检查

安装库

如果使用bookworm系统,只能使用lgpio库,bcm2835跟wiringPi无法安装与使用

BCM2835

#打开树莓派终端,并运行以下指令
wget http://www.airspayce.com/mikem/bcm2835/bcm2835-1.71.tar.gz
tar zxvf bcm2835-1.71.tar.gz 
cd bcm2835-1.71/
sudo ./configure && sudo make && sudo make check && sudo make install
# 更多的可以参考官网:http://www.airspayce.com/mikem/bcm2835/

wiringPi

#打开树莓派终端,并运行以下指令
cd
sudo apt-get install wiringpi
#对于树莓派2019年5月之后的系统(早于之前的可不用执行),可能需要进行升级:
wget https://project-downloads.drogon.net/wiringpi-latest.deb
sudo dpkg -i wiringpi-latest.deb
gpio -v
# 运行gpio -v会出现2.52版本,如果没有出现说明安装出错

#Bullseye分支系统使用如下命令:
git clone https://github.com/WiringPi/WiringPi
cd WiringPi
./build
gpio -v
# 运行gpio -v会出现2.70版本,如果没有出现说明安装出错

lgpio

#打开树莓派终端,并运行以下指令
wget https://github.com/joan2937/lg/archive/master.zip
unzip master.zip
cd lg-master
sudo make install

# 更多的可以参考官网:https://github.com/gpiozero/lg
  • python
sudo apt-get update
sudo apt-get install python-pip 
sudo pip install RPi.GPIO
sudo apt-get install python-smbus
sudo pip install spidev

硬件连接

默认使用的4线SPI
1.3inch OLED-树莓派SPI硬件连接图.JPG

LCD RPi引脚号 BCM
VCC 3.3V 3.3V
GND GND GND
DIN 19 MOSI
CLK 23 SCLK
CS 24 CE0
DC 18 P24
RST 22 P25

下载例程

在树莓派终端运行:

sudo apt-get install p7zip
wget http://www.waveshare.net/w/upload/0/0f/1.3inch-OLED-Code.7z
7z x 1.3inch-OLED-Code.7z 
sudo chmod 777 -R  1.3inch-OLED-Code
cd 1.3inch-OLED-Code/RaspberryPi

运行测试程序

  • C语言
cd c
make clean
make
sudo ./main
#预期效果
#显示数字和英文
#显示时间
  • python
cd python
sudo python main.py
#预期效果
#显示英文和中文
#显示图片

I2C控制

  • 默认使用的4线SPI,如果需要修改成I2C的,需要修改硬件和程序

1.3inch OLED-树莓派I2C硬件连接图.JPG

LCD RPi引脚号 BCM
VCC 3.3V 3.3V
GND GND GND
DIN 3 SDA
CLK 5 SCL
CS 24 CE0
DC 18 P24
RST 22 P25

C语言

打开C\obj\DEV_Config.h,把如下:

#define USE_SPI 1
#define USE_IIC 0

改成

#define USE_SPI 0
#define USE_IIC 1

然后重新执行:

make clean
make
sudo ./main

python

打开python/config.py,把如下:

Device_SPI = 1
Device_I2C = 0

改成

Device_SPI = 0
Device_I2C = 1

然后重新执行:

sudo python main.py

Jetson nano

安装库

安装函数库

  • 打开终端界面,输入以下指令安装相应的函数库
sudo apt-get update
sudo apt-get install python3-pip
sudo pip3 install Jetson.GPIO
sudo groupadd -f -r gpio
sudo usermod -a -G gpio your_user_name
sudo cp /opt/nvidia/jetson-gpio/etc/99-gpio.rules /etc/udev/rules.d/
sudo udevadm control --reload-rules && sudo udevadm trigger

【注意】your_user_name 是你使用的用户名,比如说 waveshare

  • 安装I2C
sudo apt-get install python-smbus
  • 安装图像处理库:
sudo apt-get install python3-pil
sudo apt-get install python3-numpy

下载程序

sudo apt-get install p7zip
wget http://www.waveshare.net/w/upload/5/53/1.3inch-OLED-HAT-Code.7z
7z x 1.3inch-OLED-HAT-Code.7z
sudo chmod 777 -R  1.3inch-OLED-HAT-Code
cd 1.3inch-OLED-Code/JetsonNano/

运行测试程序

由于JetsonNano的GPIO驱动能力弱,只能使用SPI进行控制

  • C语言
cd C
make clean
make
sudo ./main
  • python
#python2
cd python2
sudo python main.py
#python3
cd python3
sudo python3 main.py

STM32

  • 本例程使用的开发板为 Open103R 开发板 ,主控为STM32F103RCT6,程序是基于标准库

硬件连接

把 OLED 模块连接到 Open103R 开发板 SPI2 接口。

OLED STM32
VCC 3.3V
GND GND
DIN PB15
CLK PB13
CS PB12
DC PC6
RST PC2

下载程序,找到STM32程序文件目录并打开STM32工程。注意使用前先确保电脑已经安装好keil5软件。 确认好开发板型号,并连接好下载器。点击编译,然后点击下载将程序下载到开发板即可

预期效果

  1. 显示数字和英文
  2. 显示时间

Arduino

  • 本例程使用的开发板为Arduino UNO

硬件连接

由于我们提供的示例程序是基于Arduino UNO,所以对应给出的硬件连接也是基于Arduino UNO. 如果你要连接屏幕到别的Arduino开发板,请先确认您的开发板接口是否兼容Arduino UNO. 如果不兼容UNO,需要修改硬件连接方式,以实际开发板引脚为准。

OLED UNO
VCC 5V
GND GND
DIN D11
CLK D13
CS D10
DC D8
RST D9

打开工程,选择开发板型号和对应COM口,然后点击编译并下载即可。

预期效果

  1. 显示图片
  2. 显示时间
1.3inch-OLED-A
1.3inch-OLED-B
{{{name2}}}
{{{name3}}}
功能简介
特性 无特性,不解释
显示尺寸 1.3英寸
分辨率 128×64
' 无特性,不解释
' 无特性,不解释
接口 OLED I2C SPI

资料

提供文档、程序、数据手册等全套资料

文档

程序

软件

数据手册

应用笔记

其他



批量下载教程——请戳?Download-icon.png

OLED模块默认是在3.3V的系统中使用的。


在正常的工作条件下,一般有50000个小时


在3.3V工作电压下:

0.95inch RGB OLED的工作电流:全白显示约为38mA,全黑显示约为4mA。

0.96inch OLED的工作电流:全亮约为25mA,全灭约为1.5mA。

1.3inch OLED的工作电流:全亮约为29mA,全灭约为1.0mA。

1.51inch OLED的工作电流:全亮约为171mA,全灭约为6.9mA。


OLED是没有背光的,显示属于自发光方式。只接VCC和GND,OLED是不会亮的。

必须用程序控制才能亮点OLED。


1.注意电源不要接反。

2.不能长时间显示同一画面,否则将产生残影,导致OLED损坏。


联系人:杨工

电话:0755-82726080
微信:扫下方二维码添加
Ywb.jpg

说明:进行售后服务前,请准备好客户信息(定货单位、定货人等),以供验证