pyFirmata で Arduino を操作

Arduino を操作するのには Firmata プロトコルが便利だと聞いたので試してみました。

Arduino の準備

Arduino IDE を立ち上げ、ファイル > スケッチの例 > Firmata > StandardFirmata と辿って StandardFirmata を開きます。 後はスケッチをコンパイルし、Arduino に書き込みます。

Firmata の動作確認

オフィシャルサイト から使用している OS に合わせて firmata_test をダウンロードします。 ダウンロードしたら Linux の場合は chmod +x で実行権限を与えておきます。

LED、1k Ωの抵抗と Arduino を以下の図のように繋げ、簡単な L チカで Firmata の動作確認をします。

firmate_test をシェルから実行し、メニューバー「Port」から接続しているポートを選択すると以下のような画面になります。

15070202.png

Pin 13 の Low ボタンをクリックするとボタンが High に変わり LED が点灯します。 もう一度ボタンを押すと LED が消灯します。

pyFirmata のインストール

Firmata プロトコルを Python で使うために pyFirmata をインストールします。 pyFirmata は pip からインストールできます。

pip install pyfirmata

上述の L チカを Python から実行します。

まずはポート等を初期設定します。

import pyfirmata

pin = 13
port = "/dev/ttyACM0"
board = pyfirmata.Arduino(port)

以下を実行すると LED が点灯します。

board.digital[pin].write(1)

同様に LED を消灯させるには以下を実行します。

board.digital[pin].write(0)

コメント

Comments powered by Disqus
書籍更新情報
2017-02-18
Pythonによる科学技術計算 基礎編
1.4版への更新が可能になりました。
サポートページはこちら
電子書籍