[分享] 【行空板 Python编程学习主控板】 二、上电及Mind+ 图形化点灯及音乐时钟运行评测

kit7828   2022-11-3 18:41 楼主

一、上电

行空板是通过Type-C线连接到电脑后上电的,上x电后,需要等待一会,依次出现字符界面的Linux运行记录

image.png  而后,停留在行空板的初始主界面,即等待Home按键的界面

image.png  按下Home 按键后出现主菜单界面

image.png  此时,可以使用触摸,以及通过按键A、B切换菜单。

测试了应用程序下的屏幕校准

image.png  

二、Mind+开始第一个图形化例程

测试运行Mind+图形化编程,需要连接硬件

image.png  然后,在扩展这里增加行空板的支持,可参考本人上一篇评测帖子-开箱贴 https://bbs.eeworld.com.cn/thread-1223052-1-1.html

image.png  在Mind+的图形编程界面,通过拖拉组件,更改字符、数字等,多次修改后,完成本次评测的图形工程

image.png  连接行空板后,只需要点击右侧的运行按钮就可以看到效果了

image.png  具体运行效果

image.png  对于不熟悉Pathon代码的人来说,仅仅1-2小时左右完成这样的界面,的确要归功于图形化编程的魅力。(感觉可以脱离具体编程语言的限制,非常奈斯)

三、代码及运行log

后台自动生成Pathon代码以及运行过程中的log信息

image.png  具体的代码为

#  -*- coding: UTF-8 -*-

# MindPlus
# Python
from pinpong.extension.unihiker import *
from pinpong.board import Board,Pin
from unihiker import GUI
import time

# 事件回调函数
def on_buttona_click_callback():
    buzzer.play(buzzer.ENTERTAINER,buzzer.Once)
    p_p25_out=Pin(Pin.P25, Pin.OUT)
    p_p25_out.write_digital(1)
    time.sleep(1)
    p_p25_out=Pin(Pin.P25, Pin.OUT)
    p_p25_out.write_digital(0)


u_gui=GUI()
Board().begin()
u_gui.on_a_click(on_buttona_click_callback)
Hour = 10
Min = 0
Sec = 0
u_gui.draw_text(text="你好,行空板",x=40,y=20,font_size=20, color="#0000FF")
u_gui.draw_text(text="By Kit7828",x=110,y=52,font_size=12, color="#0000FF")
clock=u_gui.draw_clock(x=120,y=200,r=50,color="#FF0000")

while True:
    clock.config(h=Hour,m=Min,s=Sec)
    time.sleep(1)
    Sec = (Sec + 1)
    if (Sec > 59):
        Sec = 0
        Min = (Min + 1)
        if (Min > 59):
            Min = 0
            Hour = (Hour + 1)
            if (Hour > 23):
                Hour = 0

运行过程中的log信息


root@unihiker:~/mindplus/cache 项目1、点灯及时钟显示正在上传中,请稍后...
项目上传成功,开始运行
root@unihiker:~/mindplus/cache/1、点灯及时钟显示# access control disabled, clients can connect from any host
root@unihiker:~/mindplus/cache/1、点灯及时钟显示# cd "/root/mindplus/cache/1、点灯及时钟显示"
root@unihiker:~/mindplus/cache/1、点灯及时钟显示# python /root/mindplus/cache/1 、点灯及时钟显示/.cache-file.py

  ___________________________
 |                           |
 |      PinPong v0.4.9       |
 |    Designed by DFRobot    |
 |___________________________|
 
[01] Python3.7.3 Linux-4.4.143-67-rockchip-g01bbbc5d1312-aarch64-with-debian-10.11 Board: UNIHIKER
selected -> board: UNIHIKER serial: /dev/ttyS3
[10] Opening /dev/ttyS3
[32] Firmata ID: 3.3
[22] Arduino compatible device found and connected to /dev/ttyS3
[40] Retrieving analog map...
[42] Auto-discovery complete. Found 30 Digital Pins and 30 Analog Pins
------------------------------
All right. PinPong go...
------------------------------

四、视频

按键点灯、播放音乐的效果参考下面视频

行空板点灯播放音乐及时钟

五、总结

图形化编程的魅力,确实很强,不需要熟悉具体编程语言的风格,代码规范等等,不用敲代码,只需要关注逻辑就可以,而且快速、便捷。

需要吐槽的是中间经常发送运行时的错误,主要是经常检测不到行空板上的版本信息导致,中间插拔数据线多次,检测到版本后就正常运行了。

六、建议

对于时钟类的应用,个人觉得公司应该提供定时器等这样的图形化组件,用于精确定时,通过纯软件的定时,应该是达不到精确的要求的,另外,对于线程间的数据通信和交互,没找到合适的组件,也没找到合适的参考帖子,或许是查找的范围不够吧。

本帖最后由 kit7828 于 2022-11-3 18:44 编辑

回复评论 (4)

对于不熟悉Pathon代码的人来说,仅仅1-2小时左右完成这样的界面,的确要归功于图形化编程的魅力,确实是这样

点赞  2022-11-5 09:46

不错。我用esp32整个时钟折腾得吐了。

点赞  2022-11-5 17:53
引用: damiaa 发表于 2022-11-5 17:53 不错。我用esp32整个时钟折腾得吐了。

感觉图形化编程是趋势

点赞  2022-11-7 11:22
引用: Jacktang 发表于 2022-11-5 09:46 对于不熟悉Pathon代码的人来说,仅仅1-2小时左右完成这样的界面,的确要归功于图形化编程的魅力,确实是这 ...

感谢大佬的鼓励

点赞  2022-11-7 11:22
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复