def loud(): # 定义函数loud if cyberpi.get_loudness() > 80: # 判断获取的声音数值是否大于80, return False # 大于80,则返回值为False else: # 否则 return True # 返回值为True
"""" 名称:062 童芯派 f-string字符串格式化输出 硬件: 童芯派 功能介绍: 基于在线模式下的f-string格式化输出的使用。 难度:⭐⭐⭐ 支持的模式:仅支持在线模式,MicroPython不支持f-string 使用到的API及功能解读: f-string仅在python3.6及以上版本支持 f'内容{变量名} 内容{变量名} 内容{变量名}' 使用f前缀,在引号内使用大括号{},在括号内填入格式化输出的变量。 详细请查阅pep498 """ # ---------程序分割线----------------程序分割线----------------程序分割线---------- import cyberpi while True: bri = cyberpi.get_bri() loud = cyberpi.get_loudness() cyberpi.display.show_label(f'光线:{bri} 声音{loud}', 16, 'center', index=0)
b = 3,传递参数后形式参数a = 3,print(a + 1),则等于print(3 + 1) 故会在控制台上输出4。 2.cyberpi.barchart.add(data) 童芯派的柱状图,显示(数据) 用于在屏幕上显示柱状图,data参数填入柱状图的参数 3.cyberpi.display.set_brush(r, g, b) 童芯派的屏幕显示内容的颜色,r,g,b值填入对应的r, g, b值。 """ # ---------程序分割线----------------程序分割线----------------程序分割线---------- import cyberpi # 导入童芯派的第三方库 def soundlight(sound): # 定义函数soundlight,形参sound sound = sound * 0.255 # 将音量的值映射到RGB值的区间 sound = int(sound) # 利用int函数对sound的值进行取整 cyberpi.led.on(sound, sound, sound, "all") # 点亮童芯派的灯光 cyberpi.display.clear() # 清空童芯派的屏幕,进行初始化 while True: # 重复执行 loud = cyberpi.get_loudness() # 将声音传感器获得的数值赋值给变量loud cyberpi.display.set_brush(0, 255, 0) # 设置屏幕显示的颜色为绿色 cyberpi.barchart.add(loud) # 根据loud的数值生成柱状图 soundlight(loud) # 调用函数soundlight(sound)
def light(): sound = cyberpi.get_loudness() cyberpi.barchart.add(sound) sound = sound * 2.55 cyberpi.led.on(sound, sound, sound)
"""" 名称:020 Say Hi 硬件:童芯派 功能介绍:通过童芯派上的按键控制灯光的亮灭 难度:⭐⭐ 支持的模式:在线 上传 使用功能解读: 1. cyberpi.audio.play_until("audio_name") 童芯派.音效.播放直到音效结束("音效名称") audio_name参数填写音效名称。 2. cyberpi.audio.stop() 童芯派.音效.停止播放 """ # ---------程序分割线----------------程序分割线----------------程序分割线---------- import cyberpi cyberpi.display.clear() # 清空屏幕,进行初始化。 cyberpi.console.println("跟我Say Hi吧") # 屏幕显示提示语 while True: # while True 重复执行: if cyberpi.get_loudness() >= 80: # 如果童芯派侦测到的声音大小大于80: cyberpi.audio.play_until("hi") # 那么播放完音效hi else: # 否则 cyberpi.audio.stop() # 停止音效的播放
def basic(): screen.fill((0, 0, 0)) pygame.draw.line(screen, (255, 255, 255), (0, 350), (800, 350), 1) pygame.display.update() pygame.init() screen_size = (800, 800) screen = pygame.display.set_mode(screen_size) pygame.display.set_caption("A new project") basic() x = 0 y = 0 y1 = cyberpi.get_bri() z = 0 z1 = cyberpi.get_loudness() while True: for event in pygame.event.get(): if event.type == pygame.QUIT: sys.exit() pygame.draw.aaline(screen, (0, 255, 0), (x, 300 - 2 * y), (x + 2, 300 - 2 * y1), 1) pygame.draw.aaline(screen, (0, 0, 255), (x, 600 - 2 * z), (x + 2, 600 - 2 * z1), 1) pygame.display.update() x += 2 y = y1 z = z1 y1 = cyberpi.get_bri() z1 = cyberpi.get_loudness() if x > 800:
def moving(self): loud = cyberpi.get_loudness("maximum") self.node.move_to(self.x, (128 - loud)) cyberpi.led.on(0, 0, 0 + loud * 2.55, id=self.num)
支持的模式:在线 上传 使用功能解读: 1. cyberpi.get_loudness() 童芯派.获取外界的声音大小 返回的数值区间为0-100 返回值数值类型为整型int 2.str() str()其它数据的数据类型转换成字符串。 举例:将整型数值1,通过str(1)的方式,得出字符串"1" 3.字符串与字符串之间可以通过+号进行连接 举例:"ab" + "cd" 的结果等于 "abcd" """ # ---------程序分割线----------------程序分割线----------------程序分割线---------- import cyberpi import time while True: # while True 重复执行: loud = cyberpi.get_loudness() # 创建变量loud存放获取的声音数值大小 cyberpi.console.println("声音大小为" + str(loud)) # 在童芯派的屏幕上显示当前获取的声音大小 time.sleep(0.3) # 设置等待,以0.3秒的间隔获取一次数据 # 拓展 # 1.童芯派还可以获取光线的强度。 # 尝试结合cyberpi.get_bri() 接口来获取光线传感器的强度。
"""" 名称:022 循环的终止 硬件:童芯派 功能介绍:通过while循环的条件控制循环的结束。 难度:⭐⭐ 支持的模式:在线 上传 使用功能解读: 1. while condition: 条件(condition)满足执行的代码 """ # ---------程序分割线----------------程序分割线----------------程序分割线---------- import cyberpi cyberpi.display.clear() cyberpi.console.println("灯光已打开") # 屏幕显示灯光已打开 while cyberpi.get_loudness() <= 50: # 重复执行直到 童芯派侦测到的音量小于50不成立 : cyberpi.led.on(255, 255, 255) # 灯光打开 cyberpi.console.println("灯光已关闭") # 屏幕显示灯光已关闭(while循环已结束) cyberpi.led.off() # 关闭童芯派的灯光。