« micro:bitを照度計にしてみる(その2) | トップページ | micro:bitを照度計にしてみる(その3) »

2020年12月 6日 (日)

Pythonでmicro:bitを操作してみる

BlockEditor版のFilesystem(ベータ版)が上手く動かなかったのでMicroPythonを試してみることにしました。
micro:bitはBlockEditorもMicroPythonもオンライン開発環境が用意されていますが…
オフラインの方が何となく好き(?)安心(?)なのでmicro:bitでPython[Muエディター]を参考にMicroPythoneのオフライン開発環境を整えます。
BBC micro:bit MicroPython ドキュメンテーションを見れば大体の使い方はわかります。
Python…教育は受けたんで概要は知っていますが実際に使うのははじめてです。
この辺りのプログラム言語は各々の特徴はあっても極端な違いはないのでJava(JavaScriptではない)とかC++とかをマスターしていればリファレンス見ながらで十分使えると思います。
MicroPythonはぶっちゃければ若干書式が違うだけで難易度はBlockEditorのJavascriptと大差ありません。
なので、まずはBlockEditorで作った照度測定をMicroPythonで書き直してみました。
Block Editorの
(明るさ)に相当するのがmicrobit.display.readlightlevel()
(一時停止ミリ秒)に相当するのがutime.sleep_ms(ms)
LEDの初期化はmicrobit.display.clear()
LEDの点灯はmicrobit.display.set_pixel(x,y,9)
と、これだけ分かっていれば組めるでしょう。

# 明るさ計測 2進化10進数表示
from microbit import *
import microbit
import utime

def led_disp(bright):
    wbr = bright
    wcbr = 800
    display.clear()
    for dx in (2,3,4):
        cbr = wcbr
        for dy in (1,2,3,4):
            if wbr >= cbr:
                display.set_pixel(dx, dy, 9)
                wbr -= cbr
            cbr //= 2
        wcbr //= 10
#    display.show(Image.HAPPY)

display.clear()
display.on()
while True:
    bright = display.read_light_level() + 1
    led_disp(bright)
    utime.sleep_ms(500)


多少 (´・ω・`) 試行錯誤しつつ無事に再現
(明るさ)を3桁の2進化10進数で表示
200217p01

|

« micro:bitを照度計にしてみる(その2) | トップページ | micro:bitを照度計にしてみる(その3) »

micro:bit」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




« micro:bitを照度計にしてみる(その2) | トップページ | micro:bitを照度計にしてみる(その3) »