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)



Example #4
0
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()                                 # 停止音效的播放
Example #6
0
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:
Example #7
0
 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() 接口来获取光线传感器的强度。
Example #9
0
""""
名称: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()                           # 关闭童芯派的灯光。