少々手こずったのだが,MacBook Proに直結したら安定した。MacBook + USB-C アダプター経由だと不安定になるみたい。そちらはもう少し検討しよう。
設計仕様:
- micro:bit がシリアルで[#]を受け取ると,現在時刻(起動してからの時間)を返す。
- その時に,[A] が押されているかどうかも返す。
- シリアルはUSB, ボーレートは115200とする。
- ls /dev/cu* でデバイスを特定
- screen /dev/cu.usbmodem「見つかったデバイス番号」 115200
- screen起動中に#を押す。
- screenから抜けるには [Ctrl]+[A] [Ctrl]をはなさずに[¥]
- 通信がおかしいと思ったら,Mac terminalを終了。micro:bitを一度取り外し,再度接続する。
受信側
$ sudo stty -f /dev/見つかったデバイス raw 9600 # シリアルポートの設定とのこと
$ cat /dev/見つかったデバイス
送信側
$ echo '#' | sudo tee /dev/見つかったデバイス
Macの話が続いてしまうが,CoolTermも使いやすかった。
serial.onDataReceived(serial.delimiters(Delimiters.Hash), function () {
basic.showIcon(IconNames.Angry)
serial.writeLine("Time: " + convertToText((next_time - step_time) / 10))
if (input.buttonIsPressed(Button.A)) {
serial.writeLine("[A] is pressed.")
}
basic.pause(1000)
basic.showIcon(IconNames.Diamond)
})
let next_time = 0
let step_time = 0
step_time = 1000
next_time = step_time + input.runningTime()
serial.redirect(
SerialPin.USB_TX,
SerialPin.USB_RX,
BaudRate.BaudRate115200
)
basic.forever(function () {
if (input.runningTime() > next_time) {
next_time = step_time + input.runningTime()
}
})
0 件のコメント:
コメントを投稿