0.96inch OLED old
来自Waveshare Wiki
相关资料
树莓派
提供C语言与python例程
树莓派使用教程
开启SPI接口
PS:如果使用的是Bullseye分支的系统,需要将”apt-get“改成“apt",Bullseye分支的系统只支持Python3。
- 打开树莓派终端,输入以下指令进入配置界面
sudo raspi-config 选择Interfacing Options -> SPI -> Yes 开启SPI接口
sudo reboot
请确保SPI没有被其他的设备占用,你可以在/boot/config.txt中间检查
安装库
如果使用bookworm系统,只能使用lgpio库,bcm2835跟wiringPi无法安装与使用,python库可以不安装,直接运行程序即可
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
硬件连接
LCD | RPi引脚号 | BCM |
VCC | 3.3V | 3.3V |
GND | GND | GND |
DIN | 19 | MOSI |
CLK | 23 | SCLK |
CS | 24 | CE0 |
DC | 13 | P27 |
RST | 18 | P24 |
下载例程
在树莓派终端运行:
apt-get install p7zip-full wget http://www.waveshare.net/w/upload/1/1d/0.96inch-OLED-Code.7z 7z x 0.96inch-OLED-Code.7z sudo chmod 777 -R 0.96inch-OLED-Code cd 0.96inch-OLED-Code/RaspberryPi
运行测试程序
- C语言
cd c make clean make sudo ./main #预期效果 #显示图片 #显示时间
- python
cd python sudo python main.py #预期效果 #显示英文和中文 #显示图片
I2C控制
- 默认使用的4线SPI,如果需要修改成I2C的,需要修改硬件和程序
LCD | RPi引脚号 | BCM |
VCC | 3.3V | 3.3V |
GND | GND | GND |
DIN | 3 | SDA |
CLK | 5 | SCL |
CS | 24 | CE0 |
DC | 13 | P27 |
RST | 18 | P24 |
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/1/1d/0.96inch-OLED-Code.7z 7z x 0.96inch-OLED-Code.7z sudo chmod 777 -R 0.96inch-OLED-Code cd 0.96inch-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软件。 确认好开发板型号,并连接好下载器。点击编译,然后点击下载将程序下载到开发板即可
预期效果
- 显示数字和英文
- 显示时间
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口,然后点击编译并下载即可。
预期效果
- 显示图片
- 显示时间