「ISP1807搭載BLEマルチセンサーボード」の使い方(CircuitPython編)

投稿者:

みなさんこんにちは佐々木です。

前回「ISP1807搭載BLEマルチセンサーボード」の使い方(Arduino IDE編)をお伝えしました。今回はCircuitPython編です。

CircuitPythonって?

MicroPythonをベースにAdafruitが開発したマイコン向けのPython環境です。特別な開発環境が不要でメモ帳さえあればプログラムできます。

CircuitPythonに対応したボードはパソコンに接続するとUSBドライブのように見えて、ドライブ上のcode.pyにプログラムを書き込むと即座に動き出します。

今回はこのCircuitPythonを使ってサンプルコードを動かす手順を解説します。

準備する

まず最新のCircuitPythonをダウンロードしましょう。このページを開いて「DOWNLOAD .UF2 NOW」をクリックしてください。adafruit-circuitpython-bless_dev_board_multi_sensor-en_US-6.0.0.uf2というファイルがダウンロードされます。

次にISP1807搭載BLEマルチセンサーボードをブートローダモードで起動させます。S2ボタンを押しながらマイクロUSBケーブルでパソコンと接続してください。NRF52BOOTというドライブが認識されます。

ダウンロードしたファイルをNRF52BOOTドライブに書き込んでください。書き込みが終わるとドライブ名がCIRCUITPYに変わります。これで準備完了です。

※ドライブ名がCIRCUITPYにかわらなかった場合、ダウンロードしたファイルを再度書き込んでください(上書きでOK)。

サンプルコードを動かす

CIRCUITPYのcode.pyをメモ帳またはお好きなテキストエディタ(Muエディタがおすすめ)で開いて以下のコード張り付けて保存してください。保存が終わると赤色のLEDが点滅しているのが確認できると思います。

import board
import digitalio
import time
 
led = digitalio.DigitalInOut(board.LED1)
led.direction = digitalio.Direction.OUTPUT
 
while True:
    led.value = True
    time.sleep(0.5)
    led.value = False
    time.sleep(0.5)

緑色のLEDが点滅するよう書き換えてみましょう。

led = digitalio.DigitalInOut(board.LED2)

次はすばやく点滅させてみましょう。

while True:
    led.value = True
    time.sleep(0.1)
    led.value = False
    time.sleep(0.1)

code.pyを変更し保存するとすぐに動き出すことが確認できたと思います。

その他のサンプルコード

商品ページのサンプルコード(CircuitPython)には次のサンプルが含まれています。サンプルコードをcode.pyに張り付けて動かしてみてください。いくつかのサンプルは追加のライブラリを必要とします。circuitpython-examples/lib以下のディレクトリをCIRCUITPYのlibディレクトリにコピーしてください。

  • buzzer.py(ブザーを鳴らす)
  • humidity_sensor.py(温度と湿度をprint出力する)
  • i2c_scan.py(I2Cデバイスをスキャンしてprint出力する)
  • led_and_switch.py(ボタンを押すとLEDが光る)
  • low_current_mode.py(省電力制御を行う)
  • one_button_keyboard.py(ワンボタンキーボード)
  • pressure_sensor.py(気圧と温度をprint出力する)
  • pwm_led.py(LEDがゆっくり滑らかに点滅する)
  • starwars.py(ベイダー興のテーマを奏でる)

以上です。

関連記事

関連リンク