Difference between revisions of "Matrix - Compact Kit"

From FriendlyELEC WiKi
Jump to: navigation, search
Line 5: Line 5:
 
*The Matrix-Compact Kit is a compact board with various hardware resources, interfaces and ports. It includes user keys, LED, buzzer, ADC, compass, temperature sensor, IR receiver, TFT port and etc. This board can be connected to the NanoPi, NanoPi 2 and Raspberry Pi via its 40 pin header. In addition you can connect other external modules to its GPIOs.
 
*The Matrix-Compact Kit is a compact board with various hardware resources, interfaces and ports. It includes user keys, LED, buzzer, ADC, compass, temperature sensor, IR receiver, TFT port and etc. This board can be connected to the NanoPi, NanoPi 2 and Raspberry Pi via its 40 pin header. In addition you can connect other external modules to its GPIOs.
  
 +
==特性==
 +
* PCB尺寸(mm):
 +
[[File:Matrix-Compact_Kit_PCB.png|frameless|400px|]]
 +
[[File:Matrix-Compact_Kit.png |thumb|300px|Matrix-Compact_Kit接口布局]]
 +
* '''40pin排母GPIO管脚定义'''
 +
::{| class="wikitable"
 +
|-
 +
|Pin# || Name          ||Pin#  || Name   
 +
|-
 +
|1    || VDD_SYS_3.3V  ||2    || VDD_5V
 +
|-
 +
|3    || I2C0_SDA      ||4    || VDD_5V
 +
|-
 +
|5    || I2C0_SCL      ||6    || DGND
 +
|-
 +
|7    || GPIOB28      ||8    || UART3_TXD
 +
|-
 +
|9    || DGND          ||10    || UART3_RXD   
 +
|-
 +
|11  || GPIOB29      ||12    || GPIOB26
 +
|-
 +
|13  || GPIOB30      ||14    || DGND
 +
|-
 +
|15  || GPIOB31      ||16    || PWM2
 +
|-
 +
|17  || VDD_SYS_3.3V ||18    || GPIOB27
 +
|-
 +
|19  || SPI0_MOSI    ||20    || DGND
 +
|-
 +
|21  || SPI0_MISO    ||22    || PWM0
 +
|-
 +
|23  || SPI0_CLK      ||24    || SPI0_CS
 +
|-
 +
|25  || DGND          ||26    || PWM1
 +
|-
 +
|27  || I2C1_SDA      ||28    || I2C1_SCL
 +
|-
 +
|29  || GPIOC8        ||30    || DGND
 +
|-
 +
|31  || SPI2_CLK      ||32    || GPIOC28
 +
|-
 +
|33  || SPI2_CS      ||34    || DGND
 +
|-
 +
|35  || SPI2_MOSI    ||36    || GPIOC7
 +
|-
 +
|37  || SPI2_MISO    ||38    || ALIVEGPIO2
 +
|-
 +
|39  || DGND          ||40    || ALIVEGPIO3
 +
|}
 +
 +
[[File:Matrix-Compact_Kit3*10.png |thumb|300px|Matrix-Compact_Kit接口布局]]
 +
* '''30pin排针管脚定义'''
 +
::{| class="wikitable"
 +
|-
 +
|Pin# || Name          ||Pin#  || Name          ||Pin#  || Name     
 +
|-
 +
|1    || GND ||2    || VDD_5V ||3    ||A1_PCF
 +
|-
 +
|4    || GND ||5    || VDD_5V ||6    ||A2_PCF
 +
|-
 +
|7    || GND ||8    || VDD_5V ||9    ||A3_PCF
 +
|-
 +
|10    || GND ||11    || VDD_5V ||12    ||D1_Pi11
 +
|-
 +
|13    || GND ||14    || VDD_5V ||15    ||D2_Pi26
 +
|-
 +
|16    || GND ||17    || VDD_5V ||18    ||D3_Pi16
 +
|-
 +
|19    || GND ||20    || VDD_5V ||21    ||D4_Pi19
 +
|-
 +
|22    || GND ||23    || VDD_5V ||24    ||D5_Pi21
 +
|-
 +
|25    || GND ||26    || VDD_5V ||27    ||D6_Pi23
 +
|-
 +
|28    || GND ||29    || VDD_5V ||30    ||D7_Pi24
 +
|-
 +
|}
 +
 +
[[File:18B20 and IRR.png |thumb|300px|18B20和红外接收接口布局]]
 +
* '''18B20和红外接收管脚定义'''
 +
::{| class="wikitable"
 +
|-
 +
|模块        ||Pin#  || Name        ||Pin#  || Name          ||Pin#  || Name     
 +
|-
 +
|18B20      ||1    || VDD_5V      ||2    || DATA          ||3    || GND
 +
|-
 +
|红外接收管  ||1    || DATA        ||2    || GND          ||3    || VDD_5V
 +
|-
 +
|}
 +
 +
==硬件连接==
 +
===连接NanoPi 2===
 +
参考下图连接模块:<br>
 +
[[File:Matrix-Compact_Kit_nanopi2.jpg|frameless|600px|Matrix-Compact_Kit_nanopi2]]
 +
 +
==编译运行测试程序==
 +
启动开发板并运行Debian系统,进入系统后克隆Matrix代码仓库:
 +
<syntaxhighlight lang="bash">
 +
$ apt-get update && apt-get install git
 +
$ git clone https://github.com/friendlyarm/matrix.git
 +
</syntaxhighlight>
 +
克隆完成后会得到一个名为matrix的目录。
 +
 +
编译并安装Matrix:
 +
<syntaxhighlight lang="bash">
 +
$ cd matrix
 +
$ make && make install
 +
</syntaxhighlight>
 +
 +
运行测试程序:
 +
<syntaxhighlight lang="bash">
 +
$ matrix-compact_kit
 +
</syntaxhighlight>
 +
注意:此模块并不支持热插拔,启动系统前需要确保硬件连接正确。<br>
 +
运行效果如下:<br>
 +
<syntaxhighlight lang="bash">
 +
LED blinking 1
 +
LED blinking 2
 +
Button:  1 1 1
 +
ADC channel0: 550
 +
Compass angle: 328.5
 +
Pwm start
 +
Pwm stop
 +
</syntaxhighlight>
 +
 +
运行Qt程序,测试TFT屏:
 +
<syntaxhighlight lang="bash">
 +
cd matrix/demo/nanopi-status
 +
./build.sh
 +
./run.sh /dev/fb-st7735s
 +
</syntaxhighlight>
 +
程序会显示出系统的基本信息,效果如下:<br>
 +
[[File:st7735s-status.pnc|frameless|600px|st7735s-status]]
 +
 +
==代码说明==
 +
所有的开发板都共用一套Matrix代码,本模块的测试示例代码为matrix-compact_kit,内容如下:
 +
<syntaxhighlight lang="c">
 +
int main(int argc, char ** argv)
 +
{
 +
    int board;
 +
   
 +
    if ((board = boardInit()) < 0) {
 +
        printf("Fail to init board\n");
 +
        return -1;
 +
    }
 +
    testLED(board);
 +
    readButton();
 +
    readADC();
 +
    readCompass();
 +
    testPWM(board);
 +
    // readTemp();
 +
    // testIR();
 +
   
 +
    return 0;
 +
}
 +
</syntaxhighlight>
 +
API说明参考维基:[[Matrix API reference manual/zh|Matrix API reference manual]] <br>
 +
 +
==通过Python控制==
 +
使用的Python版本为2.7.9。<br>
 +
克隆Matrix配件Python相关的库之前,需要先确保你的板可正常上网,并且已经安装好git;接着执行以下步骤安装Python相关的库文件
 +
<syntaxhighlight lang="bash">
 +
$ apt-get install Python-dev libi2c-dev
 +
</syntaxhighlight>
 +
 +
在开发板Debian系统上克隆matrix-python仓库:
 +
<syntaxhighlight lang="bash">
 +
$ git clone https://github.com/friendlyarm/matrix-python.git
 +
</syntaxhighlight>
 +
克隆完成后会得到一个名为matrix-python的目录。
 +
 +
控制LED:
 +
<syntaxhighlight lang="bash">
 +
$ cd matrix-python/Matrix.GPIO
 +
$ python setup.py install
 +
$ python test/matrix_output.py 33
 +
</syntaxhighlight>
 +
可以看到红色LED闪烁了一下。
 +
 +
读按键KEY1:
 +
<syntaxhighlight lang="bash">
 +
$ cd matrix-python/Matrix.GPIO
 +
$ python setup.py install
 +
$ python test/matrix_input.py 36
 +
</syntaxhighlight>
 +
当KEY1按下时value=0,KEY1弹起时value=1。
 +
 +
测试AD转换:
 +
<syntaxhighlight lang="bash">
 +
$ cd matrix-python/modules
 +
$ modprobe pcf8591
 +
$ cd ../Matrix.pcf8591
 +
$ python setup.py install
 +
$ python test/matrix_adc.py
 +
</syntaxhighlight>
 +
通过旋转可调电阻可以改变AD转换值。
 +
 +
测试指南针:
 +
<syntaxhighlight lang="bash">
 +
$ cd matrix-python/Matrix.I2C
 +
$ python setup.py install
 +
$ python test/matrix_compass.py
 +
</syntaxhighlight>
 +
通过改变开发板的朝向可以获得不同的方向值。
 +
 +
<!---
 
==Features==
 
==Features==
 
Matrix - Compact Kit has the following onboard resources:<br>
 
Matrix - Compact Kit has the following onboard resources:<br>
Line 125: Line 331:
 
|}
 
|}
  
<!---
 
 
==Download Matrix Source Code==
 
==Download Matrix Source Code==
 
All the matrix modules' code samples are open source. They are maintained on GitHub: https://github.com/friendlyarm/matrix.git <br>
 
All the matrix modules' code samples are open source. They are maintained on GitHub: https://github.com/friendlyarm/matrix.git <br>

Revision as of 03:08, 19 June 2016

查看中文

1 Introduction

Matrix-Compact Kit.png
  • The Matrix-Compact Kit is a compact board with various hardware resources, interfaces and ports. It includes user keys, LED, buzzer, ADC, compass, temperature sensor, IR receiver, TFT port and etc. This board can be connected to the NanoPi, NanoPi 2 and Raspberry Pi via its 40 pin header. In addition you can connect other external modules to its GPIOs.

2 特性

  • PCB尺寸(mm):

Matrix-Compact Kit PCB.png

Matrix-Compact_Kit接口布局
  • 40pin排母GPIO管脚定义
Pin# Name Pin# Name
1 VDD_SYS_3.3V 2 VDD_5V
3 I2C0_SDA 4 VDD_5V
5 I2C0_SCL 6 DGND
7 GPIOB28 8 UART3_TXD
9 DGND 10 UART3_RXD
11 GPIOB29 12 GPIOB26
13 GPIOB30 14 DGND
15 GPIOB31 16 PWM2
17 VDD_SYS_3.3V 18 GPIOB27
19 SPI0_MOSI 20 DGND
21 SPI0_MISO 22 PWM0
23 SPI0_CLK 24 SPI0_CS
25 DGND 26 PWM1
27 I2C1_SDA 28 I2C1_SCL
29 GPIOC8 30 DGND
31 SPI2_CLK 32 GPIOC28
33 SPI2_CS 34 DGND
35 SPI2_MOSI 36 GPIOC7
37 SPI2_MISO 38 ALIVEGPIO2
39 DGND 40 ALIVEGPIO3
Matrix-Compact_Kit接口布局
  • 30pin排针管脚定义
Pin# Name Pin# Name Pin# Name
1 GND 2 VDD_5V 3 A1_PCF
4 GND 5 VDD_5V 6 A2_PCF
7 GND 8 VDD_5V 9 A3_PCF
10 GND 11 VDD_5V 12 D1_Pi11
13 GND 14 VDD_5V 15 D2_Pi26
16 GND 17 VDD_5V 18 D3_Pi16
19 GND 20 VDD_5V 21 D4_Pi19
22 GND 23 VDD_5V 24 D5_Pi21
25 GND 26 VDD_5V 27 D6_Pi23
28 GND 29 VDD_5V 30 D7_Pi24
18B20和红外接收接口布局
  • 18B20和红外接收管脚定义
模块 Pin# Name Pin# Name Pin# Name
18B20 1 VDD_5V 2 DATA 3 GND
红外接收管 1 DATA 2 GND 3 VDD_5V

3 硬件连接

3.1 连接NanoPi 2

参考下图连接模块:
Matrix-Compact_Kit_nanopi2

4 编译运行测试程序

启动开发板并运行Debian系统,进入系统后克隆Matrix代码仓库:

$ apt-get update && apt-get install git
$ git clone https://github.com/friendlyarm/matrix.git

克隆完成后会得到一个名为matrix的目录。

编译并安装Matrix:

$ cd matrix
$ make && make install

运行测试程序:

$ matrix-compact_kit

注意:此模块并不支持热插拔,启动系统前需要确保硬件连接正确。
运行效果如下:

LED blinking 1
LED blinking 2
Button:  1 1 1
ADC channel0: 550
Compass angle: 328.5
Pwm start
Pwm stop

运行Qt程序,测试TFT屏:

cd matrix/demo/nanopi-status
./build.sh
./run.sh /dev/fb-st7735s

程序会显示出系统的基本信息,效果如下:
st7735s-status

5 代码说明

所有的开发板都共用一套Matrix代码,本模块的测试示例代码为matrix-compact_kit,内容如下:

int main(int argc, char ** argv)
{
    int board;
 
    if ((board = boardInit()) < 0) {
        printf("Fail to init board\n");
        return -1;
    }
    testLED(board);
    readButton();
    readADC();
    readCompass();
    testPWM(board);
    // readTemp();
    // testIR();
 
    return 0;
}

API说明参考维基:Matrix API reference manual

6 通过Python控制

使用的Python版本为2.7.9。
克隆Matrix配件Python相关的库之前,需要先确保你的板可正常上网,并且已经安装好git;接着执行以下步骤安装Python相关的库文件

$ apt-get install Python-dev libi2c-dev

在开发板Debian系统上克隆matrix-python仓库:

$ git clone https://github.com/friendlyarm/matrix-python.git

克隆完成后会得到一个名为matrix-python的目录。

控制LED:

$ cd matrix-python/Matrix.GPIO
$ python setup.py install
$ python test/matrix_output.py 33

可以看到红色LED闪烁了一下。

读按键KEY1:

$ cd matrix-python/Matrix.GPIO
$ python setup.py install
$ python test/matrix_input.py 36

当KEY1按下时value=0,KEY1弹起时value=1。

测试AD转换:

$ cd matrix-python/modules
$ modprobe pcf8591
$ cd ../Matrix.pcf8591
$ python setup.py install
$ python test/matrix_adc.py

通过旋转可调电阻可以改变AD转换值。

测试指南针:

$ cd matrix-python/Matrix.I2C
$ python setup.py install
$ python test/matrix_compass.py

通过改变开发板的朝向可以获得不同的方向值。


7 Resources

8 Update Log

8.1 Feb-17-2016

  • Added 5.9, 5.10 and 5.11

8.2 Feb-24-2016

  • Added the driver's source code location in Section 5.2

8.3 Mar-21-2016

  • Corrected typo in Section 5.9
  • Added lib installation steps in Section 5.11

8.4 Mar-29-2016

  • Corrected expression errors