Matrix - Compact Kit/zh
From FriendlyELEC WiKi
Contents
1 介绍
- Matrix - Compact Kit是一款紧凑、简洁的多功能开发者套件,该套件由一系列常用电气元件经过精心构建而成,色彩斑斓,资源丰富,包括了按键、LED、无源蜂鸣器、ADC、指南针、温度传感器、红外接收器、TFT等14种资源。该套件可以直接通过40pin排母和NanoPi、NanoPi2无缝对接,也适用于40Pin GPIO口的树莓派系列产品。除了丰富的板上资源以外,您还可以通过扩展的IO口外接模块,基于本产品开发出功能丰富的应用。
2 资源
Matrix - Compact Kit集成的元件如下
- 0.9 TFT LCD
- 轻触开关3个
- 5mm LED4个
- 无源蜂鸣器
- ADC
- 滑动变阻器
- 40pin排母
- 4pin排针---I2C接口
- 4pin排针---UART接口
- 3pin双排针---3.3V和GND
- 18B20温度传感器
- 红外接收器
- 3pin排座10个---3个模拟IO,7个数字IO(其中两个可复用为PWM,四个复用为SPI 接口)
- 指南针
3 特性
- 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
4 硬件连接
4.1 连接NanoPi 2
5 编译运行测试程序
启动开发板并运行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
6 代码说明
所有的开发板都共用一套Matrix代码,本模块的测试示例代码如下:
int main(int argc, char ** argv) { int board; if ((board = boardInit()) < 0) printf("Fail to init board\n"); testLED(board); readButton(); readADC(); readCompass(); testPWM(board); // readTemp(); // testIR(); return 0; }
API说明参考维基:Matrix API reference manual
7 通过Python控制
使用的Python版本为2.7.9。
克隆Matrix配件Python相关的库之前,需要先确保你的板可正常上网,并且已经安装好git;接着执行以下步骤安装Python相关的库文件
$ apt-get install Python-dev $ apt-get install libi2c-dev
在NanoPi2上直接克隆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
通过改变开发板的朝向可以获得不同的方向值。
8 相关资料
- [Schematic](Matrix - Compact Kit-Schematic.pdf)