该开发板目前仅支持在线积木编程,其编程网址为:https://istonecode.isoftstone.com/editor?flag=pure,其界面如下:
最右边是编程区域,通过拖动积木模块相互组合,即可完成程序编写,同时会生成对应的python脚本,此时可以直接在仿真区域运行程序,直接观察程序效果。这一点非常的好用,无需实物,且反应非常快。
在连接的情况下,直接点击下载程序,即可将积木对应的固件下载到模块中,下载完成后,模块会主动复位并运行下载的程序。(如果出现下载到98%后停止下载的情况,多下载几次即可)
我这里做了个简单的游戏程序,利用led矩阵和A\B按键完成功能,在最底下的一行存在一个光点1,由AB键控制在最底行左右移动,在最顶行随机生成一个光点2并下落,让光点1接住光点2即可。积木图如下,工程文件放最后。
python脚本如下:
import QHos,QHled,QHaudio,QHinput,QHmath
def pre_run():
return
def aftrer_run():
return
monster_1_x = None
monster_1_y = None
human_x = None
step_time_ms = None
monster_1_refresh = None
def powerOn():
global monster_1_x
monster_1_x = 0
global monster_1_y
monster_1_y = 0
global human_x
human_x = 0
global step_time_ms
step_time_ms = 400
global monster_1_refresh
monster_1_refresh = 0
QHled.set_brightness(3)
QHled.show_pic(QHled.HEART)
QHaudio.set_volume(2)
QHaudio.tone_ring(7)
QHos.usleep(100)
QHled.clear_led()
QHled.show_pixel(human_x,4)
while True:
if not monster_1_y and not monster_1_refresh:
monster_1_refresh= 1
monster_1_x = QHmath.random(0, 4)
QHled.change_pixel(monster_1_x,monster_1_y)
QHos.usleep(step_time_ms)
QHled.cancel_pixel(monster_1_x,monster_1_y)
monster_1_y = (monster_1_y if isinstance(monster_1_y, int) else 0) + 1
QHled.change_pixel(monster_1_x,monster_1_y)
if monster_1_y == 4:
if human_x == monster_1_x:
monster_1_y = 0
monster_1_refresh = 0
QHled.change_pixel(human_x,4)
else:
break
QHled.show_pic(QHled.NO)
return
def buttonA_func():
global human_x
QHled.cancel_pixel(human_x,4)
human_x = (human_x if isinstance(human_x, int) else 0) - 1
if human_x <= 0:
human_x = 0
QHled.change_pixel(human_x,4)
return
def buttonB_func():
global human_x
QHled.cancel_pixel(human_x,4)
human_x = (human_x if isinstance(human_x, int) else 0) + 1
if human_x >= 4:
human_x = 4
QHled.change_pixel(human_x,4)
return
QHinput.buttonA_listener(buttonA_func)
QHinput.buttonB_listener(buttonB_func)
powerOn()
运行效果见底部视频。
总结
非常切合开发板的少儿编程的产品定位,上手完全没有难度,减少了环境搭建环节,也无需编程语言的知识,而且板载交互性外设较多,能引起儿童的兴趣心理,作为入门级产品,我认为是成功的。
目前厂家未能提供sdk、也未开放python库文件,这也一定程度上限制了自由开发的特性,建议厂家早日提供,技术性购买者刚需,大众购买者可能用不上,但购买时他也会希望有更大的自由拓展度。
可能led是通过iic拓展io芯片控制,在运行时发现按键改变led光点的动作有些不流畅,可能与sdk任务设计有一定关系,不过没有源码,也就不再分析了。
VID_20221218_141542
|