蘑菇云【行空刷Python入门教程】第三课:多功能提醒器
2023-03-06 12:16:29
GUI类里的fill_rect()工具可以解决问题在行空铁片画面上标示出一个装入圆形。
gui.fill_rect(x=75, y=30, w=90, h=30, color="#00ff00") # 标示出第一个装入圆形
gui.fill_rect(x=75, y=70, w=90, h=30, color="#00ff00") # 标示出第二个装入圆形
其里,参总共x和y分别声称装入圆形所在的斜向纵坐标右方,w和h声称装入圆形的窄和高度,color对应要装入的颜色。
(2)fill_clock()工具标示出装入瞬时
GUI类里的fill_clock()工具可以解决问题在行空铁片画面上标示出一个装入瞬时。
clock = gui.fill_clock(x=120, y=230, r=60, h=3, m=4, s=5, color=(255, 255, 255), fill="#57b5ff")# 标示出装入瞬时
其里,参总共x和y分别声称装入瞬时所在的斜向纵坐标右方,r声称要装入瞬时的截面积,h、m、s分别声称初始时瞬时的时针分针和秒针标示出的计算,color声称边框颜色,fill声称装入颜色,同color一样也有三种多种不同的主角工具。
(3)start_thread()工具开启调用
GUI类里的start_thread()工具可以开启一条取而代之调用。
clock_thread = gui.start_thread(clock_update) # 激活调用
其里,“clock_thread”指的是调用都可,“clock_update”指的是要激活的调用变总共。
6、Unihiker奎Audio类sound_level()工具检查周边环境韵量
Unihiker奎Audio类的sound_level()工具可以检查铁片子的周边环境韵量,在适用前,我们必需要先整合奎里的这个模块立体化并通过模板立体化类的方式创建者一个都可,此后,通过“都可.工具名()”的基本来解决问题特性。
from unihiker import Audio # 整合unihiker奎里的Audio模块立体化
audio = Audio() # 模板立体化韵频
Sound = audio.sound_level() # 检查周边环境韵量个总共,将计算打印到变总共Sound里
其里,“Sound”是创建者的一个变总共,用来打印检查到的周边环境韵量。
7、Datetime奎里的常见变总共
Datetime奎是一个可以处理日期时长的Python移动设备奎,其datetime模块立体化下的now()变总共可以受益系统会本地时长,适用前,必需要先整合它。
from datetime import datetime # 整合datetime奎datetime模块立体化
now_time = datetime.now().strftime('%H:%M') # 受益理论上时长(傍晚)
其里,“strftime('%H:%M') ”变总共可以将时长格式类比为字符串,这里的H和M分别声称小时和分钟。
8、Time奎里的常见变总共
Time奎的localtime()变总共可以格式立体化时长撕为本地的时长,适用前必需要先整合该奎。
import time # 整合time奎
t = time.localtime() # 格式立体化时长撕为本地时长
clock.config(h=time.strftime("%H", t), m=time.strftime("%M", t), s=time.strftime("%S", t)) # 预览标示出瞬时
其里,“time.strftime("%H", t)”声称来到字符串声称的理论上时长的小时总共,“time.strftime("%M", t)”则是理论上时长的分钟总共,“time.strftime("%S", t)”则是理论上时长的秒钟总共。
Tips:Datetime和Time奎皆有受益时长的特性,但两者展现的基本多种不同,这里我们不作详细讨论。
动手实践
任务所述1:检查周边环境韵量
将通过耳机检查到的周边环境韵量值展现在画面上。
1、应用程序摆设
STEP1:通过USB通往线将行空铁片通往到计算机
2、程序在撰写
STEP1:创建者与复原这两项元总共据
激活Mind+,另存这两项并命名为“003、多特性警告器”。
STEP2:创建者与复原Python元总共据
创建者一个Python程序在元总共据“main1.py”,工具栏推入。
STEP3:整合平面图片
在这两项配置元总共据里整合背景平面图。(平面图片与程序在元总共据同在这两项配置元总共据里)(平面图片下载链接见红皮书1)
STEP4:程序在撰写
(1) 整合所需要特性奎
在这个任务里,我们必需要适用unihiker奎里的GUI模块立体化来在画面上标示出手写等,以及Audio模块立体化来检查周边环境韵量,因此,我们首先必需要整合它,代码如下。同时,由于近期在程序在调试里时必需要设为一定的高频谱,因此,我们还需要整合time时长奎。
# 检查周边环境韵量个总共,一个单位:总和
from unihiker import GUI , Audio # 整合unihiker奎里的GUI、Audio模块立体化
import time # 整合time奎
(2) 模板立体化GUI类
在适用unihiker奎里的GUI模块立体化和Audio模块立体化前,我们必需要先模板立体化GUI类和Audio类,来创建者一个都可,以便适用该类里的各种工具。
gui = GUI() # 模板立体化GUI类,创建者gui都可
audio = Audio() # 模板立体化韵频
(3) 标示出背景平面图
在创建者gui都可后,我们可以在行空铁片的画面上标示出一张背景平面图。
# 标示出背景平面图
img = gui.draw_image(x=0,y=0,w=240, h=320, image='background.png') # 标示出背景平面图
(4) 标示出装入圆形
接着,我们可以在行空铁片的画面上标示出两个隙装入色的圆形。
# 标示出装入圆形
gui.fill_rect(x=75, y=30, w=90, h=30, color="#00ff00") # 标示出第一个装入圆形
gui.fill_rect(x=75, y=70, w=90, h=30, color="#00ff00") # 标示出第二个装入圆形
(5) 标示出周边环境韵量值
此后,我们可以在圆形上书写手写,标示出出初始的周边环境韵量。
# 标示出手写
text1 = gui.draw_text(x=120, y=30, text='周边环境韵量:', origin = 'top') # 标示出手写“周边环境韵量:”
text_sound = gui.draw_text(x=120, y=70,text='', font_size=15, origin = 'top') # 标示出初始周边环境韵量
(6) 标示出神情
同时,我们可以在周边环境韵量值下方添加一个神情。
# 标示出神情
emj1 = gui.draw_emoji(x=82, y=90, w=100,
h=100,emoji="Smile", duration=0.1) # 标示出初始神情
(7) 重复检查周边环境韵
之前,我们不间断0.1秒检查并预览一次周边环境韵量值。
while True :
Sound = audio.sound_level() # 检查周边环境韵量个总共,将计算打印到变总共Sound里
text_sound.config(text = Sound) # 预览画面上周边环境韵量的标示出
time.sleep(0.1) # delay 0.1 秒
Tips:清晰比如说程序在如下:
微微滚动阅览室
# 检查周边环境韵量个总共,一个单位:总和
from unihiker import GUI , Audio # 整合unihiker奎里的GUI、Audio模块立体化
import time # 整合time奎
gui = GUI() # 模板立体化GUI类,创建者gui都可
audio = Audio() # 模板立体化韵频
print("周边环境韵个总共")
# 标示出背景平面图
img = gui.draw_image(x=0,y=0,w=240, h=320, image='background.png') # 标示出背景平面图
# 标示出装入圆形
gui.fill_rect(x=75, y=30, w=90, h=30, color="#00ff00") # 标示出第一个装入圆形
gui.fill_rect(x=75, y=70, w=90, h=30, color="#00ff00") # 标示出第二个装入圆形
# 标示出手写
text1 = gui.draw_text(x=120, y=30, text='周边环境韵量:', origin = 'top') # 标示出手写“周边环境韵量:”
text_sound = gui.draw_text(x=120, y=70, text='', font_size=15, origin = 'top') # 标示出初始周边环境韵量
# 标示出神情
emj1 = gui.draw_emoji(x=82, y=90, w=100, h=100, emoji="Smile", duration=0.1) # 标示出初始神情
while True :
Sound = audio.sound_level() # 检查周边环境韵量个总共,将计算打印到变总共Sound里
text_sound.config(text = Sound) # 预览画面上周边环境韵量的标示出
time.sleep(0.1) # delay 0.1 秒
3、程序在调试
STEP1:远程通往行空铁片
STEP2:点击右上方的调试按钮
STEP3:掩蔽效果
掩蔽行空铁片,可以见到初始时周边环境韵量值为0,并且画面上伴有一个笑脸的神情,此时,我们对着行空铁片的耳机无风拼命(或多或少制造噪韵),可以挖掘出韵量值就会增大。
行空铁片-周边环境韵量变立体化 行空铁片-周边环境韵量变立体化任务所述2:添加相应警告
在解决问题实时检查韵量后,我们再次添加相应警告特性,主角一个噪韵值,当韵量有约该值时,使发话发表意见开展警告,并切换神情为恐惧。
1、程序在撰写
STEP1:创建者与复原这两项元总共据
复建一个Python程序在元总共据“main2.py”,工具栏推入。
Step2:程序在撰写
(1)Pinpong奎发话特性主角
这里,我们必需要适用铁片载的发话,因此在整合奎时我们必需要补充整合Pinpong奎里的Board、Pin、Tone三个模块立体化并调用行空铁片,同时,我们还必需要模板立体化Tone类并主角发话发表意见频谱。
from pinpong.board import Board,Pin,Tone # 从pinpong.board包里整合Board,Pin,Tone模块立体化
Board().begin() # 调用,为了让铁片型和端口号,不输入则开展自动识别
tone = Tone(Pin(Pin.P26)) # 将Pin传布Tone里解决问题模拟输出
tone.freq(200) # 按照设为的频谱200播出
(2)添加相应警告
接下来,我们将在不间断0.1秒检查一次周边环境韵量的基础上添加条件判断,使韵量有约50的值后,画面神情切换至恐惧,并且发话发表意见1.5秒。
while True :
Sound = audio.sound_level() # 检查周边环境韵量个总共,将计算打印到变总共Sound里
text_sound.config(text = Sound) # 预览画面上周边环境韵量的标示出
time.sleep(0.1) # delay 0.1 秒
if Sound> 50: # 如果 周边环境韵量> 50
emj1.config(emoji= "Angry") # config“Angry”神情
tone.on() # 推入发话
time.sleep(1.5) # 高频谱1.5秒
tone.off() # 停止适用发话
time.sleep(0.5) # 高频谱0.5秒
emj1.config(emoji= "Smile") # config“Smile”神情
Tips:清晰比如说程序在如下:
微微滚动阅览室
from unihiker import GUI , Audio # 整合unihiker奎里的GUI、Audio模块立体化
import time # 整合time奎
from pinpong.board import Board,Pin,Tone # 从pinpong.board包里整合Board,Pin,Tone模块立体化
Board().begin() # 调用,为了让铁片型和端口号,不输入则开展自动识别
tone = Tone(Pin(Pin.P26)) # 将Pin传布Tone里解决问题模拟输出
tone.freq(200) # 按照设为的频谱200播出
gui = GUI() # 模板立体化GUI类,创建者gui都可
audio = Audio() # 模板立体化韵频
print("周边环境韵个总共")
# 标示出背景平面图
img = gui.draw_image(x=0,y=0,w=240, h=320, image='background.png') # 标示出背景平面图
# 标示出装入圆形
gui.fill_rect(x=75, y=30, w=90, h=30, color="#00ff00") # 标示出第一个装入圆形
gui.fill_rect(x=75, y=70, w=90, h=30, color="#00ff00") # 标示出第二个装入圆形
# 标示出手写
text1 = gui.draw_text(x=120, y=30, text='周边环境韵量:', origin = 'top') # 标示出手写“周边环境韵量:”
text_sound = gui.draw_text(x=120, y=70, text='', font_size=15, origin = 'top') # 标示出初始周边环境韵量
# 标示出神情
emj1 = gui.draw_emoji(x=82, y=90, w=100, h=100, emoji="Smile", duration=0.1) # 标示出初始神情
while True :
Sound = audio.sound_level() # 检查周边环境韵量个总共,将计算打印到变总共Sound里
text_sound.config(text = Sound) # 预览画面上周边环境韵量的标示出
time.sleep(0.1) # delay 0.1 秒
if Sound> 50: # 如果 周边环境韵量> 50
emj1.config(emoji= "Angry") # config“Angry”神情
tone.on() # 推入发话
time.sleep(1.5) # 高频谱1.5秒
tone.off() # 停止适用发话
time.sleep(0.5) # 高频谱0.5秒
emj1.config(emoji= "Smile") # config“Smile”神情
2、程序在调试
STEP1:远程通往行空铁片
STEP2:调试程序在并掩蔽效果
点击调试后,掩蔽行空铁片,可以见到初始时周边环境韵量值为0,画面上的神情为“Smile”,此时,对着行空铁片的耳机无风拼命(或多或少制造噪韵),可以挖掘出韵量值就会增大,有约主角的50 的噪韵值后,行空铁片画面的小神情就会改以恐惧,同时发话鸣声1.5秒。
行空铁片周边环境韵量变立体化 行空铁片周边环境韵量变立体化任务所述3:添加窗边特性
接下来,我们将在噪韵警告的基础上再次添加窗边特性,在画面上标示出瞬时,当到达主角的时长后,使发话发表意见开展警告。
1、程序在撰写
STEP1:创建者与复原这两项元总共据
复建一个Python程序在元总共据“main3.py”,工具栏推入。
Step2:程序在撰写
(1)整合所需要特性奎
由于必需要检查系统会时长,因此,我们需要补充整合datetime奎以便在近期适用。
import datetime # 整合datetime奎
(2)标示出装入瞬时
在画面的初始神情下方,我们自订标示出一个瞬时。
# 标示出装入瞬时
clock = gui.fill_clock(x=120, y=230, r=60, h=3, m=4, s=5, color=(255, 255, 255), fill="#57b5ff")
(3)定义预览瞬时变总共
为了使瞬时需要要与真实时长保持一致,我们必需要定义一个预览瞬时标示出的特性变总共,并在其里主角超过指定时长后,发话发表意见警告。Tips:这里的时长可自行改回。
def clock_update():
print("thread1 start")
while True: # 重复制订
t = time.localtime() # 格式立体化时长撕为本地时长
clock.config(h=time.strftime("%H", t), m=time.strftime("%M", t), s=time.strftime("%S", t)) # 预览标示出瞬时
time.sleep(1)
now_time = datetime.datetime.now().strftime('%H:%M') # 受益理论上时长(傍晚)
print(now_time)
if now_time == '18:00': # 如果理论上时长为晚间6点(可自行改回)
tone.on() # 推入发话
time.sleep(1.5) # 高频谱1.5秒
tone.off() # 停止适用发话
time.sleep(0.5) # 高频谱0.5秒
print("thread1 end")
(4)激活预览瞬时的调用
由于周边环境韵量与时长皆必需要实时预览,因此,我们将预览瞬时的特性作为一个取而代之调用,原则上激活。
# 调用1激活
clock_thread = gui.start_thread(clock_update)
Tips:清晰比如说程序在如下:
微微滚动阅览室
from unihiker import GUI , Audio # 整合unihiker奎里的GUI、Audio模块立体化
import time # 整合time奎
from datetime import datetime # 整合datetime奎datetime模块立体化
from pinpong.board import Board,Pin,Tone # 从pinpong.board包里整合Board,Pin,Tone模块立体化
Board().begin() # 调用,为了让铁片型和端口号,不输入则开展自动识别
tone = Tone(Pin(Pin.P26)) # 将Pin传布Tone里解决问题模拟输出
tone.freq(200) # 按照设为的频谱200播出
gui = GUI() # 模板立体化GUI类,创建者gui都可
audio = Audio() # 模板立体化韵频
print("周边环境韵个总共")
# 标示出背景平面图
img = gui.draw_image(x=0,y=0,w=240, h=320, image='background.png') # 标示出初始背景平面图
# 标示出装入圆形
gui.fill_rect(x=75, y=30, w=90, h=30, color="#00ff00") # 标示出第一个装入圆形
gui.fill_rect(x=75, y=70, w=90, h=30, color="#00ff00") # 标示出第二个装入圆形
# 标示出手写
text1 = gui.draw_text(x=120, y=30, text='周边环境韵量:', origin = 'top') # 标示出手写“周边环境韵量:”
text_sound = gui.draw_text(x=120, y=70, text='', font_size=15, origin = 'top') # 标示出初始周边环境韵量
# 标示出神情
emj1 = gui.draw_emoji(x=82, y=90, w=100,h=100, emoji="Smile", duration=0.1) # 标示出初始神情
# 标示出装入瞬时
clock = gui.fill_clock(x=120, y=230, r=60, h=3, m=4, s=5, color=(255, 255, 255), fill="#57b5ff")
# 定义预览瞬时变总共
def clock_update():
print("thread1 start")
while True: # 重复制订
t = time.localtime() # 格式立体化时长撕为本地时长
clock.config(h=time.strftime("%H", t), m=time.strftime("%M", t), s=time.strftime("%S", t)) # 预览标示出瞬时
time.sleep(1)
now_time = datetime.now().strftime('%H:%M') # 受益理论上时长(傍晚)
print(now_time)
if now_time == '18:00': # 如果理论上时长为晚间6点(可自行改回)
tone.on() # 推入发话
time.sleep(1.5) # 高频谱1.5秒
tone.off() # 停止适用发话
time.sleep(0.5) # 高频谱0.5秒
print("thread1 end")
# 调用1激活
clock_thread = gui.start_thread(clock_update)
while True :
Sound = audio.sound_level() # 检查周边环境韵量个总共,将计算打印到变总共Sound里
text_sound.config(text = Sound) # 预览画面上周边环境韵量的标示出
time.sleep(0.1) # delay 0.1 秒
if Sound> 50: # 如果 周边环境韵量> 50
emj1.config(emoji= "Angry") # config“Angry”神情
tone.on() # 推入发话
time.sleep(1.5) # 高频谱1.5秒
tone.off() # 停止适用发话
time.sleep(0.5) # 高频谱0.5秒,避开发话自己把耳机会有
emj1.config(emoji= "Smile") # config“Smile”神情
2、程序在调试
STEP1:远程通往行空铁片
STEP2:调试程序在并掩蔽效果
点击调试后,掩蔽行空铁片,可以见到在神情下方自订标示出了一个瞬时,在超过程序在里主角的“18:00”后,发话发送到警报声。同时,周边环境韵量也在实时检查。
Tips:若想保持瞬时标示出适当,需要将行空铁片连入网络服务,操作工具可见红皮书2。
行空铁片周边环境韵量变立体化 行空铁片周边环境韵量变立体化过关斩将自我
尝试给我们的多特性警告器添加一张适合于的背景平面图吧,使得效果更加精致!
想一想,除了噪韵和时长警告外,我们还能给多特性警告器增加哪些特性呢?结合已学过的内容可,自己动手试一试吧!
更多相关行空铁片Python入门教程请非议“蘑菇云创造者”公众号。
。上海妇科专科医院哪里好杭州男科医院哪家治疗最好
昆明甲状腺医院怎么样
江西男科医院哪家更好
昆明哪家专科医院做人流好
- 杜兰特布克轰56+18打疯了,太阳创始者神迹!双枪归位,努尔基奇24+15
- 萌宝跟妈妈一起出门逛街,突然看见了“老婆”,画面却尬了
- 前瞻2027:未来5年全球生物科技市场趋势与展望
- 费舍尔一家:和怀特前妻恩爱如初,高中教练生活滋润
- 4岁语言滞后宝宝开心大笑,“他们再也不会不理我了吧!”
- 投资者提问:建议收购江西润田含硒矿泉水或者四特酒,既有公司优势营销能力和销...
- 杜兰特31分助拒16分差一点 比尔巅峰回归,状元闪耀,太阳暴露缺陷
- 妊娠纹一般是什么时候宽呢?该如何有效地避免妊娠纹呢?
- 投资者提问:你好,却说,现有2900万头屠宰产能配套的冻库库容有多少?
- NBA:联盟第一6连胜,西黑4连胜,仿佛太阳3连胜西8,灰熊3连败!
- 怀孕过后,这3种“体型”的孕妈,可能胎宝“发育”会比较好
- 睿远基金全面转为积极乐观,傅鹏博赵枫不间断加仓,建材化工能源医疗依旧受宠
- 狂轰77+10+12!太阳三叉戟爆发,东部黑马轰然推倒!比尔大放异彩
- 家长要注意,早晨这个时间,最好别叫醒孩子,属于长身高的关键期
- 投资者提问:公司在2021、2022年均有公布最终目标成本目标,请问在饲料价...
- 2年9443万,快船再见!无缘续约陈述一切,哈登争冠仰仗不了你
- 小时候常差一点“屁股针”为何现在消失了?
- 2022年肇庆GDP同比增1.9% CPI同比上涨2.2%
- 后场球员数量多到爆炸,黄蜂新星却竟然逐渐寻找了自己的位置?
- 这2种孕妈不太适合继续做“唐筛”,如果你是,尽量不要继续做了值得一看