0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

行空板入门教程第一课:初识行空板

创客生活 来源:创客生活 作者:创客生活 2022-03-30 16:44 次阅读

行空板是什么?

大家可能在之前都没听说行空板,但你可能听过micro:bit、掌控板亦或者是树莓派。行空板是一款由DFRobot专为Python编程教育而设计的开源硬件,是一块有着树莓派级别性能,如micro:bit一样简单易上手,可以运行完整Python程序的神奇的板子!

下面,让我们来开启行空板之旅的第一节课吧!

任务目标
在行空板屏幕上显示文字和表情。

行空板

知识点
1、认识行空板
2、认识unihiker库
3、学习使用unihiker库书写文字、添加表情的方法
4、学习在行空板屏幕上显示程序效果的方法

材料清单
硬件清单:

行空板Type-C&Micro二合一USB线


行空板x1
Type-C&Micro二合一USB线x1

**软件使用:**Mind+编程软件x1

知识储备
1、什么是行空板
行空板又称UNIHIKER,它是一款国产教学用开源硬件,它自带Linux操作系统和Python环境,还预装了常用的Python库,能够轻松胜任各种编程相关的开发场景,如搭建物联网系统、体验人工智能应用、编写电子游戏、进行科学实验、设计声光互动、开发可穿戴设备等。

同时,行空板作为智能终端设备,其板子本身采用微型计算机架构,集成LCD彩屏、WiFi蓝牙、多种常用传感器和丰富的拓展接口,如下图所示,

行空板接口介绍

2、什么是Mind+
行空板和电脑间,我们可以用USB线这一硬件构建物理连接,但仅仅做到这一步就好比是买来了各式各样的硬件、组装好了电脑,但是没有软件无法使用这些硬件。那么要如何建立这两者之间信息的连接呢?

答案便是Mind+!它为两者架起了虚拟的桥梁,从而实现代码的编写烧录、文件的传输、实时数据流的交互等功能。

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

3、什么是unihiker库
unihiker库是专门为了便于行空板的使用而开发的Python库。我们可以借助unihike库中的GUI类来实现屏幕显示和控制,如显示文字、表情、按钮等,借助其中的Audio类来使用麦克风和外接喇叭,如录制语音,检测环境音量等。

在这里插入图片描述

4、unihiker库GUI类导入方法
当我们使用库unihiker中的GUI类实现功能时,我们需要先导入库中的这个模块并通过实例化类的方式创建一个对象。
from unihiker import GUI # 导入unihiker库GUI模块
gui = GUI() # 实例化GUI类

5、unihiker库GUI类通用知识及功能
(1)坐标系
行空板屏幕分辨率为240 x 320,坐标原点为屏幕左上角,向右为x轴正方向,向下为y轴正方向。为了便于使图形等屏幕元素能够显示在指定位置,编程时我们可以通过设定x和y的坐标来实现。

坐标系

(2)对齐位置origin
行空板屏幕上所有的元素对象我们可称之为控件。我们可通过设定x和y的坐标来确定它在屏幕上的位置,而为了便于确定控件对象自身在内部的相对方位,我们给控件本身设定9个对齐位置点,可以采用东南西北(ESWN)和上下左右(top/bottom/left/right)两种方法标识。

对齐位置

方法一是以绝对的方位(东南西北)作为对齐位置点。

对齐位置点

例如,我们想以控件的北边作为对齐点,使文字“行空板”显示在南边,方位就可以通过“origin=‘n’ ”指令来设置。
gui.draw_text(x = 120,y=160,text=“行空板”, origin=‘n’ )
方法二是以屏幕上相对的方位(上下左右)作为位置点。

相对方位位置点

例如,我们想以控件的顶端作为对齐点,使文字“行空板”显示在底部,方位就可以通过“origin=‘top’ ”指令来设置。
gui.draw_text(x = 120,y=160,text=“行空板”, origin=‘top’ )

6、unihiker库GUI类中的常见方法
GUI类中的方法有很多,我们只使用其中的一部分,在编程时,通过“对象.方法名()”的形式来实现功能。
(1)draw_text()方法显示文字
GUI类中的draw_text()方法可以实现在行空板屏幕上显示文字。
gui.draw_text(x=30, y=88, color=“red”, text=“你”, font_size=20, origin=‘top_left’ ) # 在(30,88)坐标位显示文字“你”,颜色为red,大小为20,对齐方式为左上对齐”
其中,参数x和y分别表示文字所显示的横纵坐标位置,text指代要显示的文字内容,font_size表示字体大小,origin指代对齐位置,默认左上角,color表示相应的字体颜色,这里的各个参数并非必须,仅在需要时添加。同时,在设置字体的颜色时有三种表示方法,如设置红色,
设置RGB值: color = (255,0,0)
设置16进制值: color = “#ff0000”
设置固定颜色: color = “red”

(2)draw_emoji()方法显示表情

Gui类中的draw_emoji()方法可以实现在行空板屏幕上显示表情。
gui.draw_emoji(x=120, y=230, w=100, h=100, emoji=“Wink”, duration=0.1,origin=“center”)
# 在(120,230)坐标位显示内置表情“Wink”,图片切换时间为0.1秒,中心对齐
其中,参数x和y分别表示表情所显示的横纵坐标位置,w和h表示表情的宽度和高度,按照长宽最小边等比例缩放,emoji表示要显示的具体表情名,可以使用内置表情(Angry,Nerve,Peace,Shock,Sleep,
Smile,Sweat,Think,Wink),duration表示图片切换间隔时间,origin表示对齐位置,默认左上角。

动手实践
任务描述1:显示文字和表情
在行空板屏幕上显示文字和表情。

1、硬件搭建
STEP1:通过USB连接线将行空板连接到计算机

USB连接行空板

2、程序编写
在正式编写程序代码之前,我们首先要创建一个项目文件及Python程序文件。

STEP1:创建与保存项目文件
(1)启动Mind+软件,点击右上角的“Python模式”,

Mind+软件选择Python模式

(2)点击左上角“代码”选择编程方式,

选择代码编程方式

之后我们会看到下面这样的屏幕,右侧是文件目录区,左侧分别是代码编写区和终端区。

在这里插入图片描述

(3)完成后,点击左上方项目菜单中的“保存项目”,

在这里插入图片描述

(4)在弹出的界面中选择保存位置,输入文件名“001、初识行空板”,保存类型“Mind+”
Tips:文件名称可自取。

在这里插入图片描述

经过上述四步,我们就成功创建并保存好项目文件啦,但是我们的项目是使用Python语言来实现的,因此,接下来我们还需要在项目文件中再创建Python程序文件。

STEP2:创建与保存Python文件
(1)找到文件目录区域

在这里插入图片描述

(2)新建Python程序文件,命名为“main.py”

在这里插入图片描述

Tips:Python程序文件一定要以“.py”格式结尾才能进行编程,否则无法打开。

(3)打开文件
创建完成后,我们双击“main.py”文件即可对该文件在程序编写区内进行编程,图示如下。

在这里插入图片描述

Step4:程序编写
(1)导入所需功能库
在这个任务中,我们需要使用unihiker库中的GUI模块来在屏幕上显示文字,因此,我们首先需要导入它,代码如下。同时,由于后续在保持程序运行时需要一定的延时,因此,我们还需导入time时间库。
from unihiker import GUI # 导入unihiker库GUI 模块
import time # 导入时间库

(2)实例化GUI类
在使用unihiker库中的GUI模块显示文字和表情前,我们需要先实例化GUI类,来创建一个对象,以便使用该类中的各种方法。
gui = GUI() # 实例化GUI类,创建对象

(3)显示文字
在屏幕上显示文字时,我们可以设定各个文字的坐标位、颜色、内容、字体大小等不同的属性参数,以使效果更佳。
gui.draw_text(x=30, y=88, color=“red”, text=“你”, font_size=20) # 在(30,88)坐标位显示文字“你”,颜色为red,字体大小为20
gui.draw_text(x=60, y=88, color=“orange”, text=“好”, font_size=20,)
gui.draw_text(x=90, y=88, color=“yellow”, text=",", font_size=20)
gui.draw_text(x=120, y=88, color=“green”, text=“行”, font_size=20)
gui.draw_text(x=150, y=88, color=“cyan”, text=“空”, font_size=20)
gui.draw_text(x=180, y=88, color=“blue”, text=“板”, font_size=20)
gui.draw_text(x=210, y=88, color=“purple”, text="!", font_size=20)

gui.draw_text(x=15, y=150, color=(255,105,180), text=“Hello,”, font_size=20)
gui.draw_text(x=95, y=150, color=(0,191,255), text=“UNIHIKER!”, font_size=20)

(4)显示表情
行空板屏幕可显示的表情有很多,这里,我们选择“Wink”将其呈现在文字下方。
gui.draw_emoji(x=120, y=230, w=100, h=100, emoji=“Wink”, duration=0.1,origin=“center”) # 在(120,230)坐标位显示内置表情“Wink”,图片切换时间为0.1秒,中心对齐

(5)保持内容显示
最后,为了能够保持屏幕内容的长久显示,我们使程序处于运行状态。
while True: # 循环
time.sleep(1) # delay1秒

Tips:完整示例程序如下:
from unihiker import GUI # 导入unihiker库GUI 模块
import time # 导入time库

gui = GUI() # 实例化GUI类,创建对象

gui.draw_text(x=30, y=88, color=“red”, text=“你”, font_size=20) # 在(30,88)坐标位显示文字“你”,颜色为red,字体大小为20
gui.draw_text(x=60, y=88, color=“orange”, text=“好”, font_size=20,)
gui.draw_text(x=90, y=88, color=“yellow”, text=",", font_size=20)
gui.draw_text(x=120, y=88, color=“green”, text=“行”, font_size=20)
gui.draw_text(x=150, y=88, color=“cyan”, text=“空”, font_size=20)
gui.draw_text(x=180, y=88, color=“blue”, text=“板”, font_size=20)
gui.draw_text(x=210, y=88, color=“purple”, text="!", font_size=20)

gui.draw_text(x=15, y=150, color=(255,105,180), text=“Hello,”, font_size=20)
gui.draw_text(x=95, y=150, color=(0,191,255), text=“UNIHIKER!”, font_size=20)

gui.draw_emoji(x=120, y=230, w=100, h=100, emoji=“Wink”, duration=0.1,origin=“center”) # 在(120,230)坐标位显示内置表情“Wink”,图片切换时间为0.1秒,中心对齐

while True: # 循环
time.sleep(1) # delay1秒

程序运行
STEP1:远程连接行空板
(1)确认板子处于连接且开机状态

在这里插入图片描述

(2)开启远程连接终端

在这里插入图片描述


在这里插入图片描述

(3)连接行空板

在这里插入图片描述


在这里插入图片描述

Tip1:“远程连接终端”只在开启后可见。
Tip2:“10.1.2.3”为USB直连时的固定IP地址。

STEP2:点击右上方的运行按钮

在这里插入图片描述

STEP3:观察效果
观察行空板,可以看到在屏幕上呈现出“你好,行空板!”以及“Hello,UNIHIKER!”的字样,而在文字下方,则是一个“Wink”的表情。

在这里插入图片描述

挑战自我
1、试一试,用其他表情替换“Wink”,看看效果如何吧!
2、除了上述内容,你还有什么话想向行空板说呢,将它添加到屏幕上吧!

审核编辑:符乾江

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 开源硬件
    +关注

    关注

    8

    文章

    180

    浏览量

    29319
  • DFRobot
    +关注

    关注

    4

    文章

    1155

    浏览量

    9037
收藏 人收藏

    评论

    相关推荐

    星际飞船驾驶舱模拟器、创意数字时钟、智能骑行气象助手

    LED灯带直观展示;另个是“风向标”,利用和云雀气象仪采集风向信息,并通过物联网平台传递给另
    发表于 03-22 10:59

    星际飞船驾驶舱模拟器、创意数字时钟、智能骑行气象助手|DF创客周刊(第75期)

    /Geneva-Digital-Clock/ 智能骑行气象助手与远程风向指示器 这个创客项目来自DF创客社区云天老师之手——包含两个脑洞创意,个是“风速车”,将自行车转变为
    发表于 03-15 11:46

    allegro快速入门教程

    电子发烧友网站提供《allegro快速入门教程.pdf》资料免费下载
    发表于 02-29 09:32 53次下载

    C语言编程入门教程

    电子发烧友网站提供《C语言编程入门教程.rar》资料免费下载
    发表于 11-20 10:23 8次下载
    C语言编程<b class='flag-5'>入门教程</b>

    Android手机新手入门教程

    电子发烧友网站提供《Android手机新手入门教程.doc》资料免费下载
    发表于 10-30 09:33 0次下载
    Android手机新手<b class='flag-5'>入门教程</b>

    为什么程序中会出现指针?

    为什么程序中会出现指针
    发表于 10-10 07:25

    ALIENTEK MiniSTM32开发入门教程

    ALIENTEK MiniSTM32开发入门教程
    发表于 09-27 07:26

    这所知名211高校的校长开学第一课,居然讲的是智能传感器?

    9月13日,校长轩福贞走进“通海讲堂”,以“传感与感知——智能化时代的核心技术”为题,为奉贤校区本科生讲授开学第一课。 图片说明:轩福贞校长讲授开学第一课 轩福贞指出,随着新一轮信息革命浪潮发展
    的头像 发表于 09-19 10:33 228次阅读

    70%家长想给孩子普及AI,腾讯科学小会发布内测版“AI编程第一课

    世界”,荟集科研机构、高等院校、AI业界的科学家,为广大青少年量身定制“AI探索一日之旅”,并启动“AI编程第一课”公益项目内测。 中国科学院科技战略咨询研究院院长潘教峰、清华大学人工智能研究院常务副院长孙茂松、中国科学院计算
    的头像 发表于 08-22 15:22 405次阅读
    70%家长想给孩子普及AI,腾讯科学小会发布内测版“AI编程<b class='flag-5'>第一课</b>”

    【活动驿站】报名开启 | HarmonyOS第一课“营”在暑期系列直播

    ”查看论坛活动帖,了解更多活动详情! 更多推荐 点击下方图片链接,查看更多栏目内容 点击 | 阅读原文 |报名学习 原文标题:【活动驿站】报名开启 | HarmonyOS第一课“营”在暑期系列直播 文章出处:【微信公众号:HarmonyOS开发者】欢迎添加关注!文
    的头像 发表于 08-18 09:10 346次阅读
    【活动驿站】报名开启 | HarmonyOS<b class='flag-5'>第一课</b>“营”在暑期系列直播

    零起步轻松学PLC技术入门教程

    入门教程.
    发表于 07-17 15:46 12次下载

    开鸿第一课 | 哈工大(深圳) 计算机科学与技术学院走进深开鸿

    6月26日,哈尔滨工业大学(深圳)(简称“哈工大(深圳)”)计算机科学与技术学院60名学生来到深开鸿进行“开鸿第一课”的学习与交流。深开鸿工作人员带领学生们 参观了深开鸿展厅,并进行座谈交流,让学生
    的头像 发表于 06-27 18:10 351次阅读
    开鸿<b class='flag-5'>第一课</b> | 哈工大(深圳) 计算机科学与技术学院走进深开鸿

    #define NOP() _nop_() /* 定义指令 */这个指令怎么用的啊?

    #defineNOP() _nop_()/* 定义指令 */ 这个指令怎么用的啊?
    发表于 06-19 07:47

    STM32入门教程资料合集

    STM32入门教程资料合集
    发表于 05-31 18:42

    基于单片机点亮LED灯

    用单片机来点亮LED灯就像用C语言输出“hello world”一样,是入门第一课
    的头像 发表于 05-24 14:25 1517次阅读
    基于单片机点亮LED灯