Difference between revisions of "Breakout - 0.96'128x64 OLED/zh"
From FriendlyELEC WiKi
(→介绍) |
(→特性) |
||
(12 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
[[Breakout - 0.96'128x64 OLED|English]] | [[Breakout - 0.96'128x64 OLED|English]] | ||
==介绍== | ==介绍== | ||
− | [[File:Breakout - 0.96'128x64 OLED.jpg|thumb|OLED]] | + | [[File:Breakout - 0.96'128x64 OLED1.jpg|thumb|Breakout - 0.96'128x64 OLED]] |
+ | [[File:Breakout - 0.96'128x64 OLED2.jpg|thumb|Breakout - 0.96'128x64 OLED 正面]] | ||
+ | [[File:Breakout - 0.96'128x64 OLED3.jpg|thumb|Breakout - 0.96'128x64 OLED 背面]] | ||
*Breakout - 0.96'128x64 OLED是一个0.96寸OLED模块,使用了一片128x64分辨率的单色OLED屏幕,OLED具有亮度高、对比度高、自发光、视角宽、功耗低等特点。模块使用了4Pin I2C接口,连接使用方便快捷。 | *Breakout - 0.96'128x64 OLED是一个0.96寸OLED模块,使用了一片128x64分辨率的单色OLED屏幕,OLED具有亮度高、对比度高、自发光、视角宽、功耗低等特点。模块使用了4Pin I2C接口,连接使用方便快捷。 | ||
*通过配置模块上的地址设置电阻,可设置模块I2C从地址为0X3C或0X3D,这样同一个I2C总线上可同时连接两个OLED模块。 | *通过配置模块上的地址设置电阻,可设置模块I2C从地址为0X3C或0X3D,这样同一个I2C总线上可同时连接两个OLED模块。 | ||
==特性== | ==特性== | ||
− | * | + | * I2C接口:2.54mm 4Pin 排针 |
* 128x64分辨率 | * 128x64分辨率 | ||
− | * | + | * 颜色:白色 |
* 模块I2C地址可配置。 | * 模块I2C地址可配置。 | ||
− | * | + | * PCB尺寸(mm):27.3x27.3 |
− | [[File: | + | [[File:Breakout - 0.96'128x64 OLED_Top_PCB.png | frameless|400px|Breakout - 0.96'128x64 OLED_Top]] |
− | [[File: | + | [[File:Breakout - 0.96'128x64 OLED_PCB.png | frameless|400px|Breakout - 0.96'128x64 OLED_Bottom]] |
* 引脚说明: | * 引脚说明: | ||
Line 22: | Line 24: | ||
|- | |- | ||
|5V || 电源5V | |5V || 电源5V | ||
+ | |- | ||
+ | |SCL || I2C-SCL | ||
|- | |- | ||
|SDA || I2C-SDA | |SDA || I2C-SDA | ||
− | |||
− | |||
|} | |} | ||
== 示例程序(1):Display System Info == | == 示例程序(1):Display System Info == | ||
+ | Breakout - 0.96'128x64 OLED兼容使用[[BakeBit - OLED 128x64]]的软件代码。<br> | ||
这个例子我们使用显示屏来显示系统信息,例如IP地址,存储空间和内存信息,CPU当前频率等。 | 这个例子我们使用显示屏来显示系统信息,例如IP地址,存储空间和内存信息,CPU当前频率等。 | ||
=== 硬件连接 === | === 硬件连接 === | ||
− | + | 简单的是用2.54mm间距杜邦线将Breakout - 0.96'128x64 OLED模块接入开发板I2C接口,本例使用NanoPi NEO,如下面这样: | |
− | + | ||
::{| class="wikitable" | ::{| class="wikitable" | ||
|- | |- | ||
− | |[[File:OLED-1.jpg |frameless|300px]] || [[File:OLED-2.jpg |frameless|300px]] | + | |[[File:Breakout - 0.96'128x64 OLED-1.jpg |frameless|300px]] || [[File:Breakout - 0.96'128x64 OLED-2.jpg |frameless|300px]] |
|- | |- | ||
|} | |} | ||
Line 134: | Line 136: | ||
效果如下图所示:<br /> | 效果如下图所示:<br /> | ||
− | [[File:OLED-SystemInfo.jpg |frameless|500px]] | + | [[File:Breakout - 0.96'128x64 OLED-SystemInfo.jpg |frameless|500px]] |
− | + | ||
− | + | ||
− | + | ||
==相关资料== | ==相关资料== | ||
− | *[Schematic]([http:// | + | *[Schematic]([http://4.pdf Breakout - 0.96'128x64 OLED.pdf]) |
− | *[Datasheet]([http://wiki.friendlyarm.com/wiki/images/a/af/096-30-SPEC_QG-2864KLBEG01_VER_C.pdf | + | *[Datasheet]([http://wiki.friendlyarm.com/wiki/images/a/af/096-30-SPEC_QG-2864KLBEG01_VER_C.pdf Breakout - 0.96'128x64 OLED Datasheet.pdf]) |
*[BakeBit Github项目](https://github.com/friendlyarm/BakeBit) | *[BakeBit Github项目](https://github.com/friendlyarm/BakeBit) | ||
*[BakeBit Starter Kit手册](http://wiki.friendlyarm.com/bakebit/bakebit_starter_kit_manual_cn.pdf) | *[BakeBit Starter Kit手册](http://wiki.friendlyarm.com/bakebit/bakebit_starter_kit_manual_cn.pdf) |
Latest revision as of 06:12, 13 December 2017
1 介绍
- Breakout - 0.96'128x64 OLED是一个0.96寸OLED模块,使用了一片128x64分辨率的单色OLED屏幕,OLED具有亮度高、对比度高、自发光、视角宽、功耗低等特点。模块使用了4Pin I2C接口,连接使用方便快捷。
- 通过配置模块上的地址设置电阻,可设置模块I2C从地址为0X3C或0X3D,这样同一个I2C总线上可同时连接两个OLED模块。
2 特性
- I2C接口:2.54mm 4Pin 排针
- 128x64分辨率
- 颜色:白色
- 模块I2C地址可配置。
- PCB尺寸(mm):27.3x27.3
- 引脚说明:
名称 | 描述 |
GND | 地 |
5V | 电源5V |
SCL | I2C-SCL |
SDA | I2C-SDA |
3 示例程序(1):Display System Info
Breakout - 0.96'128x64 OLED兼容使用BakeBit - OLED 128x64的软件代码。
这个例子我们使用显示屏来显示系统信息,例如IP地址,存储空间和内存信息,CPU当前频率等。
3.1 硬件连接
简单的是用2.54mm间距杜邦线将Breakout - 0.96'128x64 OLED模块接入开发板I2C接口,本例使用NanoPi NEO,如下面这样:
3.2 示例源代码
import time import bakebit import os import psutil from math import log import multiprocessing import platform import socket import bakebit_128_64_oled as oled oled.init() #initialze SEEED OLED display oled.clearDisplay() #clear the screen and set start position to top left corner oled.setNormalDisplay() #Set display to normal mode (i.e non-inverse mode) oled.setPageMode() #Set addressing mode to Page Mode byteunits = ('B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB') def filesizeformat(value): exponent = int(log(value, 1024)) return "%.1f %s" % (float(value) / pow(1024, exponent), byteunits[exponent]) memUsage = psutil.phymem_usage() diskUsage = psutil.disk_usage('/') oled.setTextXY(0,0) oled.putString("%s" % socket.gethostbyname(socket.gethostname())) oled.setTextXY(0,1) oled.putString("Mem:%s" % filesizeformat(memUsage.total)) oled.setTextXY(0,2) oled.putString("Usage:%d%%" % memUsage.percent) oled.setTextXY(0,3) oled.putString("Disk:%s" % filesizeformat(diskUsage.total)) oled.setTextXY(0,4) oled.putString("Usage:%d%%" % diskUsage.percent) oled.setTextXY(0,5) oled.putString("CPU:%s" % platform.processor()) oled.setTextXY(0,6) oled.putString("Cores:%d" % multiprocessing.cpu_count()) with open("/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq") as f: freq = int(f.readlines()[0])/1000 freqStr = "%d MHz" % freq if freq > 1000: freqStr = "%.1f GHz" % (float(freq)/1000.0) oled.setTextXY(0,7) oled.putString("Freq:%s" % freqStr) oled.setTextXY(0,2) oled.putString("Usage:%d%%" % memUsage.percent) oled.setTextXY(0,3) oled.putString("Disk:%s" % filesizeformat(diskUsage.total)) oled.setTextXY(0,4) oled.putString("Usage:%d%%" % diskUsage.percent) oled.setTextXY(0,5) oled.putString("CPU:%s" % platform.processor()) oled.setTextXY(0,6) oled.putString("Cores:%d" % multiprocessing.cpu_count()) with open("/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq") as f: freq = int(f.readlines()[0])/1000 freqStr = "%d MHz" % freq if freq > 1000: freqStr = "%.1f GHz" % (float(freq)/1000.0) oled.setTextXY(0,7) oled.putString("Freq:%s" % freqStr)
3.3 运行示例
假设你已经参考bakebit教程安装了BakeBit源代码,
要运行示例程序,可以在开发板上进入 BakeBit/Software/Python目录,运行bakebit_prj_SystemInfo.py:
cd ~/BakeBit/Software/Python sudo python bakebit_prj_SystemInfo.py
3.4 运行结果
效果如下图所示:
500px
4 相关资料
- [Schematic](Breakout - 0.96'128x64 OLED.pdf)
- [Datasheet](Breakout - 0.96'128x64 OLED Datasheet.pdf)
- [BakeBit Github项目](https://github.com/friendlyarm/BakeBit)
- [BakeBit Starter Kit手册](http://wiki.friendlyarm.com/bakebit/bakebit_starter_kit_manual_cn.pdf)