JH1LHVの雑記帳

和文電信好きなアマチュア無線家の雑記帳

python-firmata で Arduino を操作してみた

Python で Arduino を操作する試み。

 

PC と通信するための Firmata と呼ばれる汎用プロトコルを使って Arduino の GPIO を操作してみました。

 

1. Arduino側の設定

Arduino で Firmata を使うため「スケッチの例」の中にある「StandardFirmata」を Arduino にアップロードします。

f:id:JH1LHV:20150614141901j:plain

Arduino 側でやることはこれだけです。

 

2. パソコン側の設定

Python がインストールされている前提で、Firmata プロトコルが使えるようにライブラリをセットアップします。

github.com

 

f:id:JH1LHV:20150614143953j:plain

ダウンロードした ZIP ファイルを展開してインストールします。

  python-firmata-mastersetup.py install

 

3. やっぱり「L チカ」

通信速度は 57600 がデフォルトです。

通信ポートは「ポート番号ー1」を指定します。

 

test.py

from firmata import *

arduino = Arduino(7,baudrate=57600)  # 7 = port 8

arduino.pin_mode(13,firmata.OUTPUT)
arduino.delay(2)

while True:

  arduino.digital_write(13,firmata.HIGH)
  arduino.delay(1)
  arduino.digital_write(13,firmata.LOW)
  arduino.delay(1)

 

f:id:JH1LHV:20150614153514j:plain

Firmata プロトコルは Microsoft Visual Studio でも利用可能なので、C# などのメジャーな言語を使えばエレガントにプログラムが作れそうです。

次回は、C# で Arduino を操作してみようかと思います。

 

www.hackster.io

 

Bluetooth ドングルで接続された Arduino を Windows10 デバイスから操作できるので、あとはちょっとした周辺回路を作るだけで、アマチュア無線で各種遠隔操作ができるようになると思います。