Intel EdisonでRotary Angle Sensorを使ってみた

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

弊社のIntel Edisonに関する過去記事はこちらをご参照ください。

今回はIntel EdisonにGrove - Rotary Angle Sensorを接続してみました!

やってみた

使ったデバイス

Intel Edison Kit for Arduino + Grove Starter Kitです。GroveベースシールドのA0ポートにRotary Angle Sensorを、D3ポートにLED Socket Kitを繋いでいます。

IMG_0430

XDKで書いたコード

PWM制御についてはIntel(R) XDK IoT Edition node.js Templatesを参考にしています。

//Rotary Angle Sensorを定義。
var upm = require('jsupm_grove');
var myRotary = new upm.GroveRotary(0);

// LED Socketを定義。
var mraa = require('mraa'); 
var pwm3 = new mraa.Pwm(3);
pwm3.enable(true);
pwm3.period_us(2000);
var brightness = 0.0;

setInterval(function () {
  var abs = myRotary.abs_value();
  // Rotary Angle Sensorの最大値が1024のため、1024で割って、
  // 0.0-1.0の範囲にbrightnessを設定している。
  var brightness = abs / 1024;
  pwm3.write(brightness);
}, 20);

試してみる

edisin: ロータリーアングルセンサー

smokey monkeyさん(@smokeymonkey)が投稿した動画 -

さいごに

これで音量調整とか出来ると面白いなと思いました。スピーカーとかも繋げられるのかな。調べてみます。