arrow-right hamburger logo-mark social-facebook social-github social-twitter
2016.12.15

littleBits Arduinoモジュールでより細かく値を入出力して状況を伝えよう

田中正吾

こんにちは、dotstudioライターの田中正吾です。電子回路のパーツを磁石でパチパチとつなげるだけで電子工作ができる「littleBits」の連載をLIGブログでおこなっています。

本記事では、これでの連載とは少し視点を変えて、 littleBits Arduinoモジュールでより細かく値を入出力するアナログ入出力 をご紹介します。では、さっそく始めていきましょう!

より細かく状況を伝えるアナログ値

いままで、ボタンを押すと何かが起こるON/OFFの反応で説明していましたが、実はARDUINO CODING KITには、より細かく状況を伝えるアナログ値を扱う入出力モジュールがあります。

たとえば、DIMMERモジュール(真ん中にあるダイヤル状のツマミのモジュール)は、ツマミを回すことで電気の流れが0~100%と変わります。またBAR GRAPHモジュール(右)は流れる電気によって光るLEDの数が変わります。

つまみを回しきったとき。

半分ぐらいまでひねったとき。電流50%のときですね。

ON/OFFではセンサーが「反応した」「反応していない」という2つの情報しか伝えられませんでした。しかし、このように電流の量によって度合いを伝えることができると、たとえば光センサーモジュールを使ったときに明るさを「暗い」「やや暗い」「やや明るい」「とても明るい」といったように、より細かく伝えることができます。

アナログ値をArduinoモジュールで計測してみる

それでは早速アナログ値をArduinoモジュールで計測してみましょう。

DIMMERモジュールをArduinoモジュールの入力2番目のA0に取り付けます。

Arduinoモジュールでアナログ値を計測するには analogRead 関数を使います。Arduinoモジュールで計測できるアナログ値は0%は0として、100%は1023として計測できます。

void setup() {
  Serial.begin(9600);
}

void loop() {
  int sensorValue = analogRead(A0);
  if(sensorValue>0){
    Serial.println(sensorValue);
  }
  delay(1);
}

このコードを書き込んで、シリアルモニタで数値を見てみます。

DIMMERをひねると値が変わります。

シリアルプロッタのほうがよりわかりやすいですね。

DIMMERモジュールのツマミにあわせて点滅を変えてみる

DIMMERモジュールのツマミの度合いが取れるようになったので、ツマミに合わせてBARGRAPHモジュールの点滅の仕方を変えてみましょう。

このように、さきほどのDIMMERモジュールとArduinoモジュールをつないだものに、BAR GRAPHモジュールも加えます。

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

void loop() {
  int sensorValue = analogRead(A0);
  if(sensorValue>0){
    Serial.println(sensorValue);
    digitalWrite(5,HIGH);
    delay(sensorValue);
    digitalWrite(5,LOW);
  }
  delay(sensorValue);
}

このように書いたコードをArduinoモジュールに書き込みます。

DIMMERモジュールのつまみに対応して、点滅の仕方が変わるようになりました。

さらにサーボに変えてみる

ARDUINO CODING KITのサーボに変えてみました。LEDよりもわかりやすくなりますね。

サーボに顔をつけてみます。

ツマミに合わせて顔がビクビクするものに早変わりします! 磁石で電子工作できる「littleBits」のArduinoモジュールで、入出力の連携をしてみようで試した「三三七拍子するパンダ」はまだ動物らしい動きに見えましたが、この顔ネタはなかなかに気持ち悪いです。夢に出そう。

おわりに

今回はlittleBits Arduinoモジュールで より細かく値を入出力するアナログ入出力 をお伝えしました。ネタはひとつなのに、モジュールを付け替えるだけで光から動力へと変化します。工作物によって伝わる印象も変わるのがlittleBitsの面白いところです。

そして、アナログ値を扱うとON/OFFよりも細かく状況を伝えることができたり、動きにもアクセントを持たせるたりすることができます。

みなさんも、ぜひいろいろなことを試してみてはいかがでしょうか。

littleBitsのハックには、LIGブログのlittleBitsではじめるArduino連載、ならびに拙著『「littleBits」ではじめる電子工作』もぜひご参照ください。