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」から接続しているポートを選択すると以下のような画面になります。

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)