Arduino 資料一覧
Node.jsで可変抵抗器を使ってLEDの明るさを調整する
2017/02/27更新
対応バージョン: Node.js 4.2.6, Johnny-Five 0.10.6

小型ボリューム 10KΩB (秋月電子通商)
Node.jsを動かす母艦はUbuntu 16.04とする。
結線
可変抵抗器のピンは向かって左側から電源、抵抗値出力、GNDになっているのでそれぞれ5V、A0ピン、GNDに接続する。
LEDはデジタル3番ピンをPWM出力用として使用する。


ソース
以下のようなコードを書きNode.jsで実行する。
registor.js
var five = require("johnny-five"); var board = new five.Board(); var pin_out = 3; // LED用ピン(出力) var pin_in = "A0"; // 抵抗値用ピン(入力) board.on("ready", function() { board.pinMode(pin_out, five.Pin.PWM); // LED用ピンをPWM(アナログ出力)に設定 var sensor = new five.Sensor(pin_in); // 抵抗値取得用オブジェクト定義 sensor.on("change", function() { // 抵抗値が変わったら var val = Math.floor(this.value / 4); // 抵抗値(0-1023)をPWM値(0-255)に変換 board.analogWrite(pin_out, val); // LED用ピンにPWM値を出力 }); });
実行
% node registor.js 1487422161958 Device(s) /dev/ttyACM0 1487422161965 Connected /dev/ttyACM0 1487422165206 Repl Initialized >>

関連資料・記事
[Arduino] Node.jsのJohnny-Fiveフレームワークを使ってArduino UnoでLチカ
[Arduino] ArduinoをNode.jsで操作する準備としてArduinoにFirmataプログラムを書き込む際にArduino IDEを使わずコマンドラインで実行する方法(GORT)
参考サイト
Arduino (Wikipedia)
Arduino技術情報 (Qiita)
Arduino関連情報 (Device Plus)
Arduino記事一覧 (Think IT)
Node.js技術情報 (Qiita)
Johnny-Five技術情報 (Qiita)
エレクトロニクス豆知識 (ROHM)