2022-5-10 12:47:03 [显示全部楼层]
3281浏览
查看: 3281|回复: 4

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

[复制链接]
本帖最后由 rzegkly 于 2022-5-10 14:28 编辑

夏荷蝉鸣,紫薇花开

在这生机盎然、放飞理想的时节

即将完成学业寒窗苦读的学子,制作一个加油标语

祝福金榜题名,考入理想的学府

360截图20220510124908241.jpg


一、知识点

1、认识行空板

2、认识unihiker库

3、学习使用unihiker库书写文字、添加表情的方法

4、学习在行空板屏幕上显示程序效果的方法



二、材料清单


360截图20220510120432091.jpg

1.行空板

行空板是一款专为Python学习和使用设计的新一代国产开源硬件,

采用单板计算机架构,集成LCD彩屏、WiFi蓝牙、多种常用传感器和丰富的拓展接口。

同时,其自带Linux操作系统和Python环境,还预装了常用的Python库,让广大师生只需两步就能进行Python教学

360截图20220510120740834.jpg

2.Mind+


Mind+是一款拥有自主知识产权的国产青少年编程软件,

集成各种主流主控板及上百种开源硬件,

支持人工智能(AI)与物联网(IoT)功能

既可以拖动图形化积木编程,也可以使用Python/C/C++等高级编程语言,让大家轻松体验创造的乐趣。


3.unihiker库


unihiker库是专门为了便于行空板的使用而开发的Python库。

我们可以借助unihike库中的GUI类来实现屏幕显示和控制,如显示文字、表情、按钮等,借助其中的Audio类来使用麦克风和外接喇叭,如录制语音,检测环境音量等。

04.jpg

4.unihiker库GUI类导入方法



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


GUI类通用知识及功能

01.jpg



(1)坐标系





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


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







2)对齐位置origin



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




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

02.jpg



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





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模式”

05.jpg

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

登录成功.jpg

3.新建标语文件00

360截图20220510124510224.jpg

4.双击00.py

360截图20220510124057244.jpg

5.编写代码

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

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

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


6.开启远程连接终端


登录掌控板.jpg

7.连接行空板

360截图20220510110803980.jpg



Mary  高级技师

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

这个项目好棒!!
回复

使用道具 举报

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
这个项目好棒!!

确实                  
回复

使用道具 举报

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

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2022 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail