提供树莓派、STM32、Arduino示例程序,并实现常用屏幕操作功能:画点、画线、画矩形、画圆,可以控制它们的大小、宽度、填充,可以显示字符串。
功能引脚 | 描述 |
VCC | 电源正 |
GND | 电源地 |
DIN | 数据输入 |
CLK | 时钟输入 |
CS | 片选(低有效) |
DC | 寄存器/数据选择 |
RST | 复位(低有效) |
模块出厂默认使用SPI通信模式, 即BS1,BS2,DIN,CLK,CS,DS默认将0R电阻接上方两个焊盘。如上图所示的焊接方式,则是选择I2C的通信方式,具体硬件连接见下表:
注:上图为硬件上的焊接, 下表为实际的硬件连接
通信方式 | BS1 | BS2 | DIN | CLK | CS | DC |
SPI | GND | NC | MOSI | SCLK | CS | DC |
I2C | 3V3 | DIN | SDA | SCL | GND | GND |
工作原理:
提供C语言与python例程
- sudo raspi-config
- 选择Interfacing Options -> SPI -> Yes 开启SPI接口
- sudo reboot
请确保SPI没有被其他的设备占用,你可以在/boot/config.txt中间检查
在终端执行:
- sudo raspi-config
- 选择 Interfacing Options -> I2C ->yes 启动 i2C 内核驱动
- sudo reboot
- wget http://www.airspayce.com/mikem/bcm2835/bcm2835-1.60.tar.gz
- tar zxvf bcm2835-1.60.tar.gz
- cd bcm2835-1.60/
- sudo ./configure && sudo make && sudo make check && sudo make install
- # 更多的可以参考官网:http://www.airspayce.com/mikem/bcm2835/
- 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版本,如果没有出现说明安装出错
- #python2
- sudo apt-get update
- sudo apt-get install python-pip
- sudo apt-get install python-pil
- sudo apt-get install python-numpy
- sudo pip install RPi.GPIO
- sudo pip install spidev
- sudo pip install Adafruit-PureIO
- #python3
- sudo apt-get update
- sudo apt-get install python3-pip
- sudo apt-get install python3-pil
- sudo apt-get install python3-numpy
- sudo pip3 install RPi.GPIO
- sudo pip3 install spidev
- sudo pip3 install Adafruit-PureIO
在树莓派终端运行:
- sudo apt-get install p7zip-full
- wget http://www.waveshare.net/w/upload/c/c5/2.23inch-OLED-HAT-Code.7z
- 7z x 2.23inch-OLED-HAT-Code.7z -r -o./2.23inch-OLED-HAT-Code
- sudo chmod 777 -R 2.23inch-OLED-HAT-Code
- cd 2.23inch-OLED-HAT-Code/Raspberry\ Pi/
树莓派例程使用(以下SPI例程为例)
- cd SPI/
- cd bcm2835
- make clean
- make
- sudo ./oled
- cd wiringPi
- make clean
- make
- sudo ./oled
- cd python
- sudo python stats.py
WiringPi和Python例程是通过读写linux系统的设备文件操作,而BCM2835则是树莓派cpu芯片的库函数,操作的为寄存器,因此若先使用了BCM2835库,WiringPi和Python的例程则会使用失败,此时重启系统可以运行。
功能引脚 | 开发板 |
VCC | 3V3 |
GND | GND |
DIN | SDA/D14 |
CLK | SCL/D15 |
功能引脚 | 开发板 |
VCC | 3V3 |
GND | GND |
DIN | D11 (MOSI) |
CLK | D13 (SCK) |
CS | D10 |
DC | D8 |
RST | D9 |
由于屏幕玻璃属于易碎品,且屏幕比较靠近板子的边缘,请注意防止强烈碰撞,防止割伤,必要时可外加保护壳