本帖最后由 gjianw217 于 2015-12-16 11:27 编辑
1、【NanoPi2试用体验】基础篇(1)开箱赏板
https://bbs.elecfans.com/jishu_532487_1_1.html
2、【NanoPi2试用体验】基础篇(2)看图识板
https://bbs.elecfans.com/jishu_532497_1_1.html
3、【NanoPi2试用体验】基础篇(3)初体验(安装软件,烧写镜像,系统登录
https://bbs.elecfans.com/jishu_533286_1_1.html
4、【NanoPi2试用体验】基础篇(4)环境搭建,编译内核,更新固件
https://bbs.elecfans.com/jishu_533599_1_1.html
经过前面四篇的基础篇,已经对NanoPi2进行了一个全面的认识,但光有这些是远远不够的,作为创客神器,功能的扩展是少不了的,好在,友善为入门的创客们准备了几个常用的硬件模块,并对源码全部开源,具体的模块参考资源,见本帖子的最下面附录篇。
学习编程语言,helloworld是入门;学习硬件编程,led是入门。接下来,就抛砖引玉,用led来实现NanoPi2的入门。
一、下载源码
1 克隆源码
- $ git://github.com/friendlyARM/matrix.git
PS:硬件相关的代码是完全开源的,统一由一个仓库进行管理,即matrix,该仓库里不同的分支代表着matrix配件所支持的不同
开发板,主要由
NanoPi开发板、NanoPi2开发板、tiny4412开发板和RaspberryPi,即:nanopi分支用于支持NanoPi、nanopi2分支用于支持NanoPi 2、tiny4412分支用于支持Tiny4412、raspberrypi分支用于支持RaspberryPi
2 切换分支
克隆完成后会得到一个名为matrix的目录,里面存放着所有Matrix配件的代码。进入Matrix代码仓库,切换到nanopi2分支
- $ cd matrix
- $ git checkout nanopi2
二、编译Matrix配件代码
- $ make CROSS_COMPILE=arm-linux- clean
- $ make CROSS_COMPILE=arm-linux-
- $ make CROSS_COMPILE=arm-linux- install
注意:请确保你的主机PC当前使用的交叉编译器为NanoPi 2配套。编译成功后库文件位于install/lib目录下,而测试程序则位于install/usr/bin目录下,模块Matrix-LED对应的测试程序为matrix-led。
三、移植
1 使用USB读卡器,将带有Debian系统的SD卡插入PC上,挂载到Ubuntu下,可以看到boot和rootfs分区
2 执行以下命令将刚才编译好的matrix的硬件驱动、库文件和测试程序拷贝到NanoPi 2的文件系统上。
- $ sudo cp modules /media/rabbit/rootfs/ -r
- $ sudo cp install/lib/* /media/rabbit/rootfs/lib/ -d
- $ sudo cp install/usr/bin/* /media/rabbit/rootfs/usr/bin/
四、测试程序
1 、硬件连接
友善提供的Led模块,采用3针排针的形式,即V接
电源,G接地,S信号通过一个三极管放大控制LED的导通或关闭。可以向S输出静态的高低电平信号,也可以输出变化的PWM信号,信号电平可以是3.3V或5V。输出高电平时LED以最大亮度发光,低电平就完全熄灭,可变占空比的PWM信号可以调节发光的亮度。
由于本人暂时还没有相对应的模块,故只能通过单个led来模拟该功能。不过在连接之前,需要知道NanoPi2的对应引脚,具体有如下对应关系:
2、运行程序
将SD卡重新插入NanoPi 2,上电启动,在Debian的shell终端中执行以下命令运行模块Matrix-LED的测试程序。
3、最后的效果
五、附录
NanoPi 2硬件扩展开发资料大全
01- 按键模块:
http://wiki.friendlyarm.com/wiki/index.php/Matrix_-_Button/zh
02- LED模块:
http://wiki.friendlyarm.com/wiki/index.php/Matrix_-_LED/zh
03- 模数转换:
http://wiki.friendlyarm.com/wiki/index.php/Matrix_-_Analog_to_Digital_Converter/zh
04- 继电器模块:
http://wiki.friendlyarm.com/wiki/index.php/Matrix_-_Relay/zh
05- 三轴重力加速度模块:
http://wiki.friendlyarm.com/wiki/index.php/Matrix_-_3-Axis_Digital_Accelerometer
06- 三轴数字指南针模块:
http://wiki.friendlyarm.com/wiki/index.php/Matrix_-_3-Axis_Digital_Compass/zh
07- 温度传感器模块:
http://wiki.friendlyarm.com/wiki/index.php/Matrix_-_Temperature_Sensor
08- 温湿度传感器模块:
http://wiki.friendlyarm.com/wiki/index.php/Matrix_-_Temperature_and_Humidity_Sensor
09- 无源蜂鸣器模块:
http://wiki.friendlyarm.com/wiki/index.php/Matrix_-_Buzzer/zh
10- 摇杆模块: Joystick
http://wiki.friendlyarm.com/wiki/index.php/Matrix_-_Joystick
11- I2C(PCF8574)+LCD1602:
http://wiki.friendlyarm.com/wiki/index.php/Matrix_-_I2C_LCD1602_Keypad
12- 声音传感器:
http://wiki.friendlyarm.com/wiki/index.php/Matrix_-_Sound_Sensor/zh
13- 超声波模块:
http://wiki.friendlyarm.com/wiki/index.php/Matrix_-_Ultrasonic_Ranger/zh
14- RTC时钟模块:
http://wiki.friendlyarm.com/wiki/index.php/Matrix_-_RTC/zh
15- IIC LCD1602 keypad:
http://wiki.friendlyarm.com/wiki/index.php/Matrix_-_I2C_LCD1602_Keypad/zh
16- 气压模块:
http://wiki.friendlyarm.com/wiki/index.php/Matrix_-_Pressure_and_Temperature_Sensor
17- 旋转编码模块:
http://wiki.friendlyarm.com/wiki/index.php/Matrix_-_Rotary_Encoder/zh
18- SPI TFT液晶屏
http://wiki.friendlyarm.com/wiki/index.php/Matrix_-_SPI_TFT/zh