在本节和以后的章节中,将会有一些在 VS 代码编辑器中使用特殊设备模拟的例子和问题。

我们将使用模拟来拥有一个 Circuit Playground Express 设备,并学习与该设备进行交互。 我们将能够打开不同颜色的灯,以及许多其他很好的例子。

注意 访问 Adafruit 网站,找到许多令人惊叹的硬件和学习材料。

Circuit Playground Express

使用硬件模拟学习 - 图1

以上是真实硬件的图像,在模拟中我们将使用,我们可以使用下面的:

  • 绿色 LED
  • 红色 LED
  • 按钮 A 和 B
  • 滑块开关
  • 扬声器:播放 .wav 文件
  • 10 NeoPixels
  • 光传感器
  • 运动传感器
  • 加速度检测
  • 设备抖动检测
  • 温度传感器
  • 7 电容式触摸传感器

用红色打开板上的所有 NeoPixels

使用硬件模拟学习 - 图2

  1. # import CPX library
  2. from adafruit_circuitplayground.express import cpx
  3. import time
  4. RED = (255,0, 0)
  5. while True:
  6. # start your code here
  7. cpx.pixels.fill(RED)

在代码的顶部,我们正在编写一行以 from 开头的行,以获取可以与设备交互的 Python 模块,如 cpx。 下一行,我们还要导入 time 模块,稍后将使用它。

然后我们将 RED 变量中的 colour RED 定义为(R, G, B)元组。

接下来,while True: line 启动一个循环,它将继续运行,在内部使用相同的缩进,我们调用函数 cpx.pixels.fill,并使用所需的颜色(在本例中为 RED)。

你现在可以编写一个代码,将设备上的所有 NeoPixel 灯变为黄色吗? 为此,你必须搜索黄色的 RGB 值。
使用硬件模拟学习 - 图3

黄灯解决方案

  1. from adafruit_circuitplayground.express import cpx
  2. import time
  3. YELLOW = (255, 255, 0)
  4. while True:
  5. # start your code here
  6. cpx.pixels.fill(YELLOW)

学习 time.sleep

time 模块有一个重要的函数 sleep,它占用代码休眠的时间(意味着它什么都不做),然后执行下一条指令。 我们可以使用它来保持灯光打开或关闭一段时间。 以下面的例子为例,我们让 NeoPixels 保持开启 1 秒,然后关闭它们(RGB 值 (0,0,0))0.5 秒。

  1. # import CPX library
  2. from adafruit_circuitplayground.express import cpx
  3. import time
  4. WHITE = (255, 255, 255)
  5. OFF = (0, 0, 0)
  6. while True:
  7. # start your code here
  8. cpx.pixels.fill(WHITE)
  9. time.sleep(1)
  10. cpx.pixels.fill(OFF)
  11. time.sleep(0.5)

使用硬件模拟学习 - 图4

RGB 问题

你能否修改代码,使其在所有 NeoPixel 上显示红色,然后显示绿色,然后显示蓝色? 它看起来像下图。

使用硬件模拟学习 - 图5

RGB 解决方案

  1. # import CPX library
  2. from adafruit_circuitplayground.express import cpx
  3. import time
  4. RED = (255, 0, 0)
  5. GREEN = (0, 255, 0)
  6. BLUE = (0, 0, 255)
  7. while True:
  8. cpx.pixels.fill(RED)
  9. time.sleep(1)
  10. cpx.pixels.fill(GREEN)
  11. time.sleep(1)
  12. cpx.pixels.fill(BLUE)
  13. time.sleep(1)