2024年6月17日 星期一

(AI應用) micro:bit/Wukong Breakout Board/Smart AI Lens三方合作用Python撰寫顏色辨識程式

參考文章:AI-Lens-Python Samples Code

程式套件:EF_Produce_MicroPython-master

程式編輯器:https://python.microbit.org/

專案程式要先從程式套件中,下載兩個重要程式,Wukong.py和AILens.py到程式編輯器的專案中。



範例一:顏色辨識

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
from microbit import *
from AILens import *
ai = AILENS()
ai.switch_function(Color)
while True:
    ai.get_image()
    if (ai.get_color_type() == "Green"):
        display.scroll("Green")
        sleep(2000)
    elif (ai.get_color_type() == "Red"):
        display.scroll("Red")
        sleep(2000)
    elif (ai.get_color_type() == "Blue"):
        display.scroll("Blue")
        sleep(2000)
    elif (ai.get_color_type() == "Yellow"):
        display.scroll("Yellow")
        sleep(2000)
    elif (ai.get_color_type() == "Black"):
        display.scroll("Black")
        sleep(2000)
    elif (ai.get_color_type() == "White"):
        display.scroll("White")
        sleep(2000)
    else:
        display.show(Image.SAD)

範例二:控制燈的顏色
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
from microbit import *
from AILens import *
import neopixel

# 初始化AILens
ai = AILENS()
ai.switch_function(Color)

# 初始化WS2812B LED,假設有4顆LED連接在pin16上
np = neopixel.NeoPixel(pin16, 4)

def set_color(color):
    for i in range(4):
        np[i] = color
    np.show()

while True:
    ai.get_image()
    color_type = ai.get_color_type()
    if color_type == "Green":
        set_color((0, 255, 0))  # 綠色
        display.scroll("Green")
        sleep(2000)
    elif color_type == "Red":
        set_color((255, 0, 0))  # 紅色
        display.scroll("Red")
        sleep(2000)
    elif color_type == "Blue":
        set_color((0, 0, 255))  # 藍色
        display.scroll("Blue")
        sleep(2000)
    elif color_type == "Yellow":
        set_color((255, 255, 0))  # 黃色
        display.scroll("Yellow")
        sleep(2000)
    elif color_type == "Black":
        set_color((0, 0, 0))  # 黑色(關閉LED)
        display.scroll("Black")
        sleep(2000)
    elif color_type == "White":
        set_color((255, 255, 255))  # 白色
        display.scroll("White")
        sleep(2000)
    else:
        set_color((0, 0, 0))  # 關閉LED
        display.show(Image.SAD)

沒有留言:

張貼留言