ISP1807搭載ボードがCircuitPythonに対応しました。

投稿者:

みなさんこんにちは佐々木です。以前からISP1807を搭載した開発ボードでCircuitPythonを利用したいという声がありましたので下記3種の開発ボード向けにCircuitPythonファイルを用意しました。

下記リンクから対象ボードのCircuitPythonファイルをダウンロードしてご利用ください。

開発ボード ダウンロードリンク
ISP1807搭載Microボード(Pro Microピン互換) circuitpython-ssci_isp1807_micro_board-ja-7.2.0.uf2
ISP1807ピッチ変換基板
ISP1807ピッチ変換基板 USB Type-C版
circuitpython-ssci-isp1807_dev_board-ja-7.2.0.uf2

使い方

開発ボードのリセットボタンを2回クリックするとNRF52BOOTドライブがマウントされるので、ダウンロードしたCircuitPythonをNRF52BOOTドライブにドラッグ&ドロップしてください。

書き込みが完了するとCIRCUITPYドライブがマウントされます。code.pyを開いてプログラムを書いて保存するとプログラムが実行されます。またターミナルでシリアルポートを開いてCtrl-Cエンターを押すと対話モードに入ってプログラムできます。

ピン割り当て

基板のシルクに合わせてピンの名前を定義してあります。すべてのピンの名前が知りたい場合は対話モードに入って次のように打ち込んでください。

import board
dir(board)
['__class__', '__name__', 'A0', 'A1', 'A2', 'A3', 'A4', 'A5', 'A6', 'D0', 'D1', 'D10', 'D14', 'D15', 'D16', 'D17', 'D18', 'D19', 'D2', 'D20', 'D21', 'D3', 'D4', 'D5', 'D6', 'D7', 'D8', 'D9', 'I2C', 'LED', 'MISO', 'MOSI', 'RX', 'SCK', 'SCL', 'SDA', 'SPI', 'TX', 'UART', 'board_id']

UART・I2C・SPI・アナログピンの割り当ては次のとおりです。

機能 ISP1807搭載Microボード
(Pro Microピン互換)
ISP1807ピッチ変換基板
ISP1807ピッチ変換基板 USB Type-C版
SCL D3 P0_23
SDA D2 P0_19
SCK D15 P0_14
MOSI D16 P0_10
MISO D14 P0_12
RX D0 P0_25
TX D1 P0_11
A0 D18 P0_02
A1 D19 P0_03
A2 D20 P0_04
A3 D21 P0_05
A5 D2 P0_29
A6 D1 P0_30
A7 - P0_31
LED D17 P0_06
BUTTON - P1_06

サンプルコード

LEDの点滅

import digitalio
import board
import time

led = digitalio.DigitalInOut(board.LED)
led.direction = digitalio.Direction.OUTPUT

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

アナログ読み込み

import board
from analogio import AnalogIn
a0 = AnalogIn(board.A0)
print(a0.value)

UARTループバック

import board
uart = board.UART()
while True:
	data = uart.read(1)
	uart.write(data)

I2Cデバイススキャン

import board
i2c = board.I2C()
i2c.try_lock()
print(i2c.scan())

SDカードファイル一覧

import board
import digitalio
import adafruit_sdcard
import storage
import os
spi = board.SPI()
cs = digitalio.DigitalInOut(board.P0_26)
sdcard = adafruit_sdcard.SDCard(spi, cs)
vfs = storage.VfsFat(sdcard)
storage.mount(vfs, "/sd")
print(os.listdir('/sd'))

※追加のライブラリadafruit_bus_deviceadafruit_sdcard.mpyが必要です。

ソースコード

最新版のCircuitPythonを使いたい場合はソースコード(ボード依存部分のみ)をダウンロードし、最新版のCircuitPythonに組み込んでビルドしてください。ビルド手順は下記リンクを参照してください(ちかいうちに本家リポジトリにプルリクエストだします、たぶん)。

Build CircuitPython | Building CircuitPython | Adafruit Learning System

以上です。ぜひご活用ください!