てきとうなさいと べぇたばん

html5j エンタメ技術部第2回勉強会に行ってきた

家で復習

html5j ハンズオン勉強会

html5j エンタメ技術部 第2回勉強会(ハンズオン)に行ってきた。 ArduinoとHTML5での連携をやったことが無いので、すごく興味があったため。

Arduino部分

基本的な部分は理解しているので、その辺りは難なく出来た。非常にわかりやすくて、楽しかった。

node

johnny-five

Node.jsからArduinoを制御するフレームワーク、johnny-fiveでArduinoとを連携させるところで躓いた。具体的には、以下のようなエラーが出てきた。

It looks like serialport didn't compile properly. This is a common problem and its fix is well documented here https://github.com/voodootikigod/node-serialport#to-install

僕の環境はWindows 7 Home Edition 64bit。

後で調べてみると、環境変数PATHにデフォルトのパスが指定されていなかった。

cmd(コマンドプロンプト)でexplorerやpingが通っていないことに気がついて、アレおかしいとおもったので、PATHを調べた。そうすると、あるはずの%SystemRoot%や、%SystemRoot%\\system32\\などがなかった。

デフォルトのパスを追加して、npm install johnny-fiveしなおしたら治った。

いろんな開発環境をインストールしていて、PATHを色々変更していたりしていたせいだと思います。迷惑をお掛けしてしまいました。申し訳ないです。

とりあえずLチカ

JavaScript と Arduino でオリジナルデバイスを作ろうを参考に01_strobe_led.jsを試す。

Windowsの場合、Arduino IDEのシリアルポートを選択する。僕の環境ではCOM3。

$ cat 01_strobe_led.js
var j5 = require("johnny-five"),
    arduino = new j5.Board({port: 'COM3'});

arduino.on('ready', function() {
    var led = new j5.Led({
        pin: 13
    });

    led.strobe(200);
});


$ node 01_strobe_led.js
1400432366548 Connected COM3
1400432366549 Repl Initialized
>>

内部でシリアル通信をしているので、ArduinoのRXのLEDがチカチカするようだ。

スイッチのON/OFF

02_get_switch_event.jsを試す。

$ node 02_get_switch_event.js
1400432890606 Connected COM3
1400432890606 Repl Initialized
>> button - on
button - released
button - released
button - on
button - released
button - on
button - on
button - on
button - on
button - on
button - on
button - released
button - on

まとめ

今までは、基本的なことはArduinoにまかせて、その他をPCなりスマートフォンに任せようみたいな考えでつくってた。しかし、Arduinoが行うはずだった動作もPCでやらせてしまうことには意表をつかれた感じがした。

Arduinoは無限大の可能性があるということを確信できた、素晴らしい勉強会でした。ありがとうございました。