littleBitsのArduinoモジュールで入出力値を連携してLED点滅間隔を調整してみた

littleBitsのArduinoモジュールで入出力値を連携してLED点滅間隔を調整してみたメモです。

すでに入力と出力それぞれは出来上がっているので、組み合わせて連携してみます。

0-1023という値変動をどんな風に使うか

ひとまず値を加工せずになるべくシンプルに0-1023という値変動を使えないかというところで、LEDの点滅タイミングをミリ秒(1000ミリ秒で1秒)で指定してみることにしました。

以下の写真の通り、左右レバーで調節するとLEDの点滅が変わるようにしています。

image_20150409_114144_1

ただし、例えば50という値とした場合、なんと0.05秒。こんな高速点滅だとかなり視認しにくいので、100ミリ秒は加えます。

Arduinoコード

Arduinoのコードは以下のとおりです。

int led = 5;

void setup() {
  Serial.begin(9600);
  //
  pinMode(led, OUTPUT);
}

// the loop routine runs over and over again forever:
void loop() {
  // A0から取得 レバーから0-1023の値が来る
  int sensorValue = analogRead(A0);
  // Serial.println(sensorValue);  // 計測間隔まで影響をうけるのでいずれ直す
  // あまりにも短いと見えづらいので100ミリ秒をチョイ足し
  sensorValue += 100;
  // 点滅
  digitalWrite(led, HIGH);
  delay(sensorValue);
  digitalWrite(led, LOW);
  delay(sensorValue);
}

実際に動く動画

実際に動く動画はこちらです。いい感じに点滅量が変わります。

実はこの動画の公開方法で散々悩んだのは秘密。

おわりに

いかがでしたでしょうか。

基本的な入出力が出来まして、入力側を人感センサーなど様々なキッカケ(センサー)に変えてみたり、出力側をサーボやブザーなどに変えてみるのも、使った感じが変わってきそうです!

引き続き、いろいろと実験を進めていきます。

それでは、よきArduino & littleBits Lifeを!