2022-5-1 12:53:57 [显示全部楼层]
11626浏览
查看: 11626|回复: 10

用行空板做一个微波炉模型

[复制链接]
本帖最后由 hnyzcj 于 2022-5-1 16:08 编辑

【创意起源】
       2022年信息科技新课标中提及:学生在生活场景中能见到大量的具有过程与控制系统的设备。以学生能够理解的身边的例子为载体,让相关思维方式具体地显现在其中。例如,家用微波炉给食物加热的过程可以抽象为:输入指令,设定加热挡位与加热时间,控制电路接收输入指令,计算后生成相应的工作指令……因此本作品制作是为了演示控制系统,便于学生理解控制系统模型。
【作品展示】
图2.jpg
图3.jpg
图1.jpg
【使用的库】
本控制系统程序中使用了的库如下所示
序号
名称
作用
1
time
时间模块
2
unihiker
行空板内置库,对于屏幕显示和控制,在unihiker库中基于tkinter库封装了一个GUI类,对于方便麦克风和usb喇叭的使用,在unihiker库中封装了一个Audio类。
3
pinpong
pinpong库由于支持众多的主控板及开源硬件,因此分成了3个包,board、extension和libs,board包中放置主板支持的功能及常用库,extension为定制类主控,libs中放置其他传感器的扩展库。

【功能简介】
微波炉控制系统模型,应该具备以下功能:
(1)虚拟触摸面板:通过触摸面板进行微波炉控制系统的操控。
(2)设定档位时间:通过触摸面板设置微波炉的工作档位和工作时间。
(3)继电器原理演示:继电器是弱电控制强电设备的常见器件,展示其工作过程。
【相关器材】
序号
名称
数量
1
行空板
1
2
继电器(透明盒盖)
1
3
RGB灯带
1
4
电机+电机转换模块
1
5
M3螺丝
1
6
松木板、亚格利板
若干
1器材列表
【编程环境】
(1)连接设备:行空板可以有多种方法连接方式,USB线、路由器、Wi-Fi、热点模式。我们今天在这里推荐使用USB线连接行空板与电脑。这种方式IP地址固定且网络稳定。使用行空板会虚拟为一个RNDIS网卡设备,此时板子IP地址固定为10.1.2.3,输入板子的IP即可开始编程。
(2)编程环境:行空板编程方式也有多种,我们这里使用的是Jupyter编程方式。连接行空板到电脑,开机完成后打开浏览器,输入IP地址10.1.2.3即可打开主页菜单。选择应用开关,在Jupyter应用中查看运行状态,如果是未运行,则先点击启动服务,等待状态变为正在运行后,点击打开页面可以打开Jupyter后台页面。同理,也需要将SIoT服务启动。

图片4.png
(3)Jupyter打开后,点击New > Python 3(ipykernel)即可创建一个jupyter项目
图片5.png
(4)输入代码后,点击运行即可查看结果
图片6.png
【电路连线】
本次作品除了行空板外,还使用了RGB灯带、继电器、电机,其中RGB灯带用来模拟档位控制,分别以不同颜色代表不同的档位(红色—3档,蓝色—2档,绿色—1档),其接线在24口;继电器用来模拟控制磁控管,其接线在21口;电机用来带动转盘转动,其接线在23口上。
【编写程序】
本作品中我们将行空板的屏幕作为控制系统的输入操控界面,因此需要通过编程定义标题文字、边框、填充、按钮、数字文字等各类控件,具体工作如下所示。
图片7.png
  1. <font size="4">(1)导入相关库
  2. import time
  3. from pinpong.board import Board,Pin,Servo,NeoPixel
  4. from pinpong.extension.unihiker import *
  5. from unihiker import GUI   #导入包</font>
复制代码
  1. <font size="4">(2)UI界面及档位、时间变量设计,其中UI界面中使用了标题文字、边框、填充、按钮、数字文字等各类控件,具体设置如
  2. gui=GUI()  #实例化GUI类
  3. v=0                 #定义为微波炉档位
  4. t=0                 #定义为微波炉时间</font>
复制代码
  1. <font size="4">#标题
  2. info_text = gui.draw_text(x=120, y=50, text='微波炉控制系统',origin='bottom',font_size=20,)

  3. #+-按钮
  4. but1=gui.add_button(x=210, y=90, w=30, h=30, text="+", origin='bottom', onclick=but1_on_click)
  5. but2=gui.add_button(x=210, y=150, w=30, h=30, text="-", origin='bottom', onclick=but2_on_click)
  6. but3=gui.add_button(x=210, y=205, w=30, h=30, text="+", origin='bottom', onclick=but3_on_click)
  7. but4=gui.add_button(x=210, y=262, w=30, h=30, text="-", origin='bottom', onclick=but4_on_click)</font>
复制代码
  1. <font size="4">NEOPIXEL_PIN = Pin.P24
  2. PIXELS_NUM = 7 #灯数
  3. Board("UNIHIKER").begin()  #初始化,选择板型,不输入板型则进行自动识别
  4. np = NeoPixel(Pin(NEOPIXEL_PIN), PIXELS_NUM)
  5. noc = Pin(Pin.P21, Pin.OUT) #继电器引脚初始化为输出
  6. mot =Pin(Pin.P23,Pin.OUT) #电机引脚初始化输出
  7. while True:
  8.     but5=gui.add_button(x=120, y=310, w=100, h=30, text="开始", origin='bottom', onclick=but5_onclick)  
  9. time.sleep(0.5)      </font>
复制代码
【设计结构】
为了实现模拟微波炉箱体,我们在LaserMaker中设计了一个盒体结构。该结构中包含了一个隔板,隔板将微波炉分为两部分,一部分电路控制区,一部分模拟加热区,具体结构设计如下所示。
图片8.png
图片9.png
图片10.png
图片11.png
图片13.png
图片12.png
图片14.png
【设备安装】
1)用螺丝按孔位将行空板固定在行空板固定板上。
图15.jpg
图16.jpg
图17.jpg
图18.jpg
图19.jpg
图20.jpg
图21.jpg
图22.jpg
图23.jpg
图24.jpg
图25.jpg
图26.jpg
图27.jpg
图28.jpg
图29.jpg
【运行测试】
图片30.png 图片32.png

 初级技匠

发表于 2022-5-6 10:30:56

这个真的可以用?
回复

使用道具 举报

hnyzcj  版主
 楼主|

发表于 2022-5-6 10:50:53

诩 发表于 2022-5-6 10:30
这个真的可以用?

不可以,
回复

使用道具 举报

 初级技匠

发表于 2022-5-6 11:24:04


哦哦,我看视频
一顿操作猛如虎
回复

使用道具 举报

hnyzcj  版主
 楼主|

发表于 2022-5-6 14:03:51

+模型
回复

使用道具 举报

rzegkly  版主

发表于 2022-5-10 12:50:42

喜欢
回复

使用道具 举报

水晶  初级技师

发表于 2022-5-10 16:07:40

66666666666666
回复

使用道具 举报

春秋大仙  高级技师

发表于 2022-5-19 19:40:31

合金弹头就是强啊
回复

使用道具 举报

hnyzcj  版主
 楼主|

发表于 2022-5-20 10:29:33


大仙更牛
回复

使用道具 举报

盐焗海盐  见习技师

发表于 2022-5-21 13:10:38

666666666666666666666
回复

使用道具 举报

派大星ym  高级技师

发表于 2022-8-1 13:42:05

简直一模一样
回复

使用道具 举报

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

本版积分规则

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

硬件清单

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

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

mail