Skip to content

Commit 1b420d1

Browse files
committed
updated it to use CircuitPlayground library
1 parent 0ad0bb1 commit 1b420d1

File tree

1 file changed

+16
-31
lines changed

1 file changed

+16
-31
lines changed

CPB_Ornament_Proximity/cpb_ornament_proximity.py

Lines changed: 16 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,7 @@
66
"""
77

88
import time
9-
import board
10-
import digitalio
11-
12-
import neopixel
9+
from adafruit_circuitplayground.bluefruit import cpb
1310

1411
from adafruit_ble import BLERadio
1512
from adafruit_ble.advertising.adafruit import AdafruitColor
@@ -28,38 +25,27 @@
2825

2926
ble = BLERadio()
3027

31-
slide_switch = digitalio.DigitalInOut(board.SLIDE_SWITCH)
32-
slide_switch.pull = digitalio.Pull.UP
33-
button_a = digitalio.DigitalInOut(board.BUTTON_A)
34-
button_a.pull = digitalio.Pull.DOWN
35-
button_b = digitalio.DigitalInOut(board.BUTTON_B)
36-
button_b.pull = digitalio.Pull.DOWN
37-
38-
led = digitalio.DigitalInOut(board.D13)
39-
led.switch_to_output()
40-
41-
neopixels = neopixel.NeoPixel(board.NEOPIXEL, 10, auto_write=False)
42-
4328
i = 0
4429
advertisement = AdafruitColor()
4530
advertisement.color = color_options[i]
46-
neopixels.fill(color_options[i])
31+
cpb.pixels.auto_write = False
32+
cpb.pixels.fill(color_options[i])
4733
while True:
4834
# The first mode is the color selector which broadcasts it's current color to other devices.
49-
if slide_switch.value:
35+
if cpb.switch:
5036
print("Broadcasting color")
5137
ble.start_advertising(advertisement)
52-
while slide_switch.value:
38+
while cpb.switch:
5339
last_i = i
54-
if button_a.value:
40+
if cpb.button_a:
5541
i += 1
56-
if button_b.value:
42+
if cpb.button_b:
5743
i -= 1
5844
i %= len(color_options)
5945
if last_i != i:
6046
color = color_options[i]
61-
neopixels.fill(color)
62-
neopixels.show()
47+
cpb.pixels.fill(color)
48+
cpb.pixels.show()
6349
print("New color {:06x}".format(color))
6450
advertisement.color = color
6551
ble.stop_advertising()
@@ -72,9 +58,9 @@
7258
closest_rssi = -80
7359
closest_last_time = 0
7460
print("Scanning for colors")
75-
while not slide_switch.value:
61+
while not cpb.switch:
7662
for entry in ble.start_scan(AdafruitColor, minimum_rssi=-100, timeout=1):
77-
if slide_switch.value:
63+
if cpb.switch:
7864
break
7965
now = time.monotonic()
8066
new = False
@@ -87,15 +73,14 @@
8773
closest_rssi = entry.rssi
8874
closest_last_time = now
8975
discrete_strength = min((100 + entry.rssi) // 5, 10)
90-
#print(entry.rssi, discrete_strength)
91-
neopixels.fill(0x000000)
76+
cpb.pixels.fill(0x000000)
9277
for i in range(0, discrete_strength):
93-
neopixels[i] = entry.color
94-
neopixels.show()
78+
cpb.pixels[i] = entry.color
79+
cpb.pixels.show()
9580

9681
# Clear the pixels if we haven't heard from anything recently.
9782
now = time.monotonic()
9883
if now - closest_last_time > 1:
99-
neopixels.fill(0x000000)
100-
neopixels.show()
84+
cpb.pixels.fill(0x000000)
85+
cpb.pixels.show()
10186
ble.stop_scan()

0 commit comments

Comments
 (0)