Webの闇を光で照らす(物理)

光 Advent Calendar 2014 5日目の記事です。

とあるWeb制作者の方が「Nexus 7 の対応は闇だ」と話していたので、光で照らすことにしました。

Nexus 7をLEDの光で照らす

※これはネタ記事です。デザインや Web の技術とは 1px も関係ありません。

用意するもの

  • Nexus 7(闇)
  • 白色LED(光)
  • PocketDuino(Arduino Uno でも可)

PocketDuino

PocketDuino

Arduino / PocketDuinoとは

Arduino は、初心者向けマイコンボードの一種で、C++言語風の「Arduino言語」または「スケッチ」とよばれるプログラムを PC や Mac から USB 経由で書き込み、実行することができるものです。

参考: 最近話題の『Arduino』とは一体何なの?何ができるの?まとめ | IDEA HACK

PocketDuino は、Arduino 互換機の一種です。
Android 上で「Arduino言語」を書いたり、ファームウェアをアップデートしたり、センサーの値を受け取って Android アプリに渡したりできます。

PocketDuino は、まだ市販されていませんが、先日の Maker Faire Tokyo 2014 で販売されていたものを購入しました。

今回は、Nexus 7(闇)の電力を使って、白色LED(光)で照らすことにしました。

プログラム

まずは、「Arduino言語」または「スケッチ」とよばれるプログラムを書きます。
Arduino IDE とよばれる開発環境には、最初から LED を点滅させるプログラムが最初から入っていますので、そちらを少しだけ書き換えて使います。

// LED connected to digital pin 2 
const int led = 2;

// the setup routine runs once when you press reset:
void setup() {
  // initialize the digital pin as an output.
  pinMode(led, OUTPUT);
}

// the loop routine runs over and over again forever:
void loop() {
  digitalWrite(led, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);               // wait for a second
  digitalWrite(led, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);               // wait for a second
}

2行目で、定数 led に、2 を代入していますが、これは PocketDuino のデジタルピン 2 に LED を接続するということです。
変数でも構いませんが、プログラムの実行中に LED を別のピンに差し替えることはないため定数にしています。

12行目の digitalWrite(led, HIGH) で、LED を点灯させ、次の行の delay(1000) で1秒待たせています(つまり、LED は1秒点灯し続けます)。

14行目の digitalWrite(led, LOW) で LED を消灯させ、次の行の delay(1000) で1秒待たせています(つまり、LED は1秒消灯し続けます)。

12〜15行目は void loop() {} で囲まれているため、12〜15行目はひたすらループします。

つまり、1秒ごとに LED が点灯したり消灯したりという動作を繰り返します。

セットアップ

Mac に PocketDuino を USB 接続し、Arduino IDE で (→) ボタンを押すと、プログラムがコンパイルされて PocketDuino に書き込まれます。

Arduino IDE

LED の長い方の脚を PocketDuino の2番ピンに、短い方の脚を PocketDuino の GND と書かれているピンに差し込みます。

PocketDuino

PocketDuino の USB 端子を、Nexus 7 下部の USB 端子に差し込みます。

すると、Nexus 7 から PocketDuino に電力が供給され、LED が点滅を始めます。

明日の 光 Advent Calendar 2014 は KanaLier さんです。

If you like this article click the Facebook “Like” button to share it with your friends!