KRITSADA icon

microbit receive command from radio control neopixel

KRITSADA | PRO | 01/27/20 10:07:43 AM UTC | 0 ⭐ | 817 👁️ | Never ⏰ | []
Python |

1.76 KB

|

None

|

0 👍

/

0 👎

#ภาครับ micro:bit ควบคุม NeoPixel ไร้สาย
#2. ควบคุม NeoPixel ทั้งจำนวนการติด ความสว่าง และ สี จาก micro:bit อีกชุด
from microbit import *
import radio
import neopixel
radio.on()
radio.config(channel=42)
radio.config(power=7)
np = neopixel.NeoPixel(pin14, 12)
R=1;G=1;B=1;X=0;y=11;z=10;x=0
while not button_b.is_pressed():
    Radio = radio.receive()
    if Radio != None:
        dat = Radio.split(",")
        if dat[0] == "C":
            display.show("C")
            y = int(int(dat[1]) / 90)
            print(y)
        elif dat[0] == "L":
            display.show("L")
            z = int(int(dat[1])/4)-1
            print(z)
        elif dat[0] == "B":
            display.show("B")
            x = int(dat[1])
            print(x)
    for i in range(0, y + 1):
        np[i] = (R * z, G * z, B * z)
        np.show()
    for i in range(y + 1, 12):
        np[i] = (0, 0, 0)
        np.show()
    if x == 1:
        sleep(200)
        if X < 6:
            X = X + 1
        else:
            X = 0
        display.show(str(X))
        if X == 0:
            R = 1
            G = 0
            B = 0
        elif X == 1:
            R = 1
            G = 1
            B = 0
        elif X == 2:
            R = 0
            G = 1
            B = 0
        elif X == 3:
            R = 0
            G = 1
            B = 1
        elif X == 4:
            R = 0
            G = 0
            B = 1
        elif X == 5:
            R = 1
            G = 0
            B = 1
        elif X == 6:
            R = 1
            G = 1
            B = 1
for i in range(0, 12):
    np[i] = (0, 0, 0)
np.show()

Comments