CircuitPython 10行プログラミング Step4 (2) Lチカ

 連載の最初でプログラムしたLチカを、そのままAdafruit Feather nRF52840 Senseボードで実行します。

ビルトインLEDはD13

 前回に掲載したピン・レイアウトによると、USBコネクタの横にある赤色のLEDはI/Oの13番からつながっています。ライブラリboardはボード固有のピンを指定します。from board import * ではD13で赤色LEDのポートを指定できます。import boardではboard.D13でポートを指定します。

 ライブラリdigitalioは、I/Oピンをディジタル入出力に使います。

  • DigitalInOut – I/Oピンを指定する
  • Direction – 入力、出力の指定
  • DriveMode – プッシュプル(PUSH_PULL)かオープン・ドレイン(OPEN_DRAIN)かの指定
  • Pull – 入力ピンのプルアップ(UP)かプルダウン(DOWN)の指定

(※)オープン・ドレインでは、HIGHを出力するとハイ・インピーダンスになる。

プログラム

 保存するファイル名はcode.pyで、既存のファイルに上書きします。

import digitalio
from board import *
import time

led = digitalio.DigitalInOut(D13)
led.direction = digitalio.Direction.OUTPUT
while True:
led.value = True
time.sleep(0.1)
led.value = False
time.sleep(0.1)

 上記のプログラムをMuに貼り込んで保存すると、USBコネクタの横の赤色LEDが点滅します。

 点灯時間を毎回ランダムにするためにrandamライブラリを導入します。また、ライブラリのimportをfromの形式で、特定の関数や変数を指定しました。

from digitalio import DigitalInOut, Direction
from board import D13
from time import sleep
from random import random

led = DigitalInOut(D13)
led.direction = Direction.OUTPUT

while 1:
    led.value = True
    sleep(random() + 0.1)
    led.value = False
    sleep(0.5)