4351|1

47

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

【行空板 Python编程学习主控板评测二】Mind+图形化编程——数字时钟 [复制链接]

【行空板 Python编程学习主控板评测二】Mind+图形化编程——数字时钟

 

一、Mind+简介

Mind+是一款拥有自主知识产权的国产青少年编程软件,集成各种主流主控板及上百种开源硬件,支持人工智能(AI)与物联网(IoT)功能,既可以拖动图形化积木编程,还可以使用Python/C/C++等高级编程语言,让大家轻松体验创造的乐趣。

Mind+中的Python模式具有如下特点:

二、Mind+准备

从Mind+官网下载最新版本(不低于V1.7.0) http://mindplus.cc

安装教程及如果出现问题可以参考Mind+官方文档: 安装教程

安装完成后即可打开Mind+。点击切换到Python模式,即可进入Python模式界面。

主界面如下:

图1 Mind+下的Python模式主界面图

①菜单栏:

项目:对整个项目文件sb3的操作(包括其他模式),包括新建、打开、另存、最近编辑、缓存列表。

教程:包含官方文档、官方论坛、视频教程、示例程序。

②编辑模式切换:

模块:Python的图形化编程界面。

代码:Python的代码编程界面。

③积木选择区:所有图形化积木或已加载的扩展库中的图形化积木均出现在此处,可拖动到积木编辑区,从积木编辑区拖动积木到此区域则为删除。

④扩展库:非常用的功能,例如海龟绘图等图形化积木功能可以从扩展库中加载,扩展库中有官方库及用户库(开发中,后续版本开放),官方库为Mind+官方内置于软件中的扩展库,用户库为第三方用户开发的图形化扩展库。

⑤积木编辑区:此处进行图形化编程,积木需要连接到Python主程序开始或其他帽子型积木后方才会被执行,此处的积木拖动到③积木选择区则为删除积木。

⑥快捷工具区:

运行按钮:当打开的文件为py文件时,点击可以运行py文件,运行时点击可以停止运行。

代码区开关:可以隐藏或显示代码区和终端区,以获取更大的编程区域。

⑦自动生成代码区:此处会自动根据积木区的积木程序自动 生成对应的Python代码,程序实际上运行的是这里的Python代码,如果需要编辑可以复制到代码模式编辑。

⑧终端信息输出区:Python运行的输出信息、错误信息、REPL交互等操作。

三、Mind+对行空板编程

Mind+从V1.7.2 RC3.0版本开始加入对行空板的支持,使用Mind+对行空板编程的优点:

1、使用指南

2、行空板Python库安装。

行空板出厂系统内置了Python及很多常见库,也可以安装更多其他Python库,本文讲述使用Mind+安装库的操作方法。

连接WiFi

常规通过网络安装第三方库时需要行空板连接网络,因此首先需要保证行空板连接了具有网络功能的WiFi。

图2 行空板无线连接界面图

安装库

打开Mind+,连接行空板,切换到代码标签页,点击库管理,此时库管理页面左上角显示行空板logo,说明此处显示的是行空板的库管理。

图3 行空板安装库操作示意图

更新库

行空板联网后,打开库管理,切换到PIP模式,输入pip install -U 要更新的库名字回车等待运行完成即可更新指定库到最新版本,见图4。例如:

图4 行空板python库更新操作界面示意图

加载行空板库

在图1中选择,出现如下界面,选择行空板即可加载库,如图5所示。便可使用行空板专用功能模块,如图6所示。至此,我们就可以在MInd+环境下进行图形化编程与开发。

图5 mind+环境加载行空板库操作界面示意图

图6 mind+环境下行空板积木模块示意图

四、亲手做个数字时钟

1、预备知识

利用行空板显示一个模拟时钟和一个数字时钟,要用到行空板图像化编程中的时钟显示、仿数码管显示、文字显示、控制等积木,同时还要使用python时间函数、分别是获取本地时间函数time localtime()、获取当前时间戳函数time.time()和时间戳格式转换函数time.strftime(),time.strftime()中时间格式字符如下:

为了能够显示时间段名称,如上午、下午等,需采用24小时制,为了凝固显示中文星期名称,我们建立了一个字典,通过关键字进行转换,如下图

2、图形化编程

各积木名称及参数设置说明如下。

模拟时钟、数字时钟、日期显示部分如下图:

时间段计算如下图所示:

时间更新如下图:

完整的程序代码如下:

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



# MindPlus

# Python

from unihiker import GUI

import time



u_gui=GUI()

time.sleep(0.1)

week_c = {"Mon": "星期一","Tues":"星期二","Wed":"星期三","Thur":"星期四","Fri":"星期五","Sat":"星期六","Sun":"星期日"}

label=u_gui.draw_text(text="数字时钟",x=70,y=10,font_size=20, color="#FF0000")

clock=u_gui.fill_clock(x=120,y=130,r=60,color="#000000",fill="#99FFFF")

date1=u_gui.draw_text(text="日期:",x=10,y=200,font_size=16, color="#CC33CC")

date_l = time.strftime("%Y年%m月%d日",time.localtime(time.time()))

week_k = time.strftime("%a",time.localtime(time.time()))

week_n = (week_c[week_k])

date2=u_gui.draw_text(text=date_l,x=70,y=200,font_size=16, color="#FF9966")

wekk_1=u_gui.draw_text(text=week_n,x=80,y=230,font_size=16, color="#0000FF")

label1=u_gui.draw_text(text="上午:",x=5,y=260,font_size=16, color="#FF0000")

alarm_h=u_gui.draw_digit(text="00",x=55,y=270,font_size=16, color="#0000FF")

label=u_gui.draw_text(text="点",x=85,y=260,font_size=16, color="#0000FF")

alarm_m=u_gui.draw_digit(text="00",x=110,y=270,font_size=16, color="#FF6600")

label=u_gui.draw_text(text="分",x=140,y=260,font_size=16, color="#0000FF")

alarm_s=u_gui.draw_digit(text="00",x=165,y=270,font_size=16, color="#660000")

label=u_gui.draw_text(text="秒",x=200,y=260,font_size=16, color="#0000FF")



while True:

    hour = int(time.strftime("%H",time.localtime(time.time())))

    min1 = int(time.strftime("%M",time.localtime(time.time())))

    sec = int(time.strftime("%S",time.localtime(time.time())))

    if (hour > 11):

        if (hour < 7):

            label1.config(text="下午")

        else:

            label1.config(text="晚上")

        hour = (hour - 12)

    else:

        if (hour < 6):

            label1.config(text="凌晨")

        else:

            label1.config(text="上午")

    clock.config(h=hour,m=min1,s=sec)

    alarm_h.config(text=hour)

    alarm_m.config(text=min1)

    alarm_s.config(text=sec)

3、在行空板上的运行结果

通过四、总结

总体上来说,使用mind+对行空开发板进行编程,操作简便,功能强大。特别适合python初学者使用。

此帖出自编程基础论坛

最新回复

看起来很方便     详情 回复 发表于 2022-11-20 11:09
点赞 关注
 

回复
举报

2

帖子

0

TA的资源

一粒金砂(初级)

沙发
 

看起来很方便

 

此帖出自编程基础论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
推荐帖子
IP地址冲突很头痛 问题解决有绝招

本帖最后由 jameswangsynnex 于 2015-3-3 20:01 编辑 当计算机使用过程中出现“计算机探测到IP地址与您的网卡物理地址发生冲突 ...

AVR单片机4个I/O口可以设计出12个按键!!

AVR单片机的I/O口有4个状态(输出0,输出1,内部电阻拉高(输入),高阻态)。如上图所示当IO1为输入(内部电阻拉高)、IO2输出低电平、其 ...

ucosii移植步骤

10693

【社区大讲堂】如何利用WEBENCH快速设计

第一讲 WEBENCH的简介和登陆 1.1 WEBENCH的简介 WEBENCH是美国国家半导体推出的一款功能非常强大的在线设计和仿真工具,可以 ...

求教各位大佬,LT1763这个芯片旁路电容取值的问题

LT1763官方电路里有一个103的旁路电容, 474830 想请教大家这个电容容值可以变化吗?因为手头只有体积比较大的103薄膜电容 ...

请教一下这个原理图,需要将市电220V转DC24V的问题,对安全性和稳定性要求比较高

目前在做一个电网监测项目,电源部分是需要将AC220V转DC24V,因为是装在电网变压器220V输出侧,所以对安全性和稳定性要求比较高 ...

【树莓派Pico测评】-制作红外体温计( I2C接口测试+MLX90614)

本帖最后由 fxyc87 于 2021-2-7 16:46 编辑 我上个贴子发布了如何利用USB进行串口通信, 【树莓派Pico测评】- USB CDC串口 ...

TI嵌入式直播月:深入探究嵌入式产品在工业和汽车中的新应用 第一场今天10:00 直播

TI嵌入式直播月:深入探究嵌入式产品在工业和汽车中的新应用 第一场今天10:00 直播 >>点击进入直播 直播时间: 2 ...

 【2022得捷电子创新设计大赛】 搭建区块链浏览器服务

区块链浏览器将区块链中的数据可视化,并进行实时展示。方便用户以Web页面的方式,获取当前区块链中的信息。方便后期溯源以及查 ...

在全志D1开发板上玩ncnn

# 0x0 工具链变得更好了 距上次在全志d1开发板上玩ncnn,已经过去了5个月 在此期间,ncnn收到perfxlab和腾讯犀牛鸟开源 ...

关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表