2024年1月28日 星期日

micro:bit -悟空板(WuKong):土壤溼度(Soil Humidity)感測器測試 (MakeCode版)

準備材料:

  1. micro:bit主板 x 1
  2. USB 連接線 x 1
  3. GVS接腳的LED x1
  4. GVS接腳的土壤溼度計 x 1
  5. 悟空板 WuKong x 1

接線:

  1. LED接在P15
  2. 土壤溼度感測器接在P0

程式:





執行結果:



micro:bit -悟空板(WuKong):馬達測試 (MakeCode版)

悟空板介紹:Wukong Breakout Board 悟空擴充板

馬達連接接腳

程式編輯:https://makecode.microbit.org/#editor

安裝悟空板的驅動


選擇上圖wukong選項。

範例一、馬達測試:


執行結果:


範例二、按鈕控制


執行結果:




micro:bit -悟空板(WuKong):NeoPixel測試 (Python版)

範例一:分別以紅色、綠色、藍色、白色點亮悟空板上的四顆燈 

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
# Imports go at the top
from microbit import *
import neopixel
np = neopixel.NeoPixel(pin16, 4)


# Code in a 'while True:' loop repeats forever
while True:
    np[0] = (255, 0, 0)
    np[1] = (0, 255, 0)
    np[2] = (0, 0, 255)
    np[3] = (255, 255, 255)
    np.show()

執行結果:

範例二:同範例一,顯示資料用串列變數來儲存

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
# Imports go at the top
from microbit import *
import neopixel
np = neopixel.NeoPixel(pin16, 4)

leds=[(255,0,0), (0,255,0), (0,0,255), (255,255,255)]
# Code in a 'while True:' loop repeats forever
while True:
    np[0] = leds[0]
    np[1] = leds[1]
    np[2] = leds[2]
    np[3] = leds[3]
    np.show()

執行結果同上題

範列三:每隔0.5秒燈色旋轉

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
# Imports go at the top
from microbit import *
import neopixel
np = neopixel.NeoPixel(pin16, 4)
i = 0
leds=[(255,0,0), (0,255,0), (0,0,255), (255,255,255)]
# Code in a 'while True:' loop repeats forever
while True:
    np[0] = leds[i]
    np[1] = leds[(i+1)%4]
    np[2] = leds[(i+2)%4]
    np[3] = leds[(i+3)%4]
    np.show()
    sleep(500)
    i=(i+1)%4

執行結果:


範例四、用迴圈改寫程式

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
# Imports go at the top
from microbit import *
import neopixel
np = neopixel.NeoPixel(pin16, 4)
i = 0
leds=[(255,0,0), (0,255,0), (0,0,255), (255,255,255)]
# Code in a 'while True:' loop repeats forever
while True:
    for j in range(4):
        np[j] = leds[(i+j)%4]
    np.show()
    sleep(500)
    i=(i+1)%4

執行結果:
同範例三

micro:bit -悟空板(WuKong):NeoPixel測試 (MakeCode版)

悟空板介紹:Wukong Breakout Board 悟空擴充板

在悟空板上Pin 16接上四顆LED,分別是LED1, LED2, LED3, 和LED4,如下圖。

程式編輯:https://makecode.microbit.org/#editor


在上圖右下方,點選Extensions選項。


點選上圖左方 neopixel的選項,就可以安裝驅動程式。

範例一、依序點亮


執行結果:


範例二、每隔0.5秒循環


執行結果:

範例三、依照聲音大小用長條圖來改變燈條燈數



執行結果:




2024年1月27日 星期六

micro:bit Python 初體驗以樹藝工坊為例

在南投縣草屯鎮國立臺灣工藝研究暨發展中心有一間樹藝工坊,進駐藝術家是李永謨老師,李老師說:樹藝的定義是代表一種;生命的重生、樹生命「特性力量」的發揮。大家可以到臺灣樹藝再生之美李永謨粉絲頁查看李老師的相關作品,我們今天micro:bit Python就以樹藝工坊為例,來說明micro:bit Python的基本程式設計。

功能如下:

  1. 啟動顯示HAPPY圖示
  2. 按下LOGO顥示:Welcome to Tree-Art Workshop!
  3. 拍掌顯示:'I am Lee, Yung-Moo.
  4. 按下A鍵或Pin0,隨機顯示1-6其中一個數字。
  5. 按下B鍵或Pin1,播放音樂。
  6. 按下Pin2顯示ANGRY圖示。

程式編輯器:micro:bit Python Editor (microbit.org)



程式如下:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
# Imports go at the top
from microbit import *
import random
import music
display.show(Image.HAPPY)

# Code in a 'while True:' loop repeats forever
while True:
    if pin_logo.is_touched():
        display.scroll('Welcome to Tree-Art Workshop!')
        display.show(Image.HEART)
    if microphone.current_event() == SoundEvent.LOUD:
        display.scroll('I am Lee, Yung-Moo.')
        display.show(Image.HAPPY)
    if button_a.was_pressed() or pin0.is_touched():
        display.show(random.randint(1, 6))
    if button_b.was_pressed() or pin1.is_touched():
        music.play(['c', 'd', 'e', 'c'])
        display.show(random.randint(0, 99))
    if pin2.is_touched():
        display.show(Image.ANGRY)
    sleep(100)

2024年1月24日 星期三

用micro:bit學習Python請用Python Editor

micro:bit官網:https://microbit.org/

micro:bit編輯器:微軟MakeCodePython Editor

MicroPython教材:BBC micro:bit MicroPython documentation

microbit.org官網提供兩種程式語言編輯器,分別是MakeCode和Python編輯器,MakeCode是由微軟開發,提供積木、JavaScript、Python等三種程式語言,積木程式語言適合初學者,以積木方式建立初學者的邏輯概念。我們可以在編輯器的上方,切換不同的程式語言。在MakeCode,不管是JavaScript還是Python,都是和積木呈現1對1的對應關係,對初學者而言,可以經由積木程式語言,來認識JavaScript或Python。雖然MakeCode有支援Python程式語言,但Python編輯器較能提供道地的Python,我們以顯示大心和小心為例。


我們把大心和小心顯示之積木程式轉換成Python。

MakeCode的Python程式:

1
2
3
4
5
6
def on_forever():
    basic.show_icon(IconNames.HEART)
    basic.pause(1000)
    basic.show_icon(IconNames.SMALL_HEART)
    basic.pause(1000)
basic.forever(on_forever)

Python編輯器的Python程式:

1
2
3
4
5
6
7
8
9
# Imports go at the top
from microbit import *

# Code in a 'while True:' loop repeats forever
while True:
    display.show(Image.HEART)
    sleep(1000)
    display.show(Image.HEART_SMALL)
    sleep(1000)

想利用micro:bit來學習Python,請使用Python編輯器。

2024年1月23日 星期二

micro:bit底板-KSB046

下面兩張圖分別是micro:bit底板-KSB046正反面。


上圖可看到接腳的說明,從左分別是GND、VCC、LED、Motor、BEEP,以下是簡單的測試範例。