for ループ

for v in [0,1,2,3,4]: print(v) ――――――――――――――――――――― Lua の場合:

IDLE / インデントの調整

該当する行を選択して下の組み合わせでキーを押せばインデントが調整できる。 Ctrl + [ Ctrl + ]

print() の実行結果を改行しない

print("aaa") print("bbb") print("ccc") print("ddd", end="") print("eee", end="") print("fff")

エディター上では改行するが実際には改行しない

print("aaa\ bbb\ ccc")

三重クォート / エディター上の改行を活かす

print("""aaa bbb ccc""")

raw String でエスケープする

// 演算子、divmod() 函数

// 演算子は小数点以下を切り捨てる割り算。 divmod() 函数を使えば商と余りとが一度に求まる。

オンボードレギュレーターの電流容量

参考: Programming the BBC micro:bit: Getting Started with MicroPython, p.119 USB ポートから micro:bit に電力を供給する場合は、オンボードレギュレーターによって 3.3 V が生成される。このレギュレーターは 最大 120 mA 出力できる。したがって假に …

アナログ入力 / read_analog()

参考: Programming the BBC micro:bit: Getting Started with MicroPython, p.115-119 Prototyping Lab 第2版 ―「作りながら考える」ためのArduino実践レシピ (Make: PROJECTS), p108-111 GND ~ VCC の範囲の電圧が 0 ~ 1023 (10 ビット) に AD 変換され…

ディジタル入力 / read_digital()

参考: Programming the BBC micro:bit: Getting Started with MicroPython, p.115 from microbit import * while True: if pin0.read_digital(): display.show("H") else: display.show("L") ――――――――――――――――――――――――――――――― オンボードボタンの接続は下の…

アナログ出力 / write_analog()

参考: Programming the BBC micro:bit: Getting Started with MicroPython, p. 113-115 アナログ出力といっても Arduino と同じく PWM 出力である。 from microbit import * brightness = 0 step = 100 def constrain(var, MIN = 0, MAX = 1023): return max…

ディジタル出力 / write_digital() / L チカをおこなう

参考: Programming the BBC micro:bit: Getting Started with MicroPython, p.112-113 ピン 1 本につき 5 mA まで流せるとの由。 Arduino は pinMode(*, OUTPUT); のように input か output かを事前にセットしなければならないが、micro:bit は write_* で…

消費電流

参考: Programming the BBC micro:bit: Getting Started with MicroPython, p.108 オンボード LED をまったく点灯しない場合は約 19 mA。 オンボード LED 1 個点灯するごとに約 1 mA 増。 BLE を使うとさらに約 10 mA 増。USB コネクターから電力を供給する…

タッチセンサー pin*.is_touched()

参考: Programming the BBC micro:bit: Getting Started with MicroPython, p.102-103 micro:bit 本体だけでできることはこれでだいたい終わり。 from microbit import * while True: if pin2.is_touched(): display.show(Image.HEART) sleep(1000) display.…

明るさセンサー

参考: micro:bitではじめるプログラミング ―親子で学べるプログラミングとエレクトロニクス (Make:PROJECTS), p.71-74オンボード LED を照度センサーとして使う。 今のところ MicroPython ではプログラミングできない。下のコードの意味もわからない。 basic…

温度を取得する temperature()

ただし取得されるのはマイクロプロセッサー内部の温度センサーの値である。単位は摂氏。

磁力計

参考: Programming the BBC micro:bit: Getting Started with MicroPython, p.99-102 micro:bitではじめるプログラミング ―親子で学べるプログラミングとエレクトロニクス (Make:PROJECTS), p.54-59 使用している磁気センサーは MAG3110。 プログラムをアッ…

オンボード加速度計 / 加速度を取得する accelerometer.get_values(), accelerometer.get_*()

参考: Programming the BBC micro:bit: Getting Started with MicroPython, p.96-99 accelerometer.get_values()3 軸を同時に取得する。 accelerometer.get_x(), accelerometer.get_y(), accelerometer.get_z()軸ごとに取得する。 from microbit import * wh…

オンボード加速度計 / ジェスチャーを取得する accelerometer.current_gesture()

参考: Programming the BBC micro:bit: Getting Started with MicroPython, p.96 micro:bitではじめるプログラミング ―親子で学べるプログラミングとエレクトロニクス (Make:PROJECTS), p.45-48 使用しているチップは MMA8653FC。 from microbit import * fr…

AB ボタンについての補足

参考: Programming the BBC micro:bit: Getting Started with MicroPython, p.95 is_pressed()ボタンが押された場合に True を返す。それ以外の場合は False を返す。 was_pressed()micro:bit の起動後か was_pressed() の呼び出し後かいずれかにボタンが押…

オンボード LED を操作する / 複数のドット絵を使ってアニメーションを作る display.show(ドット絵リスト)

参考: Programming the BBC micro:bit: Getting Started with MicroPython, p.89-91 Image クラスを使って個々のドット絵をインスタンス化し、それをリストに格納して display.show() の引数に取れば、各絵文字が順番に表示される (Image.ALL_CLOCKS などは…

オンボード LED を操作する / バンドルされている絵文字を表示する display.show(Image.*)

参考: Programming the BBC micro:bit: Getting Started with MicroPython, p.88-89 例 (たぶんクリスマスツリー): ほかにもたくさんある (Image — BBC micro:bit MicroPython 0.0.1 documentation)。

オンボード LED を操作する / 1 文字だけ表示する display.show()

参考: Programming the BBC micro:bit: Getting Started with MicroPython, p. 88 引数は文字列のみ。 オプションパラメーターは display.scroll() と同じ。 display.show("abcdefg") のように文字列を引数に取ると、delay パラメーター (デフォルト値は 400…

オンボード LED を操作する / スクロール表示する display.scroll()

参考: Programming the BBC micro:bit: Getting Started with MicroPython, p.87 display.scroll("hello, world")指定の文字列を 1 回だけスクロール表示する。スクロール中は他の処理を受け付けない。Ctrl + C で中断できる。 display.scroll("hello, world…

オンボード LED を操作する / 個々の LED を操作する display.set_pixel()

参考: Programming the BBC micro:bit: Getting Started with MicroPython, p.85-86 個々の LED を操作するときは display.set_pixel(x 座標, y 座標, 明るさ) という構文で指定する。座標は左上を (0, 0) とする。明るさは 0 ~ 9 で指定する。 from microb…

MicroPython メモ 16 / クラスを使ったモジュールを作る / それに意味のないとき

参考: Programming the BBC micro:bit: Getting Started with MicroPython, p.80-83 (たとえば display.scroll("hello、world") は、display というインスタンスの親である何らかのクラスに属している scroll() メソッドを実行するコマンドである) 下のモジ…

MicroPython メモ 15 / モジュールを利用したプログラム / それに意味のないとき

参考: Programming the BBC micro:bit: Getting Started with MicroPython, p.78-80 プログラムでモジュールを利用するためには、そのモジュールが micro:bit 上に存在していなければならないが、假に今モジュールが micro:bit 上に存在していたとしても、プ…

MicroPython メモ 14 / クラスとインスタンスと

参考: Programming the BBC micro:bit: Getting Started with MicroPython, p.75-76 これまでに出てきた button_a や display は何らかのクラスのインスタンスである。どのクラスのインスタンスであるかは type() で確認できる。 ひとつのクラスは属性とメソ…

MicroPython メモ 13 / モジュールのインポート

参考: Programming the BBC micro:bit: Getting Started with MicroPython, p73-75 モジュールの中身を確認する。 from モジュール名 import * という構文でモジュールの中身を全部インポートする。 下のようにしてもモジュールの中身全部がインポートされる…

MicroPython メモ 12 / 例外処理

参考: Programming the BBC micro:bit: Getting Started with MicroPython, p.68-69 これだとインデックスが 5 を超えたところでエラーが出てプログラムが停止してしまう (Lua だと、存在しない要素を参照したときは nil が返ってくる)。 list = [0, 1, 2, 3…