Johnny-Fiveを使ってArduinoをJavaScriptから制御してみる

  • このエントリーをはてなブックマークに追加

Arduinoを制御する場合、通常はProcessingという言語を使います。そしてArduino IDEを使って母艦でコードを書き、コードをArduinoにアップロードして動作させます。ProcessingはC言語に似た言語となっており、若干取っつきが悪いかも知れません。

そこでJavaScriptを使って各種ボードを制御できるJohnny-Fiveを使ってみたいと思います。今回はMac OSXを使ってArduinoを制御する方法を紹介します。なお、実行に際してNode.jsが予めインストールされていることとします。

Johnny-Five: The JavaScript Robotics Programming Framework

ArduinoにFirmataを適用する

まずArduinoにFirmata(ファームマタ)と呼ばれるファームウェアを書き込みます。これはProcessingからArduinoを制御するためのプロトコルで、これを使うことでUSBシリアル経由で母艦(PC)からArduinoを制御できるようになります。

最初にGortというツールをインストールします。これはファームウェアを更新するためのCLIになります。これはHomebrewでインストールできます。

次にこのgortコマンドを使って必要なライブラリをインストールします。これもHomebrewを使っています。

準備ができたので、接続されているArduinoを探します。

今回は /dev/tty.usbmodem1421 になります。最後にFirmataをインストールします。

テストのスクリプトを書く

では実際にテストスクリプトを実行してみます。まず任意のディレクトリで npm init を実行します。

次にJohnny-Fiveをインストールします。

これで準備が終わりました。app.jsとしてファイルを作成し、内容を次のようにします。

これを node app.js として実行すると、LEDが500msごとに点滅するのが確認できるはずです。

入力系を受け取る

Johnny-Fiveは出力だけでなく、入力も制御できます。


JavaScript Robotics Examples (Johnny-Five)にたくさんのサンプルコードがあります。ブレッドボードの接続も確認できますのでぜひトライしてみてください。Johnny-FiveはArduinoの他、SparkFun RedBoard、BotBoarduino、chipKit Uno32、Spider Robot Controller、DFRobot Romeo、Teensy 3、BeagleBone Black、Intel Edison、Lininoなど数多くのボードに対応しています。これらのボードをよりJavaScriptらしく制御する際に便利です。

Johnny-Five: The JavaScript Robotics Programming Framework

Johnny-Fiveを使ってArduinoをJavaScriptから制御してみる
  • このエントリーをはてなブックマークに追加

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です