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)