Difference between revisions of "Matrix - 2'8 SPI Key TFT"
(→Compile & Run Test Program) |
(→Compile & Run Test Program) |
||
Line 199: | Line 199: | ||
When you first start the system you will be prompted to click on five points to do calibration.<br> | When you first start the system you will be prompted to click on five points to do calibration.<br> | ||
[[File:tslib.png|frameless|1000px|tft-tslib]]<br> | [[File:tslib.png|frameless|1000px|tft-tslib]]<br> | ||
− | + | Note: in the mainline Linux-4.x kernel Pin12 of Matrix-2'8_SPI_Key_TFT-1706 is by default set as touch device's enable/disable pin.<br> | |
− | + | After you enable the Matrix-2'8_SPI_Key_TFT with npi-config your system will set it as your default display device. If you want to make Qt-demo auto-start on system boot you can follow the steps below:<br> | |
[[File:tft-qt-demo-1.png|frameless|1000px|tft-qt-demo-1]]<br> | [[File:tft-qt-demo-1.png|frameless|1000px|tft-qt-demo-1]]<br> | ||
− | + | Enter Autologin:<br> | |
[[File:tft-qt-demo-2.png|frameless|1000px|tft-qt-demo-2]]<br> | [[File:tft-qt-demo-2.png|frameless|1000px|tft-qt-demo-2]]<br> | ||
− | + | Enter 去Qt/Embedded:<br> | |
[[File:tft-qt-demo-3.png|frameless|1000px|tft-qt-demo-3]]<br> | [[File:tft-qt-demo-3.png|frameless|1000px|tft-qt-demo-3]]<br> | ||
− | + | Enable Qt/E Demo:<br> | |
[[File:tft-qt-demo-4.png|frameless|1000px|tft-qt-demo-4]]<br> | [[File:tft-qt-demo-4.png|frameless|1000px|tft-qt-demo-4]]<br> | ||
− | + | Return to the main menu and do <Finish>.Reboot your system and your Qt/E demo will be started automatically:<br> | |
[[File:qt-demo-status.png|frameless|600px|qt-demo-status]]<br> | [[File:qt-demo-status.png|frameless|600px|qt-demo-status]]<br> | ||
Revision as of 08:06, 5 July 2017
Contents
1 Introduction
- The Matrix-2.8_SPI_Key_TFT LCD is a FriendlyARM developed LCD module with resistive touch panel. Its resolution is 240 x 320. It uses the ST7789S IC and XPT2046 resistive touch IC. It has SPI interface and three configurable user keys.
- Specification
LCD Dimension | 2.8" |
Display Area | 57.6mm*43.2mm |
Driver IC | ST7789S |
Resolution | 240 * 320(RGB) |
MCU Interface | SPI |
Power Supply | 5V |
Backlight Voltage | 5V |
Touch | Resistive Touch, tempered glass touch panel |
By default the module's backlight is turned on after the module is powered on. LED_EN can be set to turn off the backlight. If you don’t want the backlight to be turned on after the module is powered on you can take off R12 and in this case you can turn on the backlight by pulling up LED_EN.
2 Features
- PCB dimension(mm):
- Pin Description:
FriendlyElec has released two versions. Here are the spec:
Matrix-2'8_SPI_Key_TFT-1512 | |||
Pin# | Description | Pin# | Description |
1 | VDD_3.3V | 2 | VDD_5V |
3 | NC | 4 | VDD_5V |
5 | NC | 6 | GND |
7 | LCD_RESET | 8 | NC |
9 | GND | 10 | NC |
11 | LED_EN | 12 | NC |
13 | KEY_1 | 14 | GND |
15 | KEY_2 | 16 | KEY_3 |
17 | VDD_3.3V | 18 | T_IRQ |
19 | SPI_MOSI | 20 | GND |
21 | SPI_MISO | 22 | LCD_D/C |
23 | SPI_CLK | 24 | LCD_CS |
25 | GND | 26 | T_CS |
Matrix-2'8_SPI_Key_TFT-1706 | |||
Pin# | Description | Pin# | Description |
1 | VDD_3.3V | 2 | VDD_5V |
3 | NC | 4 | VDD_5V |
5 | NC | 6 | GND |
7 | LCD_RESET | 8 | NC |
9 | GND | 10 | NC |
11 | LED_EN | 12 | T_CS |
13 | KEY_1 | 14 | GND |
15 | KEY_2 | 16 | KEY_3 |
17 | VDD_3.3V | 18 | T_IRQ |
19 | SPI_MOSI | 20 | GND |
21 | SPI_MISO | 22 | LCD_D/C |
23 | SPI_CLK | 24 | LCD_CS |
25 | GND | 26 | NC |
The Matrix-2'8_SPI_Key_TFT-1706 exposes T_CS from Pin26 to Pin12. And NEO/NEO2/NEO-Plus2 all of which have a 24Pin connector will be able to work with its touch.
3 Applicable Boards & OS
Index | SoC Model | Board Model | OS |
1 | H3 | NanoPi NEO/NEO Air/M1/M1 Plus | Allwinner's released Linux-3.4 kernel and Mainline Linux-4.x kernel |
2 | H5 | NanoPi NEO2/NEO Plus2 | Mainline Linux-4.x kernel |
3 | S5P4418 | NanoPi2/NanoPi M2/NanoPi2 Fire | Samsung's released Linux-3.4 kernel |
4 Applications
4.1 H3 Based Boards
Connect to NanoPi M1:
Refer to the following hardware setup to connect the module to the NanoPi M1:
Connect to NanoPi M1 Plus:
Refer to the following hardware setup to connect the module to the NanoPi M1 Plus:
Connect to NanoPi NEO:
Refer to the following hardware setup to connect the module to the NanoPi NEO:
Connect to NanoPi NEO Air:
Refer to the following hardware setup to connect the module to the NanoPi NEO Air:
4.2 H5 Based Boards
Connect to NanoPi NEOPlus2:
Matrix-2'8_SPI_Key_TFT_nanopi_neo_plus2
4.3 S5P4418 Based Boards
Connect to NanoPi 2:
Refer to the following hardware setup to connect the module to the NanoPi 2:
Connect to NanoPi M2 / NanoPi 2 Fire:
Refer to the following hardware setup to connect the module to the NanoPi M2 / NanoPi 2 Fire:
Matrix-2'8_SPI_Key_TFT_nanopi_m2
5 Compile & Run Test Program
5.1 Under H3/H5 & Mainline Linux-4.x Kernel
If you use a FriendlyElec's H3/H5 board under Mainline Linux-4.x kernel you need to enable the 2.8"TFT with npi-config.Start npi-config as root:
$ npi-config
Open the following menu:
Open SPI:
Enable/Disable SPI0:
Enable SPI0 and then select Matrix-2.8"_SPI_Key_TFT:
Return to the main menu and do <Finish>. Reboot your system and run the following command to check whether or not the Matrix-2.8"_SPI_Key_TFT is enabled:
$ ls /dev/fb-st7789s /dev/fb-st7789s
/dev/fb-st7789s stands for a framebuffer device
$ ls /dev/input/ts-ads7846 /dev/input/ts-ads7846
/dev/input/ts-ads7846 stands for a touch device
When you first start the system you will be prompted to click on five points to do calibration.
Note: in the mainline Linux-4.x kernel Pin12 of Matrix-2'8_SPI_Key_TFT-1706 is by default set as touch device's enable/disable pin.
After you enable the Matrix-2'8_SPI_Key_TFT with npi-config your system will set it as your default display device. If you want to make Qt-demo auto-start on system boot you can follow the steps below:
Enter Autologin:
Enter 去Qt/Embedded:
Enable Qt/E Demo:
Return to the main menu and do <Finish>.Reboot your system and your Qt/E demo will be started automatically:
5.2 H3配合Linux-3.4内核 / S5P4418配合Linux-3.4内核
5.2.1 在Ubuntu-Core上运行Qt程序
由于Ubuntu-Core系统带有Qt环境,我们可以在该系统上运行一个简单且带图形界面的Qt程序。
启动开发板并运行Ubuntu-Core系统,进入系统后克隆Matrix代码仓库:
$ apt-get update && apt-get install git $ git clone https://github.com/friendlyarm/matrix.git
克隆完成后会得到一个名为matrix的目录。
编译并运行Qt测试程序:
cd matrix/demo/nanopi-status ./build.sh ./run.sh /dev/fb-st7789s
nanopi-status是一个简单的Qt程序,可用于显示系统的基本信息,效果如下:
脚本run.sh会先加载tft屏的驱动模块然后运行Qt程序,驱动模块加载成功后会生成设备节点/dev/fb-st7789s,下列命令可以确定驱动模块是否成功加载:
lsmod Module Size Used by fbtft_device 29235 0
在确定tft驱动模块已加载的前提下,运行下列命令可以显示三原色:
cd matrix/demo/matrix-lcdtest make export LCDSET_FB_DEV=/dev/fb-st7789s ./matrix-lcdtest
三原色可以呈现出屏幕的最佳显示效果。
5.2.2 在2.8寸屏上显示Debian桌面
对于支持Debian系统的开发板,用户可以通过下列操作将Debian的桌面显示在2.8寸屏上。
启动开发板并运行Debian系统,进入系统后克隆Matrix代码仓库:
$ apt-get update && apt-get install git $ git clone https://github.com/friendlyarm/matrix.git
克隆完成后会得到一个名为matrix的目录。
对于H3系列的开发板,需要先修改X11的配置文件:
$ vi /etc/X11/xorg.conf
将字样“/dev/fb0”修改为“/dev/fb-st7789s”。
执行下列命令在2.8寸屏上启动Debian桌面:
$ cd matrix/demo/nanopi-status/ $ ./display-debian.sh /dev/fb-st7789s
用触摸笔在屏幕上点击4个点完成校准并进入Debian桌面,效果如下:
完成触摸校准后终端会有类似如下的打印信息:
Section "InputClass" Identifier "calibration" MatchProduct "ADS7846 Touchscreen" Option "Calibration" "196 3825 3887 358" Option "SwapAxes" "0" EndSection
将上述内容手动保存在/usr/share/X11/xorg.conf.d/99-calibration.conf中,以后就再也无需进行校准了。
6 Resources
7 Update Log
7.1 Feb-24-2016
- Added the driver's source code location in Section 5.2
7.2 June-17-2016
- Re-organized and simplified wiki
7.3 March-5-2017
- Added sections 3.2, 3.3, 3.4 and 4.1