Difference between revisions of "BakeBit - NanoHat Hub/zh"
(→支持的模块) |
(→相关资料) |
||
(53 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
− | [[BakeBit - | + | [[BakeBit - NanoHat Hub|English]] |
==介绍== | ==介绍== | ||
− | * NanoHat | + | * NanoHat Hub是一个专为NanoPi NEO/Air量身设计的接口扩展模块。NanoHat Hub通过I2C接口和NEO通讯,作为从设备的单片机MEGA328P扮演NEO和传感器模块之间翻译官的角色,翻译I2C总线上接收到的数据或命令并执行对应的操作。 |
− | * 连接NanoPi | + | * NanoHat Hub提供了三个I2C接口、三个模拟接口,两个串口(一个NEO串口,一个单片机串口)和四个数字接口。 |
− | * | + | * 连接NanoPi NEO/Air和传感器模块的扩展板,NanoHat Hub扩展板直接插在NanoPi NEO上面,所有的模块可以通过4个引脚的连接线直接连接到NanoHat Hub扩展板接口上,通过I2C接口、串口、数字/模拟接口建立传感器模块与NEO/Air之间的数据传输。 |
− | [[File:BakeBit - NEO Hub.jpg|thumb|BakeBit - | + | *固件使用Arduino IDE集成开发环境开发,并完全开源。 |
+ | [[File:BakeBit - NEO Hub.jpg|thumb|BakeBit - NanoHat Hub]] | ||
==特性== | ==特性== | ||
Line 14: | Line 15: | ||
* 4个2.0mm 数字接口端子 | * 4个2.0mm 数字接口端子 | ||
* PCB尺寸(mm):40x40 | * PCB尺寸(mm):40x40 | ||
− | [[File:BakeBit - NEO Hub_Top_PCB.png | frameless|350px| | + | * [http://wiki.friendlyarm.com/wiki/images/a/ad/2.0mm_smt_4pin.jpg 2.0mm 4Pin 接口端子尺寸文件] |
− | [[File:BakeBit - NEO Hub_Bottom_PCB.png | frameless|350px| | + | |
+ | [[File:BakeBit - NEO Hub_Top_PCB.png | frameless|350px|NanoHat Hub_Top]] | ||
+ | [[File:BakeBit - NEO Hub_Bottom_PCB.png | frameless|350px|NanoHat Hub_Bottom]] | ||
* 引脚说明: | * 引脚说明: | ||
Line 60: | Line 63: | ||
|} | |} | ||
− | [[File:BakeBit - NEO Hub1.jpg|thumb|BakeBit - | + | [[File:BakeBit - NEO Hub1.jpg|thumb|600px|BakeBit - NanoHat Hub接口]] |
*每个BakeBit接口端子使用标准的2.0mm间距的4个引脚的插座,详细引脚定义如下所示: | *每个BakeBit接口端子使用标准的2.0mm间距的4个引脚的插座,详细引脚定义如下所示: | ||
* '''I2C接口引脚定义''' | * '''I2C接口引脚定义''' | ||
− | + | 顶部一排(右图标识为1、2、3的接口)为3个5V电平的I2C接口,每个I2C接口的左侧第1个引脚为SCL,第2个引脚为SDA,第3个引脚为5V,第4个引脚为GND。 | |
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
− | |名称 || 描述 | + | |引脚 ||名称 || 描述 |
|- | |- | ||
− | | | + | |1 ||SCL || SCL |
|- | |- | ||
− | | | + | |2 || SDA || SDA |
|- | |- | ||
− | | | + | |3 || 5V || 电源5V |
|- | |- | ||
− | | | + | |4 || GND || 地 |
|} | |} | ||
* '''模拟接口引脚定义''' | * '''模拟接口引脚定义''' | ||
− | + | 第2排(右图标识为4、5、6的接口)为3个模拟接口,每个模拟接口的左侧第1个引脚为An,第2个引脚为An+1,第3个引脚为5V,第4个引脚为GND。<br /> | |
+ | 例如丝印为A0/A1的端子,表示端子的左侧第1个引脚为A0,第2个引脚为A1,习惯上为我们把这个A0/A1接口简称为模拟端子A0。 | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
− | |名称 || 描述 | + | |引脚 ||名称 || 描述 |
|- | |- | ||
− | | | + | |1 || An || 模拟引脚An |
|- | |- | ||
− | | | + | |2 || An+1 || 模拟引脚An+1 |
|- | |- | ||
− | | | + | |3 || 5V || 电源5V |
|- | |- | ||
− | | | + | |4 || GND || 地 |
|} | |} | ||
* '''UART接口引脚定义''' | * '''UART接口引脚定义''' | ||
− | + | NanoHat Hub有2个UART接口,第3排的第1个(图上标识为7的接口)为NanoPi NEO板的UART口,第2个(图上标识为8的接口)为NanoHat Hub板的UART口。<br /> | |
+ | 另外,NanoHat Hub板的UART口可以作为数字接口D0/D1使用。<br /> | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
− | |名称 || 描述 | + | |引脚 ||名称 || 描述 |
|- | |- | ||
− | | | + | |1 ||Rx || 串口接收引脚 |
|- | |- | ||
− | | | + | |2 || Tx || 串口发送引脚 |
|- | |- | ||
− | | | + | |3 || 5V || 电源5V |
|- | |- | ||
− | | | + | |4 || GND || 地 |
|} | |} | ||
* '''数字接口引脚定义''' | * '''数字接口引脚定义''' | ||
− | + | 其余的(图上标识为9、10、11、12的接口)接口为4个数字引脚接口,接口的左侧第1个引脚为Dn,第2个引脚为Dn+1,第3个引脚为5V,第4个引脚为GND。<br /> | |
− | + | 例如丝印为D2/D3的端子,表示接口的左侧第1个引脚为D2,第2个引脚为D3,习惯上为我们把这个接口D2/D3简称为数字端子D2。<br /> | |
5个数字引脚D2-D6中,引脚D3、D5、D6引脚可以作为PWM引脚使用。 | 5个数字引脚D2-D6中,引脚D3、D5、D6引脚可以作为PWM引脚使用。 | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
− | |名称 || 描述 | + | |引脚 ||名称 || 描述 |
|- | |- | ||
− | | | + | |1 || Dn || 数字引脚Dn |
|- | |- | ||
− | | | + | |2 || Dn+1 || 数字引脚Dn+1 |
|- | |- | ||
− | | | + | |3 || 5V || 电源5V |
|- | |- | ||
− | | | + | |4 || GND || 地 |
|} | |} | ||
==使用方法== | ==使用方法== | ||
− | BakeBit - NEO Hub连接NanoPi | + | BakeBit - NanoHat Hub与NanoPi NEO/Air具有相同的尺寸,可直接堆叠在NanoPi NEO/Air上。<br \> |
+ | BakeBit - NanoHat Hub连接NanoPi NEO/Air的使用方法参考以下链接:[http://wiki.friendlyarm.com/wiki/index.php/BakeBit/zh BakeBit - NanoHat Hub连接NanoPi NEO的使用方法] | ||
==支持的模块== | ==支持的模块== | ||
− | 可以和BakeBit - | + | 可以和BakeBit - NanoHat Hub连接使用的模块如下: |
* 1、[http://wiki.friendlyarm.com/wiki/index.php/BakeBit_-_Button/zh 按键模块] | * 1、[http://wiki.friendlyarm.com/wiki/index.php/BakeBit_-_Button/zh 按键模块] | ||
* 2、[http://wiki.friendlyarm.com/wiki/index.php/BakeBit_-_Buzzer/zh 蜂鸣器模块] | * 2、[http://wiki.friendlyarm.com/wiki/index.php/BakeBit_-_Buzzer/zh 蜂鸣器模块] | ||
Line 139: | Line 145: | ||
* 11、[http://wiki.friendlyarm.com/wiki/index.php/BakeBit_-_Sound_Sensor/zh 声音模块] | * 11、[http://wiki.friendlyarm.com/wiki/index.php/BakeBit_-_Sound_Sensor/zh 声音模块] | ||
* 12、[http://wiki.friendlyarm.com/wiki/index.php/BakeBit_-_Ultrasonic_Ranger/zh 超声波模块] | * 12、[http://wiki.friendlyarm.com/wiki/index.php/BakeBit_-_Ultrasonic_Ranger/zh 超声波模块] | ||
+ | |||
+ | ==升级NanoHat Hub固件== | ||
+ | 升级BakeBit固件的实质是,将新版本的固件文件(名为bakebit_firmware.hex)烧写到NanoHat Hub的芯片内,下面的内容是具体的步骤: <br /> | ||
+ | 先在NanoPi NEO上安装 avrdude: | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | apt-get install avrdude | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | 再用vi编辑配置文件 /etc/avrdude.conf,在文件最末尾加入如下内容: | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | # Linux GPIO configuration for avrdude. | ||
+ | # Change the lines below to the GPIO pins connected to the AVR. | ||
+ | programmer | ||
+ | id = "nanopineo"; | ||
+ | desc = "Use the Linux sysfs interface to bitbang GPIO lines"; | ||
+ | type = "linuxgpio"; | ||
+ | reset = 67; | ||
+ | sck = 66; | ||
+ | mosi = 64; | ||
+ | miso = 65; | ||
+ | ; | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | 然后进入Firmware目录,执行firmware_update.sh脚本上传固件: | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | cd ~/BakeBit/Firmware | ||
+ | ./firmware_update.sh | ||
+ | </syntaxhighlight> | ||
+ | 根据脚本的提示选择y, 固件更新成功的提示如下所示:<br /> | ||
+ | [[File:BakeBit-UpdateFirmware.jpg|frameless|500px]]<br /> | ||
+ | 正如你所见,固件是一个名为.hex的二进制文件,你可以使用脚本 new_fw_search.sh 在线检查一下官方是否有新版本。<br /> | ||
+ | |||
+ | ==使用Arduino IDE编译固件== | ||
+ | 1) 先在电脑上安装Arduino IDE,Arduino IDE到这里下载: <br /> | ||
+ | https://www.arduino.cc/en/Main/Software<br /> | ||
+ | <br /> | ||
+ | 2) 把BakeBit/Firmware/Source/下的FastLED-FastLED3.1目录复制到Arduino IDE安装目录下的libraries子目录,在macOS下该路径为: /Applications/Arduino.app/Contents/Java/libraries/ <br /> | ||
+ | <br /> | ||
+ | 3) 用Arduino IDE打开BakeBit项目文件:<br /> | ||
+ | BakeBit/Firmware/Source/bakebit_v1.0.0/bakebit_v1.0.0.ino<br /> | ||
+ | <br /> | ||
+ | 4) 在Arduino上进入Tools菜单,把Board的类型改为Arduino Nano:<br /> | ||
+ | [[File:BakeBit-ArduinoBoardType.jpg|frameless|500px]]<br /> | ||
+ | 5) 在Arduino上进入Sketch菜单,选择 Export Compliled Binary,Arduino将执行编译。<br /> <br /> | ||
+ | 6) 编译成功后,在源代码目录下, 会生成一个名为bakebit_v1.0.0.ino.eightanaloginputs.hex的二进制文件,将其更名为 bakebit_firmware.hex,上传到NanoPi NEO上并覆盖BakeBit/Firmware/下的同名文件,用上一章节介绍的方法,执行firmware_update.sh脚本重新烧写固件即可。 <br /> | ||
==相关资料== | ==相关资料== | ||
− | *[Schematic]([http://wiki.friendlyarm.com/wiki/images/ | + | *[Schematic]([http://wiki.friendlyarm.com/wiki/images/6/60/SCHEMATIC_NanoHat-Hub.pdf SCHEMATIC_NanoHat Hub.pdf]) |
+ | *[Dimensional]([http://wiki.friendlyarm.com/wiki/index.php/File:Dimensional_NanoHat_Hub.dxf Dimensional_NanoHat Hub.dxf]) | ||
+ | *[Dimensional]([http://wiki.friendlyarm.com/wiki/images/a/ad/2.0mm_smt_4pin.jpg 2.0mm 4Pin 接口尺寸图]) |
Latest revision as of 01:57, 5 July 2018
1 介绍
- NanoHat Hub是一个专为NanoPi NEO/Air量身设计的接口扩展模块。NanoHat Hub通过I2C接口和NEO通讯,作为从设备的单片机MEGA328P扮演NEO和传感器模块之间翻译官的角色,翻译I2C总线上接收到的数据或命令并执行对应的操作。
- NanoHat Hub提供了三个I2C接口、三个模拟接口,两个串口(一个NEO串口,一个单片机串口)和四个数字接口。
- 连接NanoPi NEO/Air和传感器模块的扩展板,NanoHat Hub扩展板直接插在NanoPi NEO上面,所有的模块可以通过4个引脚的连接线直接连接到NanoHat Hub扩展板接口上,通过I2C接口、串口、数字/模拟接口建立传感器模块与NEO/Air之间的数据传输。
- 固件使用Arduino IDE集成开发环境开发,并完全开源。
2 特性
- 兼容NEO的尺寸和接口
- 3个2.0mm 4Pin I2C接口端子
- 3个2.0mm 4Pin 模拟接口端子
- 1个2.0mm URAT-NEO接口端子
- 1个2.0mm URAT-Hub接口端子
- 4个2.0mm 数字接口端子
- PCB尺寸(mm):40x40
- 2.0mm 4Pin 接口端子尺寸文件
- 引脚说明:
- 24 Pin排针引脚定义:
Pin# | Name | Pin# | Name |
1 | SYS_3.3V | 2 | VDD_5V |
3 | I2C0_SDA | 4 | VDD_5V |
5 | I2C0_SCL | 6 | GND |
7 | GPIOG11 | 8 | UART1_TX/GPIOG6 |
9 | GND | 10 | UART1_RX/GPIOG7 |
11 | UART2_TX/GPIOA0 | 12 | PWM1/GPIOA6 |
13 | UART2_RTS/GPIOA2 | 14 | GND |
15 | UART2_CTS/GPIOA3 | 16 | UART1_RTS/GPIOG8 |
17 | SYS_3.3V | 18 | UART1_CTS/GPIOG9 |
19 | SPI0_MOSI/GPIOC0 | 20 | GND |
21 | SPI0_MISO/GPIOC1 | 22 | UART2_RX/GPIOA1 |
23 | SPI0_CLK/GPIOC2 | 24 | SPI0_CS/GPIOC3 |
- 12 Pin排针引脚定义:
Pin# | Name | Description |
1 | VDD_5V | 5V Power In/Out |
2---11 | NC | Not Connected |
12 | GND | 0V |
- 每个BakeBit接口端子使用标准的2.0mm间距的4个引脚的插座,详细引脚定义如下所示:
- I2C接口引脚定义
顶部一排(右图标识为1、2、3的接口)为3个5V电平的I2C接口,每个I2C接口的左侧第1个引脚为SCL,第2个引脚为SDA,第3个引脚为5V,第4个引脚为GND。
引脚 | 名称 | 描述 |
1 | SCL | SCL |
2 | SDA | SDA |
3 | 5V | 电源5V |
4 | GND | 地 |
- 模拟接口引脚定义
第2排(右图标识为4、5、6的接口)为3个模拟接口,每个模拟接口的左侧第1个引脚为An,第2个引脚为An+1,第3个引脚为5V,第4个引脚为GND。
例如丝印为A0/A1的端子,表示端子的左侧第1个引脚为A0,第2个引脚为A1,习惯上为我们把这个A0/A1接口简称为模拟端子A0。
引脚 | 名称 | 描述 |
1 | An | 模拟引脚An |
2 | An+1 | 模拟引脚An+1 |
3 | 5V | 电源5V |
4 | GND | 地 |
- UART接口引脚定义
NanoHat Hub有2个UART接口,第3排的第1个(图上标识为7的接口)为NanoPi NEO板的UART口,第2个(图上标识为8的接口)为NanoHat Hub板的UART口。
另外,NanoHat Hub板的UART口可以作为数字接口D0/D1使用。
引脚 | 名称 | 描述 |
1 | Rx | 串口接收引脚 |
2 | Tx | 串口发送引脚 |
3 | 5V | 电源5V |
4 | GND | 地 |
- 数字接口引脚定义
其余的(图上标识为9、10、11、12的接口)接口为4个数字引脚接口,接口的左侧第1个引脚为Dn,第2个引脚为Dn+1,第3个引脚为5V,第4个引脚为GND。
例如丝印为D2/D3的端子,表示接口的左侧第1个引脚为D2,第2个引脚为D3,习惯上为我们把这个接口D2/D3简称为数字端子D2。
5个数字引脚D2-D6中,引脚D3、D5、D6引脚可以作为PWM引脚使用。
引脚 | 名称 | 描述 |
1 | Dn | 数字引脚Dn |
2 | Dn+1 | 数字引脚Dn+1 |
3 | 5V | 电源5V |
4 | GND | 地 |
3 使用方法
BakeBit - NanoHat Hub与NanoPi NEO/Air具有相同的尺寸,可直接堆叠在NanoPi NEO/Air上。
BakeBit - NanoHat Hub连接NanoPi NEO/Air的使用方法参考以下链接:BakeBit - NanoHat Hub连接NanoPi NEO的使用方法
4 支持的模块
可以和BakeBit - NanoHat Hub连接使用的模块如下:
- 1、按键模块
- 2、蜂鸣器模块
- 3、绿色LED模块
- 4、摇杆模块
- 5、LED Bar模块
- 6、光敏模块
- 7、OLED模块
- 8、红色LED模块
- 9、旋转角度模块
- 10、舵机模块
- 11、声音模块
- 12、超声波模块
5 升级NanoHat Hub固件
升级BakeBit固件的实质是,将新版本的固件文件(名为bakebit_firmware.hex)烧写到NanoHat Hub的芯片内,下面的内容是具体的步骤:
先在NanoPi NEO上安装 avrdude:
apt-get install avrdude
再用vi编辑配置文件 /etc/avrdude.conf,在文件最末尾加入如下内容:
# Linux GPIO configuration for avrdude. # Change the lines below to the GPIO pins connected to the AVR. programmer id = "nanopineo"; desc = "Use the Linux sysfs interface to bitbang GPIO lines"; type = "linuxgpio"; reset = 67; sck = 66; mosi = 64; miso = 65; ;
然后进入Firmware目录,执行firmware_update.sh脚本上传固件:
cd ~/BakeBit/Firmware ./firmware_update.sh
根据脚本的提示选择y, 固件更新成功的提示如下所示:
正如你所见,固件是一个名为.hex的二进制文件,你可以使用脚本 new_fw_search.sh 在线检查一下官方是否有新版本。
6 使用Arduino IDE编译固件
1) 先在电脑上安装Arduino IDE,Arduino IDE到这里下载:
https://www.arduino.cc/en/Main/Software
2) 把BakeBit/Firmware/Source/下的FastLED-FastLED3.1目录复制到Arduino IDE安装目录下的libraries子目录,在macOS下该路径为: /Applications/Arduino.app/Contents/Java/libraries/
3) 用Arduino IDE打开BakeBit项目文件:
BakeBit/Firmware/Source/bakebit_v1.0.0/bakebit_v1.0.0.ino
4) 在Arduino上进入Tools菜单,把Board的类型改为Arduino Nano:
5) 在Arduino上进入Sketch菜单,选择 Export Compliled Binary,Arduino将执行编译。
6) 编译成功后,在源代码目录下, 会生成一个名为bakebit_v1.0.0.ino.eightanaloginputs.hex的二进制文件,将其更名为 bakebit_firmware.hex,上传到NanoPi NEO上并覆盖BakeBit/Firmware/下的同名文件,用上一章节介绍的方法,执行firmware_update.sh脚本重新烧写固件即可。
7 相关资料
- [Schematic](SCHEMATIC_NanoHat Hub.pdf)
- [Dimensional](Dimensional_NanoHat Hub.dxf)
- [Dimensional](2.0mm 4Pin 接口尺寸图)