Difference between revisions of "Matrix - Compact Kit"
From FriendlyELEC WiKi
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
Contents
1 Introduction
- 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):
- 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
- 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和红外接收管脚定义
模块 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
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
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
- [Schematic](Matrix - Compact Kit-Schematic.pdf)
- [Schematic](Matrix - Compact Kit-Schematic.pdf)
- [0.9'LCD datasheet](Matrix - Compact Kit-0.9'LCD datasheet.pdf)
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