今回はArduinoを制御してみたいと思います。
ただArduinoってC言語風のArduino言語で書くし、工学系のガチな人たちがいじるイメージ。。。
でも実はweb系の人でもいじれるっぽいんです!それがこちら
おおお、「Node」なんか聞いたことあるぞ。
そうです、Node.jsです。
johnny-five というライブラリを使うとNode.jsでArduinoを制御できるそうです。
これはweb系の人には朗報ですね!
しかも、、、!
出典: tableflip/nodebot-workshopより
おおお、「なんか教科書っぽい」
そうです、Node.jsに関連するソフトウェアを無料で学習できる Node School というオープンソースの学習ツールです。
このNode Schoolがjohnny-fiveでArduinoの制御方法を勉強できる学習ツールを出しているんです。
それがこちら。https://github.com/tableflip/nodebot-workshop
なんか感心するほど、ほとんど揃ってますねw
あとは、実際に制御するArduinoが必要なわけですが、もちろんありました。
出典: NodeBot kit for Beginners ver.JP | dotstudioより
購入ページでセットを買うことができました。
これで必要なものが揃ったので早速始めたいと思います。
環境設定
ではサクサク始めます
$ mkdir nodebot
$ cd nodebot
# グローバルにnodebot-workshopをダウンロードするのは嫌だったのでローカルにダウンロードします
$ npm init -y
$ npm i -S nodebot-workshop
$ nodebot-workshop
こういう画面が出力されましたか?もし英語になった場合は、言語を選択できるので日本語に設定しましょう。カーソル↑↓またはjkで上下に移動できます。
これで環境設定は完了ですね。nodebotが手元にある人はArduinoをUSBコードでPCに繋げてください。
Lチカ
ではLチカをやってみます。
Lチカ を選択すると以下のようなmarkdownが出力されました。用意周到ですねw
あとはこれを読んでやってみましょう。すごい丁寧に誘導されているので大丈夫でしょう!ドキュメントもありますし
コードを書けたら、一旦テストを実行しましょう。
$ nodebot-workshop verify l-chika.js
1481897226692 Device(s) /dev/cu.usbserial-FAKEID
1481897226715 Connected /dev/cu.usbserial-FAKEID
1481897227119 Repl Initialized
>> 回答をテストしています。お待ちください。。。
✓ Boardインスタンスが作成されました。
✓ LEDインスタンスが作成されました。
✓ LEDがpinに接続されました。
✓ LED is flashing once a second
✓ LED is flashing once a second
✓ Pin 2 was set to OUTPUT mode
✓ Pin 13 was turned on
✓ Pin 13 was turned off
# おめでとう! 「Lチカ」に対するあなたの回答は合格です!
あと8個のチャレンジが残っています。 メニューを表示するには
'nodebot-workshop' と入力してください。
こうなれば正解です!実際はこの検証が通らなくてもLチカはできましたw
一応回答を載せておきます。
var five = require('johnny-five');
var board = new five.Board();
board.on('ready', function() {
var led = new five.Led(13);
led.strobe(1000);
});
おわり
こんな感じで結構気軽にマイコンを制御できるので、よかったらやってみてください!
僕は家で家族に年越しサプライズするために、黙々実装してますw
ではでは、良いお年を!