哪吒Pro多功能扩展盒
简介
哪吒Pro多功能扩展盒是一款专为教育和创意编程设计的 micro:bit 扩展板,旨在激发学生的创新思维和动手能力。它不仅集成了两个便捷的电机控制按钮和4路电机驱动,还配备了8路传感器扩展接口,为学生提供了一个实验和探索的多功能平台。这些电机控制按钮允许在不连接 micro:bit 的情况下直接控制电机的转动方向,增加了使用的灵活性。所有接口均采用 RJ11 接头,具备防呆防反插设计,确保了快速准确的连接。扩展盒的外壳特别设计了与乐高和慧鱼结构件兼容的接口,支持学生将电子模块与主流结构件结合,搭建出个性化的创意编程作品。
特性
独立电机控制:配备的电机控制按钮允许学生在不接入 micro:bit 的情况下,直接控制电机的转动方向,提供了额外的操作自由度。
RJ11端口设计:采用 RJ11 接头,设计上注重防误插特性,简化了连线过程,提升了课堂使用效率。
颜色识别系统:创新的颜色识别系统通过端口标签、传感器标签与积木块的颜色对应,为学生提供了一个直观的识别和连接方式,降低了学习难度。
支持闭环电机:支持闭环电机,通过闭环反馈系统,实现更精准的位置控制和速度调节,提升整体系统的稳定性和可靠性。无论是精密的机械臂操作还是复杂的运动模拟,都能游刃有余地完成。
兼容性设计:外壳上的乐高和慧鱼结构件兼容接口,不仅增强了产品的通用性,还激发了学生的创造力,鼓励他们探索电子技术与物理结构相结合的无限可能。
滑动式电源开关:滑动式电源开关需要明确的滑动动作来切换电源状态,减少了意外触碰导致的误操作风险。它提供了物理上的反馈,确保用户可以通过触感确认开关的状态,避免不确定状态。
技术规格
项目 | 参数 |
---|---|
产品名称 | 哪吒Pro多功能扩展盒 |
SKU | EF05070 |
产品尺寸 | 长80mm(不含micro:bit主板长度)x 宽60mm x 高44mm |
产品重量(毛重) | 142g(含锂电池,不含micro:bit主板及周边配件) |
充电电压 | 5V |
充电电流 | 3A |
充电时间 | 50min |
电池容量 | 900mAh/6.6Wh |
最大工作电压 | 8.4V |
额定工作电压 | 7.4V |
最小工作电压 | 6.4V |
待机电流 | 0.01A |
micro:bit供电电压 | 3.3V |
马达接口输出电压 | 6.4~8.4V |
马达接口额定输出电流 | 1A |
马达接口最大输出电流 | 2A |
RJ11传感器接口输出电压 | 3.3V |
RJ11传感器接口最大输出电流 | 1.0A |
持续使用时间 | 45min(安装AI摄像头,4个智控马达,2个LED灯模块测试,因测试环境、不同负载状态等因素,实际使用时间可能有出入) |
马达接口 | 4个 |
传感器接口 | 8个 |
引脚图介绍
主要模块介绍
micro:bit插槽
电机控制按钮
无需主控板,通过电机控制按钮即可控制电机顺时针转动或逆时针转动。
IIC接口
兼容行星系列的颜色识别系统,接口处有蓝色矩形标签。
IO接口
兼容行星系列的颜色识别系统,接口处有黄色矩形标签或红色矩形标签,黄色矩形标签接口支持模拟输入,红色矩形标签接口支持数字输入。
马达接口
接口处有红色圆形标签。
电源开关
通过拨动电源开关来控制电源开启或关闭。
充电接口
Type-C 充电接口,最大支持5V3A,充电时长50min。
电源指示灯
电量指示灯可用于显示电量.
指示灯图标定义如下。
表示LED灯常亮
表示LED灯熄灭
表示LED灯闪烁
放电
当前状态 | LED 1 | LED 2 | LED 3 | LED 4 | 电量 |
---|---|---|---|---|---|
放电状态 | 76% ~ 100% | ||||
51% ~ 75% | |||||
26% ~ 50% | |||||
6% ~ 25% | |||||
0% ~ 5% |
充电
当前状态 | LED 1 | LED 2 | LED 3 | LED 4 | 电量 |
---|---|---|---|---|---|
充电状态 | 100% | ||||
75% ~ 99% | |||||
50% ~ 74% | |||||
26% ~ 49% | |||||
0% ~ 25% |
- 在电源关闭的状态下,连接电源。
- 充电状态下电量指示灯会显示当前电量,并闪烁
- 当充满电时,电源指示灯全部点亮,请断开电源,完成充电。
快速入门
打开https://makecode.microbit.org/
新建项目
输入项目名称并点击创建。
进入编辑器界面后我们可以看到Micro:bit Simulator,Toolbox,Workspace。
添加专属扩展库
为了给哪吒Pro多功能扩展盒编程,我们需要添加一个扩展库。在代码抽屉中找到“扩展”,并点击它。
这时会弹出一个对话框,搜索“nezha2”,然后点击下载这个代码库。
注意:如果你得到一个提示说一些代码库因为不兼容的原因将被删除,你可以根据提示继续操作,或者在项目菜单栏里面新建一个项目。
软件积木块简介
积木块 | 功能 | 参数 |
---|---|---|
设置对应接口的电机以指定方向转动。 | 参数一:下拉选项 选项:M1、M2、M3、M4 参数二:下拉选项 选项:顺时针、逆时针 参数三:整数 参数四:下拉选项 选项:度、圈、秒 | |
设置对应接口的电机以指定方向转动指定角度。 | 参数一:下拉选项 选项:M1、M2、M3、M4 参数二:下拉选项 选项:顺时针、逆时针 参数三:整数 | |
设置对应接口的电机以指定方向转动 | 参数一:下拉选项 选项:M1、M2、M3、M4 参数二:下拉选项 选项:顺时针、逆时针 | |
设置对应接口的电机停止运行 | 参数一:下拉选项 选项:M1、M2、M3、M4 | |
设置对应接口的电机以指定速度运行 | 参数一:下拉选项 选项:M1、M2、M3、M4 参数二:整数 数值范围:-100~100 | |
通过此积木块可以获取当前电机的角度值 | ||
通过此积木块可以获取当前电机的速度 | ||
设置对应接口的电机转动到零位 | ||
设置小车左轮电机和右轮电机的连接接口 | 参数一:下拉选项 选项:M1、M2、M3、M4 参数二:下拉选项 选项:M1、M2、M3、M4 | |
设置小车的速度 | 参数一:数值 数值范围:-100~100 | |
设置小车停止运行 | 参数一:数值 数值范围:-100~100 参数二:数值 数值范围:-100~100 | |
设置小车前进或者后退 | 参数一:下拉选项 选项:前进、后退 | |
设置小车左轮和右轮的速度 | 参数一:数值 数值范围:-100~100 参数二:数值 数值范围:-100~100 | |
获取当前固件版本号 |
硬件连接
如图所示将PlanetX Smart Brick Motor接入到Nezha Breakout Board V2的电机M1接口。
程序实例
以当前位置为零点,向顺时针方向运行180度
参考程序
请参考程序连接:https://makecode.microbit.org/_E6vawDM7yX87
你也可以通过以下网页直接下载程序,下载完成后即可开始运行程序。
如何将程序下载到micro:bit?
使用USB线连接PC和micro:bit V2。
连接成功后,电脑上会识别出一个名为MICROBIT
的盘符。
点击左下角的,选择Connect Device
。
点击。
点击
在弹出窗口选择BBC micro:bit CMSIS-DAP
,然后选择连接,至此,我们的micro:bit就已经连接成功。
点击下载程序。
结果
按键A按下时连接在A口的电机转动顺时针转动180°。
舵机转动到预设零位,向顺时针方向运行180度
参考程序
请参考程序连接:https://makecode.microbit.org/_1w9VLsEE8fdi
你也可以通过以下网页直接下载程序,下载完成后即可开始运行程序。
结果
按键A按下时连接在A口的电机自动转动到预设零位,按键B按下时连接在A口的电机转动顺时针转动180°。
设定电机转动速度,控制电机启动或停止
参考程序
请参考程序连接:https://makecode.microbit.org/_fdiPdcJ71f4X
你也可以通过以下网页直接下载程序,下载完成后即可开始运行程序。
结果
设定电机转动速度,通过A、B按键控制电机启动或停止。
读取转动角度
参考程序
请参考程序连接:https://makecode.microbit.org/_Axw3drgX6Y3V
你也可以通过以下网页直接下载程序,下载完成后即可开始运行程序。
结果
开启电源后,按下A键控制电机转动3秒,然后显示当前角度值。
读取转动速度(圈/秒)
参考程序
请参考程序连接:https://makecode.microbit.org/_01x60dRX9Ros
你也可以通过以下网页直接下载程序,下载完成后即可开始运行程序。
结果
开启电源后,电机开始转动,micro:bit的LED矩阵显示当前转速(圈/秒)。
读取固件版本号
参考程序
请参考程序连接:https://makecode.microbit.org/_V0tJ15dkhLVq
你也可以通过以下网页直接下载程序,下载完成后即可开始运行程序。
结果
开启电源后,micro:bit的LED矩阵显示当前固件版本号。
python编程
步骤 1
下载压缩包并解压EF_Produce_MicroPython-master
为了给哪吒Pro多功能扩展盒编程,我们需要添加Nezha_V2.py文件。点击Project,然后点击Open,并选择Nezha_V2.py。
设置为Add file Nezha_V2.py,点击Confirm。
步骤 2
参考程序
from microbit import *
from Nezha_V2 import *
nezha_v2 = NEZHA_V2()
while True:
if button_a.was_pressed():
nezha_v2.Motorspeed(motor.A,direction.clockwise,100,MotorFunction.degrees)
if button_b.was_pressed():
nezha_v2.Motorspeed(motor.A,direction.counterclockwise,100,MotorFunction.degrees)
结果
通过A、B按键控制电机顺时针或者逆时针转动100度。
参考程序
from microbit import *
from Nezha_V2 import *
aaa = NEZHA_V2()
while True:
if button_a.was_pressed():
aaa.goToAbsolutePosition(motor.A,modePostion.clockwise,100)
if button_b.was_pressed():
aaa.goToAbsolutePosition(motor.A,modePostion.clockwise,-100)
结果
以当前位置为零点,通过A、B按键控制电机转动到100度或者-100度。
参考程序
from microbit import *
from Nezha_V2 import *
aaa = NEZHA_V2()
while True:
if button_a.was_pressed():
aaa.nezha2MotorStart(motor.A,direction.clockwise)
if button_b.was_pressed():
aaa.nezha2MotorStart(motor.A,direction.counterclockwise)
if pin_logo.is_touched():
aaa.nezha2MotorStop(motor.A)
结果
通过A、B按键控制电机顺时针或者逆时针转动,按下micro:bit上的徽标停止转动。
参考程序
from microbit import *
from Nezha_V2 import *
aaa = NEZHA_V2()
while True:
if button_a.was_pressed():
aaa.nezha2MotorSpeedCtrolExport(motor.A,100)
if button_b.was_pressed():
aaa.nezha2MotorSpeedCtrolExport(motor.A,-100)
if pin_logo.is_touched():
aaa.nezha2MotorStop(motor.A)
结果
通过A、B按键控制电机以指定速度转动,按下micro:bit上的徽标停止转动。
参考程序
from microbit import *
from Nezha_V2 import *
aaa = NEZHA_V2()
while True:
if button_a.was_pressed():
aaa.Motorspeed(motor.A,direction.clockwise,100,MotorFunction.degrees)
if button_b.was_pressed():
aaa.Motorspeed(motor.A,direction.counterclockwise,100,MotorFunction.degrees)
if pin_logo.is_touched():
display.show(aaa.readServoAbsolutePostion(motor.A))
结果
通过A、B按键控制电机以指定角度转动,按下micro:bit上的徽标控制LED矩阵显示当前角度值。
参考程序
from microbit import *
from Nezha_V2 import *
aaa = NEZHA_V2()
while True:
if button_a.was_pressed():
aaa.nezha2MotorSpeedCtrolExport(motor.A,100)
if button_b.was_pressed():
aaa.nezha2MotorSpeedCtrolExport(motor.A,-100)
if pin_logo.is_touched():
display.show(aaa.readServoAbsoluteSpeed(motor.A))
结果
通过A、B按键控制电机顺时针或者逆时针转动,按下micro:bit上的徽标控制LED矩阵显示当前电机的转动速度(圈/秒)。
参考程序
from microbit import *
from Nezha_V2 import *
aaa = NEZHA_V2()
while True:
if button_a.was_pressed():
aaa.Motorspeed(motor.A,direction.clockwise,100,MotorFunction.degrees)
if button_b.was_pressed():
aaa.Motorspeed(motor.A,direction.counterclockwise,100,MotorFunction.degrees)
if pin_logo.is_touched():
aaa.servoPostionReset(motor.A)
结果
通过A、B按键控制电机顺时针或者逆时针转动100度,按下micro:bit上的徽标控制电机转动到预设零位。