pyFirmata で Arduino を操作

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

Arduino の準備

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

Firmata の動作確認

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

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

Sorry, your browser does not support SVG.

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
書籍更新情報
2016-10-21
Pythonによる科学技術計算 基礎編
PDF版の販売を開始しました。
販売ページはこちら

2016-09-09
Pythonによる科学技術計算 基礎編
1.2版への更新が可能になりました。
サポートページはこちら
電子書籍
Pythonによる科学技術計算 基礎編
Kindle ストア、Leanpubで販売中です
Pythonによる科学技術計算 基礎編
PDF版の販売はこちら
同人誌
技術書典(2016/6/25)
Emacs/org-modeのPDF作成術
電子版をBOOTHで販売中です
Emacs/org-modeのPDF作成術
Share