“0.91inch OLED Module”的版本间的差异
来自丢石头百科
标签:撤销 |
小 (文本替换 - 替换“http://{{”为“https://{{”) |
||
第32行: | 第32行: | ||
在从设备应答后,接着发送一个控制字节,该字节决定了后面发送的字节是命令还是数据,然后再等待从设备应答。<br /> | 在从设备应答后,接着发送一个控制字节,该字节决定了后面发送的字节是命令还是数据,然后再等待从设备应答。<br /> | ||
在从设备再次应答之后,若发送命令,则只发送一字节的命令。若发送数据,可以只发送一个字节,也可以多个字节的数据连着发送,视情况而定。<br /> | 在从设备再次应答之后,若发送命令,则只发送一字节的命令。若发送数据,可以只发送一个字节,也可以多个字节的数据连着发送,视情况而定。<br /> | ||
− | [ | + | [https://{{SERVERNAME}}/w/upload/a/af/SSD1306-Revision_1.1.pdf 详见 Datasheet Page20 Figure 8-7] |
=树莓派使用= | =树莓派使用= | ||
第121行: | 第121行: | ||
|SCL||SCL/D15 | |SCL||SCL/D15 | ||
|} | |} | ||
− | 在资料中下载程序,或[ | + | 在资料中下载程序,或[https://{{SERVERNAME}}/w/upload/3/37/0.91inch_OLED_Module_Code.7z 点击此处下载]<br /> |
解压后打开\STM32\0.91inch_OLED_Demo\MDK-ARM\0.91inch_OLED_Demo.uvprojx<br /> | 解压后打开\STM32\0.91inch_OLED_Demo\MDK-ARM\0.91inch_OLED_Demo.uvprojx<br /> | ||
编译并下载到开发板上<br /> | 编译并下载到开发板上<br /> | ||
第139行: | 第139行: | ||
|SCL||SCL | |SCL||SCL | ||
|} | |} | ||
− | 在资料中下载程序,或[ | + | 在资料中下载程序,或[https://{{SERVERNAME}}/w/upload/3/37/0.91inch_OLED_Module_Code.7z 点击此处下载]<br /> |
解压后将Arduino\0.91Inch_OLED_Demo\下的文件复制到Arduino\0.91Inch_OLED_Demo\oled\目录下<br /> | 解压后将Arduino\0.91Inch_OLED_Demo\下的文件复制到Arduino\0.91Inch_OLED_Demo\oled\目录下<br /> | ||
打开Arduino\0.91Inch_OLED_Demo\oled\oled.ino<br /> | 打开Arduino\0.91Inch_OLED_Demo\oled\oled.ino<br /> | ||
第147行: | 第147行: | ||
<div class="tabbertab" title="资料"> | <div class="tabbertab" title="资料"> | ||
===文档=== | ===文档=== | ||
− | *[ | + | *[https://{{SERVERNAME}}/w/upload/2/2a/0.91inch_OLED_Module_Schematic.pdf 原理图]<br> |
===程序=== | ===程序=== | ||
− | *[ | + | *[https://{{SERVERNAME}}/w/upload/3/37/0.91inch_OLED_Module_Code.7z 示例程序]<br> |
===软件=== | ===软件=== | ||
第156行: | 第156行: | ||
===数据手册=== | ===数据手册=== | ||
− | *[ | + | *[https://{{SERVERNAME}}/w/upload/a/af/SSD1306-Revision_1.1.pdf SSD1306 手册] |
<!--{{Join_us}}--> | <!--{{Join_us}}--> |
2021年6月18日 (五) 17:55的最新版本
| |||||||||||||||||||||||||
| |||||||||||||||||||||||||
| |||||||||||||||||||||||||
|
目录
产品特性
- 驱动芯片 : SSD1306
- 支持接口 : I2C
- 分辨率 : 128 * 32
- 显示尺寸 : 0.91inch
- 显示颜色 : 白色
- 工作电压 : 3.3V / 5V
工作原理
SSD1306 是一款 128*64 像素的 OLED 控制器,但该 OLED 只有 128*32 个像素点,所以该屏只用到了 SSD1306 缓存区的前半部分。
该 OLED 支持 8bit 8080 并行、8bit 6800 并行、三线 SPI、四线 SPI 和 I2C 等通信方式,但考虑到该模块的尺寸,以及节省微控制器宝贵的 IO 资源,故舍弃了前四种通信方式,只支持 I2C的通信方式。
I2C 通信协议
在 I2C 通信时,先发送一个 7bit 的从设备地址+1bit 的读写位,等待设备的响应。
在从设备应答后,接着发送一个控制字节,该字节决定了后面发送的字节是命令还是数据,然后再等待从设备应答。
在从设备再次应答之后,若发送命令,则只发送一字节的命令。若发送数据,可以只发送一个字节,也可以多个字节的数据连着发送,视情况而定。
详见 Datasheet Page20 Figure 8-7
树莓派使用
打开I2C接口
在终端执行:
sudo raspi-config 选择 Interfacing Options -> I2C ->yes 启动 i2C 内核驱动
sudo reboot
安装库
- 安装BCM2835, 打开树莓派终端,并运行一下指令
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/
- 安装wiringPi
sudo apt-get install wiringpi #对于树莓派4B可能需要进行升级: cd /tmp 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版本,如果没有出现说明安装出错
- 安装Python函数库
#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 #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
硬件连接
OLED | RPi引脚号 | BCM |
VCC | 3.3V | 3.3V |
GND | GND | GND |
SDA | 3 | SDA |
SCL | 5 | SCL |
下载示例程序
sudo apt-get install p7zip-full wget http://wiki.diustou.com/w/upload/3/37/0.91inch_OLED_Module_Code.7z 7z x 0.91inch_OLED_Module_Code.7z sudo chmod 777 -R 0.91inch_OLED_Module_Code cd 0.91inch_OLED_Module_Code/RaspberryPi
运行测试例程
- BCM2835
cd bcm2835/ make clean make sudo ./oled_0in91
- wiringPi
cd wiringpi/ make clean make sudo ./oled_0in91
- python
cd python/ sudo python Adafruit_Python_SSD1306/setup.py install sudo python stats.py
STM32使用
- 本例程使用的开发板主控为 XNUCLEO-F103RB
- 本例程基于 HAL 库,因此可以使用 STM32CubeMX 把示例程序移植到其他 STM 芯片上
- 本例程在 Keil v5 环境下编译通过
模块 | XNUCLEO-F103RB |
VCC | 3V3/5V |
GND | GND |
SDA | SDA/D14 |
SCL | SCL/D15 |
在资料中下载程序,或点击此处下载
解压后打开\STM32\0.91inch_OLED_Demo\MDK-ARM\0.91inch_OLED_Demo.uvprojx
编译并下载到开发板上
Arduino使用
- 本例程使用的开发板主控为Arduino UNO
模块 | XNUCLEO-F103RB |
VCC | 3V3/5V |
GND | GND |
SDA | SDA |
SCL | SCL |
在资料中下载程序,或点击此处下载
解压后将Arduino\0.91Inch_OLED_Demo\下的文件复制到Arduino\0.91Inch_OLED_Demo\oled\目录下
打开Arduino\0.91Inch_OLED_Demo\oled\oled.ino
编译并下载到开发板上
FAQ
|
|
|
|