「Maker Faire Tokyo 2015」に触発されて購入していた「pyboard v1.0」ですが、昨夜になってやっと触ったので、その記録です。
pyboard は MicroPython(マイコンに最適化された Python3 が実装)が動くマイコンボードです。


こんなに小さい。
pyboard をパソコンに接続すると USB フラッシュドライブとして認識するので、実行したいスクリプトがあれば、ファイル名を「main.py」にしてこの中に保存します。
あとはリセットするだけで勝手にスクリプトは起動してくれます。
必要なのは「マイクロ USB ケーブル」1本だけです。
Firmware をアップデート
購入してからしばらく経過しているので、まずは Firmware のアップデートからです。
おお!
なんと 2015-11-07(今日)のアップデートファイルがあります。
pybv10-2015-11-07-v1.5-94-gae58035.dfu

わたしは一番上の最新の dfu ファイルを選択しました。
pyboard に Firmware の dfu を書き込むためのツール「DfuSe」もダウンロードしておきます。

DfuSe は、ウェブ画面下の「Download」ボタンからダウンロードできます。
それでは、pyboard を dfu モードで起動して新しい Firmware を書き込むことにします。

dfu モードで起動するためには、この画像のように2か所のピンをジャンパしてパソコンと接続する必要があります。

画像が暗くて見えにくいけど・・・こんな感じに接続します。
あとは、書き込みツールの DfuSe を起動するだけです。

①の「Choose...」ボタンで Firmware の「pybv10-2015-11-07-v1.5-94-gae58035.dfu」を選択します。
②の「Upgrade」ボタンで書き込みます。
それでは動作試験です
何時も L チカばかりじゃつまらないので、今日はモールスを鳴らしてみます。

Y2 ピンに圧電ブザーを一つ取り付けました。

スクリプトは「main.py」の名で保存します。
# by JH1LHV
from pyb import Pin, Timer
dot_speed = 60
tone_freq = 740
msg = "JH1LHV JH1LHV JH1LHV"
p2 = Pin("Y2")
tim = Timer(8, freq=3000)
ch = tim.channel(2, Timer.PWM, pin=p2)
morsetab = {
'A': '.-',
'B': '-...',
'C': '-.-.',
'D': '-..',
'E': '.',
'F': '..-.',
'G': '--.',
'H': '....',
'I': '..',
'J': '.---',
'K': '-.-',
'L': '.-..',
'M': '--',
'N': '-.',
'O': '---',
'P': '.--.',
'Q': '--.-',
'R': '.-.',
'S': '...',
'T': '-',
'U': '..-',
'V': '...-',
'W': '.--',
'X': '-..-',
'Y': '-.--',
'Z': '--..',
'0': '-----',
'1': '.----',
'2': '..---',
'3': '...--',
'4': '....-',
'5': '.....',
'6': '-....',
'7': '--...',
'8': '---..',
'9': '----.',
' ': ' ',
'?': '..--..',
';': '-.-.-.',
':': '---...',
'-': '-....-',
'/': '-..-.',
'(': '-.--.',
')': '-.--.-',
'_': '..--.-',
}
def dot():
tim.freq(tone_freq)
ch.pulse_width_percent(30)
pyb.delay(dot_speed)
ch.pulse_width_percent(0)
def dash():
tim.freq(tone_freq)
ch.pulse_width_percent(30)
pyb.delay(dot_speed * 3)
ch.pulse_width_percent(0)
for m in msg.upper():
for c in morsetab[m]:
if c == '.':
dot()
elif c == '-':
dash()
pyb.delay(dot_speed)
pyb.delay(dot_speed * 3)
当局のコールサイン「JH1LHV」を3回鳴らしてみました。
python で記述できるマイコンボードの pyboard 。
昔の BASIC を思い出す手軽さでプログラムが書けるので開発意欲も湧いてきます。
これから寒くなる季節ですし・・・
皆さんもお一つ如何でしょうか。
------- 2017/10/11 追記 -------
● MicroPython クイックリファレンス
Quick reference for the pyboard — MicroPython 1.9.2 documentation
●チュートリアル
MicroPython tutorial for the pyboard — MicroPython 1.9.2 documentation