Arduino 資料一覧
Node.jsでタクトスイッチを使ってLEDを操作する(点灯、点滅、フェードイン・アウト)
2017/01/21更新
対応バージョン: Node.js 4.2.6, Johnny-Five 0.9.58
Node.jsでArduino UnoにつないだLEDに対してタクトスイッチを使って点灯、点滅、フェードイン・アウトを繰り返すプログラムを作る。
Node.jsを動かす母艦はUbuntu 16.04とする。
結線
結線は以下の通り。
ソース
以下のようなコードを書きNode.jsで実行する。タクトスイッチを押す毎にLEDが点灯→点滅→フェードイン・アウトに切り替わり、タクトスイッチの長押しで消灯する。
led.js
var five = require("johnny-five"); var board = new five.Board(); cnt = 0; // LED点灯 function led_on(led) { switch(cnt % 3) { case 0: led.on(); // 点灯 break; case 1: led.strobe(500); // 点滅 break; case 2: led.pulse(500); // フェードイン・アウト } cnt++; } // LED消灯 function led_off(led) { led.stop(); led.off(); } // メインループ board.on("ready", function() { var button = new five.Button(2); // スイッチ状態 var led = new five.Led(11); // LED // 押す button.on("press", function() { led_on(led); }); // 長押し button.on("hold", function() { led_off(led); }); });
実行
% node led.js 1484147909373 Device(s) /dev/ttyACM0 1484147909404 Connected /dev/ttyACM0 >>
関連資料・記事
参考サイト
Arduino (Wikipedia)
Arduino技術情報 (Qiita)
Arduino関連情報 (Device Plus)
Arduino記事一覧 (Think IT)
Node.js技術情報 (Qiita)
Johnny-Five技術情報 (Qiita)
エレクトロニクス豆知識 (ROHM)