匿名
未登录
登录
丢石头百科
搜索
查看“2.23inch OLED HAT”的源代码
来自丢石头百科
名字空间
页面
讨论
更多
更多
页面选项
查看
查看源代码
历史
←
2.23inch OLED HAT
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
<div class="tabber"> {{Product |images=[[File:2.23inch-OLED-HAT-1.jpg|360px |alt=2.23inch-OLED-HAT | 2.23inch OLED HAT]] |categories= {{Category|OLED}} {{Category|显示屏}} |brand=Waveshare |features= * 显示尺寸:2.23英寸 * 分辨率:128×32 |interfaces= {{Category|OLED接口}} {{Category|SPI接口}} {{Category|I2C接口}} |related= {{OLED-Related}} }} <div class="tabbertab" title="说明"> =产品简介= ''' 提供树莓派、STM32、Arduino示例程序,并实现常用屏幕操作功能:画点、画线、画矩形、画圆,可以控制它们的大小、宽度、填充,可以显示字符串。''' ==产品参数== *驱动芯片: SSD1305 *支持接口: I2C、SPI、OLED *分辨率: 128*32 *显示尺寸: 2.23inch *像素大小: 0.41 x 0.39(mm) *显示颜色: 白色 *工作电压: 3.3V ==功能引脚== {|border=1; style="width:700px;" align="center" |-style="background:#0000ff; color:white;" align="center" |功能引脚||描述 |-align="center" |VCC||电源正 |-align="center" |GND||电源地 |-align="center" |DIN||数据输入 |-align="center" |CLK||时钟输入 |-align="center" |CS||片选(低有效) |-align="center" |DC||寄存器/数据选择 |-align="center" |RST||复位(低有效) |} ==硬件配置== <br /> [[File:2.23inch-OLED-HAT-2.jpg|900px]]<br /> 模块出厂默认使用SPI通信模式, 即BS1,BS2,DIN,CLK,CS,DS默认将0R电阻接上方两个焊盘。如上图所示的焊接方式,则是选择I2C的通信方式,具体硬件连接见下表:<br /> 注:上图为硬件上的焊接, 下表为实际的硬件连接<br /> {|border=1; style="width:700px;" align="center" |-style="background:#0000ff; color:white;" align="center" |通信方式||BS1||BS2||DIN||CLK||CS||DC |-align="center" |SPI||GND||NC||MOSI||SCLK||CS||DC |-align="center" |I2C||3V3||DIN||SDA||SCL||GND||GND |} 工作原理:<br /> *SSD1305是一款132*64像素的OLED控制器,但该OLED只有128*32个像素点,所以该屏只用到了SSD1305缓存区的前一部分;<br /> *该OLED支持8bit 8080并行、SPI和I2C等通信方式,但考虑到该模块的尺寸,以及节省微控制器宝贵的IO资源,故舍弃了8bit 8080并行方式,支持I2C与SPI的通信方式。<br /> =I2C通信协议= *[[File:2.23inch-OLED-HAT-3.jpg|900px]] *在I2C通信时,先发送一个7bit的从设备地址+1bit的读写位,等待设备的响应。 *在从设备应答后,接着发送一个控制字节,该字节决定了后面发送的字节是命令还是数据,然后再等待从设备应答。 *在从设备再次应答之后,若发送命令,则只发送一字节的命令。若发送数据,可以只发送一个字节,也可以多个字节的数据连着发送,视情况而定。 *详见Datasheet Page22 Figure 8-6。 =SPI通信协议= *[[File:2.23inch-OLED-HAT-4.jpg|900px]] *如上图所示,SDIN 上的数据按 MSB 在前 LSB 在后为次序在每个 SCLK 的上升沿到来时被移入一个 8-bit 移位寄 存器。 *D/C#在每第 8 个时钟被采样,并且移位寄存器里的数据被写入图形显示内存(GDDRAM) 或者命令寄存器,在同样的计数时钟下。 *在串行模式下,仅允许写操作。 在 4-wireSPI 模式下的写操作过程。. *详见Datasheet Page21 Figure 8-5。 =树莓派= 提供C语言与python例程 {{RPI_open_spi}} {{RPI_open_i2c}} ==安装库== {{RPI_C_lib}} *python <pre> #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 </pre> ==下载例程== 树莓派例程使用(以下SPI例程为例)<br /> *把对应的例程拷贝进树莓派中(可通过samba或者直接复制到SD)即可,以下示例均复制到了树莓派pi用户目录下。 *1.基于BCM2835的使用 *(1) 安装BCM2835函数库 *(2) 在树莓派终端进入例程目录: cd bcm2835 *(3) 运行BCM2835例程: sudo ./oled *2.基于WiringPi的使用 *(1) 安装WiringPi函数库 *(2) 在树莓派终端进入例程目录: cd wiringPi *(3) 运行WiringPi例程: sudo ./oled *3.基于Python的使用 *(1) 安装Python函数库 *(2) 在树莓派终端进入例程目录: cd python *(3) 可运行Python例程: sudo python stats.py *4.例程使用的注意事项 WiringPi和Python例程是通过读写linux系统的设备文件操作,而BCM2835则是树莓派cpu芯片的库函数,操作的为寄存器,因此若先使用了BCM2835库,WiringPi和Python的例程则会使用失败,此时重启系统可以运行。 ==arduino的使用== *1. 硬件配置 * 该例程使用的开发板为:UNO PLUS *2. IIC连接方式: {|border=1; style="width:700px;" align="center" |-style="background:#0000ff; color:white;" align="center" |功能引脚||开发板 |-align="center" |VCC||3V3 |-align="center" |GND||GND |-align="center" |DIN||SDA/D14 |-align="center" |CLK||SCL/D15 |} *3. SPI连接方式: {|border=1; style="width:700px;" align="center" |-style="background:#0000ff; color:white;" align="center" |功能引脚||开发板 |-align="center" |VCC||3V3 |-align="center" |GND||GND |-align="center" |DIN||D11 (MOSI) |-align="center" |CLK||D13 (SCK) |-align="center" |CS||D10 |-align="center" |DC||D8 |-align="center" |RST||D9 |} ==数组制作== *请使用Image2Lcd打开黑白图片,并配置如下: *输出数据类型:C语言数据(*.c) *扫描方式:水平扫描 *输出灰度:单色 *最大宽度和高度:128 32 (这两个为OLED的最大分辨率) *[[File:2.23inch-OLED-HAT-5.jpg|900px]] *例程效果演示: *[[File:2.23inch-OLED-HAT-6.jpg|900px]] *[[File:2.23inch-OLED-HAT-7.jpg|900px]] *[[File:2.23inch-OLED-HAT-8.jpg|900px]] *[[File:2.23inch-OLED-HAT-9.jpg|900px]] ==屏幕使用注意事项== '''由于屏幕玻璃属于易碎品,且屏幕比较靠近板子的边缘,请注意防止强烈碰撞,防止割伤,必要时可外加保护壳''' </div> <!--<div class="tabbertab" title="说明"></div>--> <div class="tabbertab" title="资料"> ===文档=== *[http://{{SERVERNAME}}/w/upload/f/fb/2.23inch-OLED-HAT-User-Manual-CN_.pdf 用户手册] *[http://{{SERVERNAME}}/w/upload/3/35/2.23inch-OLED-HAT-Schematic.pdf 原理图] *[http://{{SERVERNAME}}/w/upload/a/ad/2.23inch-OLED-HAT-size_780.jpg 尺寸图] ===程序=== *[http://{{SERVERNAME}}/w/upload/c/c5/2.23inch-OLED-HAT-Code.7z 示例程序]<br> ===软件=== {{OLED_Software}} ===数据手册=== *[http://{{SERVERNAME}}/w/upload/e/e3/2.23inch-OLED-HAT-Datasheet_.pdf 2.23inch SSD1305 OLED数据手册] *[http://{{SERVERNAME}}/w/upload/b/b5/SSD1305-Revision_1.8.pdf SSD1305 芯片手册] ==应用笔记== *[[OLED_Draw|显示图片]] 转到:[[#软件]],[[#程序]],[[#文档]] <!--{{Join_us}}--> </div> <div class="tabbertab" title="售后"><br />{{Service08}}</div>
该页面使用的模板:
模板:Category
(
查看源代码
)
模板:OLED Software
(
查看源代码
)
模板:OLED-Related
(
查看源代码
)
模板:Product
(
查看源代码
)
模板:RPI C lib
(
查看源代码
)
模板:RPI open i2c
(
查看源代码
)
模板:RPI open spi
(
查看源代码
)
模板:Service00
(
查看源代码
)
模板:Service08
(
查看源代码
)
模板:Tag
(
查看源代码
)
模板:Tipbox
(
查看源代码
)
返回至
2.23inch OLED HAT
。
导航
导航
首页
最近更改
随机页面
MediaWiki帮助
首页
首页
树莓派
主机
配件包
外壳
键鼠
电源
扩展板
显示屏
墨水屏
摄像模块
通信模块
继电器
电机驱动板
游戏机
产品分类
树莓派
Arduino
micro:bit
STM32
Espressif
WiFi模块
蓝牙模块
无线模块
LoRa模块
4G模块
GSM
GPRS
以太网
导航模块
北斗卫星
GPS
LCD
墨水屏
OLED
摄像头
USB模块
串口模块
RS232
RS485
CAN
传感器
温度模块
湿度模块
气压模块
继电器
电机模块
指纹模块
电平转换
音频模块
编程器
Wiki工具
Wiki工具
特殊页面
页面工具
页面工具
用户页面工具
更多
链入页面
相关更改
页面信息
页面日志