Difference between revisions of "NanoHat OLED/zh"

From FriendlyELEC WiKi
Jump to: navigation, search
(Created page with "English ==介绍== 0.96inch 128x64 OLED 这是一款精致小巧的单色OLED显示屏,只有0.96英寸,分辨率是128x64,可...")
 
(updated by API)
 
(40 intermediate revisions by 3 users not shown)
Line 2: Line 2:
  
 
==介绍==
 
==介绍==
[[File:Oled.png|thumb|0.96inch 128x64 OLED]]
+
[[File:DSC_9844-.jpg|thumb|0.96inch 128x64 OLED]]
这是一款精致小巧的单色OLED显示屏,只有0.96英寸,分辨率是128x64,可以用来显示文字或图案。因为OLED是自发光的,所以无需背光,对比度高,功耗低。此配件5V供电,PCB上的电源转换芯片输出3.3V给OLED,通讯接口是SPI或I2C,信号电平为3.3V。默认通讯方式是SPI,如果需要改为I2C,您可以通过修改PCB上的配置电阻实现。
+
[[File:NanoHat Oled1.png|thumb|0.96inch 128x64 OLED]]
 +
[[File:NanoHat Oled2.png|thumb|0.96inch 128x64 OLED]]
 +
*NanoHat OLED是一款精致小巧的单色OLED显示屏,只有0.96英寸,分辨率是128x64,对比度高,功耗低,可以用来显示文字或图案。通过I2C和NanoPi NEO通讯。
 +
*NanoHat OLED和NanoPi NEO的外形尺寸和接口完全相同,可直接堆叠在NanoPi NEO上使用。
 +
*板载了3个按键,用户可以自定义按键功能。
 +
*板载了3.5mm音频接口插座和USB Type A接口。
  
 
==特性==
 
==特性==
* 精致小巧
+
* 屏幕尺寸:0.96英寸
 +
* 分辨率:128x64
 
* 高对比度,低功耗
 
* 高对比度,低功耗
* SPI/I2C
+
* 板载3个按键
* 2.54mm排针接口,接线方便,通用性强
+
* PCB尺寸(mm):40x40
* PCB尺寸(mm):27x32
+
[[File:NanoHat OLED.png|frameless|400px|NanoHat OLEDPCB]]
[[File:oledpcb.png|frameless|400px|OLEDPCB]]
+
  
* 引脚说明:
+
* '''GPIO管脚定义'''
{| class="wikitable"
+
::{| class="wikitable"
 
|-
 
|-
|名称 || 描述
+
|Pin# || Name || Linux gpio ||Pin#  || Name || Linux gpio     
 
|-
 
|-
|CS   || 片选
+
|1   || SYS_3.3V  ||    ||2    || VDD_5V ||
 
|-
 
|-
|DC   || 数据命令选择
+
|3   || I2C0_SDA  ||    ||4    || VDD_5V ||
 
|-  
 
|-  
|RES   || 复位
+
|5    || I2C0_SCL   ||     ||6    || GND    ||
 
|-
 
|-
|MOSI || SPI MOSI
+
|7    || NC    || ||8    || NC ||
 
|-
 
|-
|CLK  || SPI Clock
+
|9    || GND        ||    ||10    || NC ||  
 
|-
 
|-
|5V   || 电源5V
+
|11  || K1  || 0      ||12   || NC ||
 
|-
 
|-
|GND  ||
+
|13  || K2 || 2      ||14    || GND ||
 +
|-
 +
|15   || K3 || 3      ||16    || NC ||
 +
|-
 +
|17  || SYS_3.3V    ||        ||18    || NC ||
 +
|-
 +
|19  || NC ||      ||20    || GND              ||
 +
|-
 +
|21  || NC ||      ||22    || NC ||
 +
|-
 +
|23  || NC ||      ||24    || NC ||
 
|}
 
|}
 +
12Pin排针未使用,引脚功能定义在此不列举,请在NanoPi NEO/Air/NEO2维基页面查阅。
  
==工作原理==
+
==支持该配件的开发板型号和软件版本==
 
+
==硬件连接==
+
===连接NanoPi M1===
+
参考下图连接模块:<br>
+
[[File:Matrix-0.96'_128x64_OLED_nanopi_m1.jpg|frameless|600px|Matrix-0.96'_128x64_OLED_nanopi_m1]]
+
 
+
连接说明:
+
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
|Matrix-0.96'_128x64_OLED || NanoPi M1
+
|序号 ||CPU型号|| 开发板型号 || 软件版本
 
|-
 
|-
|CS   || Pin24
+
|1   ||H3||NanoPi NEO/NEO Air/NEO Core/|| 全志原厂Linux-3.4内核和开源社区Linux-4.x主线内核
 
|-
 
|-
|DC   || Pin7
+
|2   ||H5||NanoPi NEO2/NEO Plus2/NEO Core2 || 开源社区Linux-4.x主线内核
|-
+
|RES  || Pin11
+
|-
+
|MOSI  || Pin19
+
|-
+
|CLK  || Pin23
+
|-
+
|5V    || Pin2
+
 
|-
 
|-
|GND  || Pin6
 
 
|}
 
|}
  
===连接NanoPi 2===
+
==硬件连接==
 +
NanoHat OLED模块和NanoPi NEO/NEO Air/NEO Core/NEO2/NEO Plus2/NEO Core2尺寸和接口完全相同,可直接堆叠使用。
 
参考下图连接模块:<br>
 
参考下图连接模块:<br>
[[File:Matrix-0.96'_128x64_OLED_nanopi_2.jpg|frameless|600px|Matrix-0.96'_128x64_OLED_nanopi_2]]
+
[[File:NanoHat OLED_nanopi_NEO.jpg|frameless|500px|NanoHat OLED_nanopi_NEO]]
  
连接说明:
+
==使用默认使能NanoHat-OLED的ROM==
{| class="wikitable"
+
::{| class="wikitable"
 
|-
 
|-
|Matrix-0.96'_128x64_OLED || NanoPi 2   
+
|Board Type||CPU Model||Download Link to Image File||Image File
 
|-
 
|-
|CS    || Pin24
+
|NanoPi NEO|| H3 || [http://download.friendlyelec.com/nanopineo Download]|| official-ROMs/nanopi-neo_ubuntu-oled_4.x.y_YYYYMMDD.img.zip
 
|-
 
|-
|DC    || Pin7
+
|NanoPi NEO Air|| H3 ||[http://download.friendlyelec.com/nanopineoair Download] || official-ROMs/nanopi-neo-air_ubuntu-oled_4.x.y_YYYYMMDD.img.zip
|-  
+
|-
|RES  || Pin11
+
|NanoPi NEO Core|| H3 ||[http://download.friendlyelec.com/nanopineocore Download] || official-ROMs/nanopi-neo-core_ubuntu-oled_4.x.y_YYYYMMDD.img.zip
 
|-
 
|-
|MOSI  || Pin19
+
|NanoPi NEO2|| H5 ||[http://download.friendlyelec.com/nanopineo2 Download] || official-ROMs/nanopi-neo2_ubuntu-oled_4.x.y_YYYYMMDD.img.zip
 
|-
 
|-
|CLK  || Pin23
+
|NanoPi NEO Plus2|| H5 ||[http://download.friendlyelec.com/nanopineoplus2 Download] || official-ROMs/nanopi-neo-plus2_ubuntu-oled_4.x.y_YYYYMMDD.img.zip
 
|-
 
|-
|5V    || Pin2
+
|NanoPi NEO Core2|| H5 ||[http://download.friendlyelec.com/nanopineocore2 Download] || official-ROMs/nanopi-neo-core2_ubuntu-oled_4.x.y_YYYYMMDD.img.zip
 
|-
 
|-
|GND  || Pin6
 
 
|}
 
|}
  
==编译运行测试程序==
+
==手动使能NanoHat-OLED==
启动开发板并运行Debian系统,进入系统后克隆Matrix代码仓库:
+
NanoHat OLED的演示程序包含在 NanoHatOLED 软件仓库里,启动系统,执行以下命令进行安装:<br />
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
$ apt-get update && apt-get install git
+
git clone https://github.com/friendlyarm/NanoHatOLED.git
$ git clone https://github.com/friendlyarm/matrix.git
+
cd NanoHatOLED
 +
sudo -H ./install.sh
 
</syntaxhighlight>
 
</syntaxhighlight>
克隆完成后会得到一个名为matrix的目录。
+
<br />
 
+
安装脚本会在线下载并安装一系列的软件包,安装时间视网络环境而定,国内大陆的用户为了获得更快的安装速度,可以在安装之前先将软件包的源设置为国内源,执行以下命令,使用我们提供的脚本进行设置:<br />
编译并安装Matrix:
+
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
$ cd matrix
+
wget http://112.124.9.243/aptsouce.sh
$ make && make install
+
chmod 755 aptsouce.sh
 +
sudo -H ./aptsouce.sh
 +
sudo apt-get update
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
操作完成后,再执行NanoHatOLED的 ./install.sh 安装脚本安装即可。
 +
<br />
  
运行测试程序:
+
==演示程序的操作说明==
<syntaxhighlight lang="bash">
+
 
$ matrix-oled
+
演示程序在安装后会在开机时自动运行,并默认显示 日期与时间 画面。<br />
</syntaxhighlight>
+
NanoHat OLED配件上的三个按键功能如下:<br />
运行效果如下:<br>
+
K1 -> 显示日期时间; <br />
[[File:matrix-oled_result.png|frameless|600px|matrix-oled_result]] <br>
+
K2 -> 显示开发板的运行状态,例如 IP地址, 负载, 存储状态,CPU温度等信息; <br />
OLED上会显示下列2行字符:<br>
+
K3 -> 关机操作,并不会立即关机,而是先弹出询问画面,在询问画面的状态下,用 K1 切换 Yes和No选项,K2进行确认; <br />
"ABCDEFGHIJKLMN"    <br>
+
<br />
"123456789"
+
  
==代码说明==
 
所有的开发板都共用一套Matrix代码,本模块的测试示例代码为matrix-0.96_128x64_oled,内容如下:
 
<syntaxhighlight lang="c">
 
int main(int argc, char *argv[])
 
{
 
    int devFD;
 
   
 
    if (boardInit() < 0) {
 
        printf("Fail to init board\n");
 
        return -1;
 
    }
 
   
 
    if ((devFD = OLEDInit(GPIO_PIN(7), GPIO_PIN(11))) == -1) {
 
        printf("Fail to init OLED\n");
 
        return -1;
 
    }
 
    OLEDCleanScreen(devFD);
 
    // Char bitmap: 8x16
 
    OLEDDisp8x16Str(devFD, 0, 0, "ABCDEFGHIJKLMN");
 
    OLEDDisp8x16Str(devFD, 0, 16, "123456789");
 
    OLEDDeInit(devFD);
 
   
 
    return 0;
 
}
 
</syntaxhighlight>
 
API说明参考维基:[[Matrix API reference manual/zh|Matrix API reference manual]] <br>
 
 
==相关资料==
 
==相关资料==
 +
 +
*[Schematic]([http://wiki.friendlyelec.com/wiki/images/4/4c/Schematic_NanoHat_OLED_v1.4_1804.pdf Schematic NanoHat OLED V1.4 1806.pdf])
 +
*[Schematic]([http://wiki.friendlyelec.com/wiki/images/c/c3/SCHEMATIC_NanoHat_OLED-1703_v1.0.pdf Schematic NanoHat OLED V1.0.pdf])
 +
*[Datasheet]([http://wiki.friendlyelec.com/wiki/images/a/af/096-30-SPEC_QG-2864KLBEG01_VER_C.pdf NanoHat OLED Datasheet.pdf])

Latest revision as of 07:17, 21 February 2022

English

1 介绍

0.96inch 128x64 OLED
0.96inch 128x64 OLED
0.96inch 128x64 OLED
  • NanoHat OLED是一款精致小巧的单色OLED显示屏,只有0.96英寸,分辨率是128x64,对比度高,功耗低,可以用来显示文字或图案。通过I2C和NanoPi NEO通讯。
  • NanoHat OLED和NanoPi NEO的外形尺寸和接口完全相同,可直接堆叠在NanoPi NEO上使用。
  • 板载了3个按键,用户可以自定义按键功能。
  • 板载了3.5mm音频接口插座和USB Type A接口。

2 特性

  • 屏幕尺寸:0.96英寸
  • 分辨率:128x64
  • 高对比度,低功耗
  • 板载3个按键
  • PCB尺寸(mm):40x40

NanoHat OLEDPCB

  • GPIO管脚定义
Pin# Name Linux gpio Pin# Name Linux gpio
1 SYS_3.3V 2 VDD_5V
3 I2C0_SDA 4 VDD_5V
5 I2C0_SCL 6 GND
7 NC 8 NC
9 GND 10 NC
11 K1 0 12 NC
13 K2 2 14 GND
15 K3 3 16 NC
17 SYS_3.3V 18 NC
19 NC 20 GND
21 NC 22 NC
23 NC 24 NC

12Pin排针未使用,引脚功能定义在此不列举,请在NanoPi NEO/Air/NEO2维基页面查阅。

3 支持该配件的开发板型号和软件版本

序号 CPU型号 开发板型号 软件版本
1 H3 NanoPi NEO/NEO Air/NEO Core/ 全志原厂Linux-3.4内核和开源社区Linux-4.x主线内核
2 H5 NanoPi NEO2/NEO Plus2/NEO Core2 开源社区Linux-4.x主线内核

4 硬件连接

NanoHat OLED模块和NanoPi NEO/NEO Air/NEO Core/NEO2/NEO Plus2/NEO Core2尺寸和接口完全相同,可直接堆叠使用。 参考下图连接模块:
NanoHat OLED_nanopi_NEO

5 使用默认使能NanoHat-OLED的ROM

Board Type CPU Model Download Link to Image File Image File
NanoPi NEO H3 Download official-ROMs/nanopi-neo_ubuntu-oled_4.x.y_YYYYMMDD.img.zip
NanoPi NEO Air H3 Download official-ROMs/nanopi-neo-air_ubuntu-oled_4.x.y_YYYYMMDD.img.zip
NanoPi NEO Core H3 Download official-ROMs/nanopi-neo-core_ubuntu-oled_4.x.y_YYYYMMDD.img.zip
NanoPi NEO2 H5 Download official-ROMs/nanopi-neo2_ubuntu-oled_4.x.y_YYYYMMDD.img.zip
NanoPi NEO Plus2 H5 Download official-ROMs/nanopi-neo-plus2_ubuntu-oled_4.x.y_YYYYMMDD.img.zip
NanoPi NEO Core2 H5 Download official-ROMs/nanopi-neo-core2_ubuntu-oled_4.x.y_YYYYMMDD.img.zip

6 手动使能NanoHat-OLED

NanoHat OLED的演示程序包含在 NanoHatOLED 软件仓库里,启动系统,执行以下命令进行安装:

git clone https://github.com/friendlyarm/NanoHatOLED.git
cd NanoHatOLED
sudo -H ./install.sh


安装脚本会在线下载并安装一系列的软件包,安装时间视网络环境而定,国内大陆的用户为了获得更快的安装速度,可以在安装之前先将软件包的源设置为国内源,执行以下命令,使用我们提供的脚本进行设置:

wget http://112.124.9.243/aptsouce.sh
chmod 755 aptsouce.sh
sudo -H ./aptsouce.sh
sudo apt-get update

操作完成后,再执行NanoHatOLED的 ./install.sh 安装脚本安装即可。

7 演示程序的操作说明

演示程序在安装后会在开机时自动运行,并默认显示 日期与时间 画面。
NanoHat OLED配件上的三个按键功能如下:
K1 -> 显示日期时间;
K2 -> 显示开发板的运行状态,例如 IP地址, 负载, 存储状态,CPU温度等信息;
K3 -> 关机操作,并不会立即关机,而是先弹出询问画面,在询问画面的状态下,用 K1 切换 Yes和No选项,K2进行确认;

8 相关资料