rzegkly 发表于 2022-5-10 12:47:03

【行空板】2022高考加油标语牌

本帖最后由 rzegkly 于 2022-5-10 14:28 编辑

夏荷蝉鸣,紫薇花开
在这生机盎然、放飞理想的时节
为即将完成学业寒窗苦读的学子,制作一个加油标语
祝福金榜题名,考入理想的学府



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


二、材料清单


1.行空板
行空板是一款专为Python学习和使用设计的新一代国产开源硬件,
采用单板计算机架构,集成LCD彩屏、WiFi蓝牙、多种常用传感器和丰富的拓展接口。
同时,其自带Linux操作系统和Python环境,还预装了常用的Python库,让广大师生只需两步就能进行Python教学

2.Mind+

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

3.unihiker库

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

4.unihiker库GUI类导入方法


当我们使用库unihiker中的GUI类实现功能时,我们需要先导入库中的这个模块并通过实例化类的方式创建一个对象。

GUI类通用知识及功能



(1)坐标系




行空板屏幕分辨率为240 x 320,坐标原点为屏幕左上角,向右为x轴正方向,向下为y轴正方向。

为了便于使图形等屏幕元素能够显示在指定位置,编程时我们可以通过设定x和y的坐标来实现






2)对齐位置origin


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



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



方法二是以屏幕上相对的方位(上下左右)作为位置点。




GUI类使用方法:“对象.方法名()”的形式来实现功能。


draw_text()方法显示文字


GUI类中的draw_text()方法可以实现在行空板屏幕上显示文字。
其中,参数x和y分别表示文字所显示的横纵坐标位置,text指代要显示的文字内容,font_size表示字体大小,origin指代对齐位置,默认左上角,color表示相应的字体颜色,这里的各个参数并非必须,仅在需要时添加。同时,在设置字体的颜色时有三种表示方法,如设置红色,



[*]设置RGB值:color = (255,0,0)
[*]设置16进制值:color = “#ff0000”
[*]设置固定颜色:color = “red”


三、动手实践


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

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

3.新建标语文件00

4.双击00.py

5.编写代码
from unihiker import GUI # 导入unihiker库GUI模块
import time
gui = GUI() # 实例化GUI类
gui.draw_text(x=10, y=48, color="red", text="二", font_size=20) # 在(30,88)坐标位显示文字“你”,颜色为red,字体大小为20
gui.draw_text(x=40, y=48, color="orange", text="高", font_size=20,)
gui.draw_text(x=70, y=48, color="yellow", text="加", font_size=20)
gui.draw_text(x=100, y=48, color="green", text="油", font_size=20)
gui.draw_text(x=100, y=88, color="red", text="高", font_size=20)
gui.draw_text(x=130, y=88, color="blue", text="考", font_size=20)
gui.draw_text(x=160, y=88, color="red", text="必", font_size=20)
gui.draw_text(x=190, y=88, color="blue", text="胜", font_size=20)

gui.draw_text(x=60, y=128, color="blue", text="2", font_size=20)
gui.draw_text(x=90, y=128, color="red", text="0", font_size=20)
gui.draw_text(x=120, y=128, color="blue", text="2", font_size=20)
gui.draw_text(x=150, y=128, color="blue", text="2", font_size=20)

gui.draw_text(x=30, y=188, color="red", text="你", font_size=20) # 在(30,88)坐标位显示文字“你”,颜色为red,字体大小为20
gui.draw_text(x=60, y=188, color="orange", text="好", font_size=20,)
gui.draw_text(x=90, y=188, color="yellow", text=",", font_size=20)
gui.draw_text(x=120, y=188, color="green", text="行", font_size=20)
gui.draw_text(x=150, y=188, color="red", text="空", font_size=20)
gui.draw_text(x=180, y=188, color="blue", text="板", font_size=20)
gui.draw_text(x=210, y=188, color="purple", text="!", font_size=20)
gui.draw_text(x=15, y=250, color=(255,105,180), text="Hello,", font_size=20)
gui.draw_text(x=95, y=250, color=(0,191,255), text="UNIHIKER!", font_size=20)
while True:# 循环
    time.sleep(10)# delay1秒

6.开启远程连接终端


7.连接行空板



Mary 发表于 2022-5-11 15:52:06

这个项目好棒!!{:6_209:}

rzegkly 发表于 2022-5-12 07:39:13

Mary 发表于 2022-5-11 15:52
这个项目好棒!!

谢谢

小企鹅 发表于 2022-6-25 07:53:41

厉害厉害

发表于 2022-8-18 12:09:30

Mary 发表于 2022-5-11 15:52
这个项目好棒!!

确实                  
页: [1]
查看完整版本: 【行空板】2022高考加油标语牌