3. Groveスターターキット
Arduinoとつなぐだけで様々な素子を動作させることのできるGrove Starter Kitを使ってみましょう。動作の様子とスケッチがリンクされていますので、実際に自分の手で動作を確認して、ソースコードがどうなっているかを大雑把に見ておきましょう。
Arduinoの拡張を目的として、Arduinoの上にかぶせるようにして取り付ける基板(シールド)が作られています。ユニバーサル基板だったり、無線ボードを載せたものなどが存在しますが、Grove Starterキットには、 各種センサを入出力ピンとコネクタを通して簡単に連結できるようなシールド基板 が付属しています。
Arduinoのピン配列に合うように、シールド基板をまっすぐ取り付けます
USBケーブルでパソコンと接続してパイロットランプが光れば正常に動作しています。
VCC
は電源供給、GND
はグラウンド(電池のマイナス端子)に接続されることを意味しています。
D2
,D3
などと書いているコネクタにさらに小さい文字でD2
と書いてある分は、デジタルIOピンの2番に接続されるという意味です。
A0
などは同様にアナログ入力ピンの0番に接続されています。
VCC
は電源供給、GND
はグランド(電池のマイナス端子)に接続されることを意味しています。
SIG
と書かれた線は、アナログ電圧が出力されたり、デジタルIOを用いたりする要の部分です。
NC
と書かれているものはNot Connected
の意味で、不使用のピンであることを示しています。
以下に、Groveで使用可能なセンサやアクチュエータ(=動く素子)やディスプレイの動作する様子とスケッチを記載しておきます。 まず動画を見て、実際にスケッチをコピーして動作を確かめてみましょう。
※スケッチはどちらも同じものを使います。
指でプッシュするタイプのスイッチ(タクトスイッチ)と、静電容量を用いるタイプのスイッチ(タッチセンサ)が用意されています。 別な部品の動作の起点にするのには必須だと思います。
音の大きさを測ることができます。
上の例では、スマホから出る音の大きさに応じてLEDの明るさを変化させています。
例えば、電車が来るアナウンス音を利用して、あたかも電車の風で広告が変化しているように見せる応用例もあります。
光の明るさを検出することができます。
上の例はセンサの部分の明るさに応じてLEDの明るさを変えるデモで、手でセンサを覆うとLEDが明るくなります。
人が近づいてきたら反応するような動きに向いているかもしれません。
動画が分かりづらいですが、人間の指が触れると、表示される体温が変化していきます。
コーヒーの温度が冷めるのを検知、なんてこともできるでしょうし、逆に冷蔵庫に入ったら何らかの動作するお皿、なんてこともできるでしょう。
みんなおなじみLEDです。analogWrite関数を使ってじわじわと光るようになっています。
スケッチを読んで、analogWriteの挙動を考えてみましょう。 教えていないプログラムの書き方があるので、メンターに聞いてみるといいです。
音を鳴らすことができます。例えば、タッチしたらブザーがなるようにすれば警報機なんかを簡単に作れるでしょう。
リレーは他の素子よりもマニアックです。 電流のON/OFFを操作できるスイッチですが、ON/OFFの切り替えを、電流を通してArduinoから行うことができます。
Arduinoからそのまま供給できないような大きな電力を使うデバイス、例えばモーターなどを使うときなどに、電池との接続のON/OFFを切り替える時に便利です。
Hello, World!と表示されています。
以下の三つのファイルを同じディレクトリにおいて実行してください(Helloworld.inoが他の二つのファイルを参照するので、見えるところに置く必要があります)
HelloWorld.ino
rgb_lcd.cpp
rgb_lcd.h
LCDはいわゆる小型の「液晶ディスプレイ」です。 シリアル通信により文字を送信し、表示することができます。
既に便利なライブラリが用意されているので、送りたい文字列を読み込んで文字を表示することができます。
注意: LCDモニタは、入力電圧を5Vにしないと動作しません!上手く動かないときはシールドのVCCスイッチを「3.3V」ではなく、「5V」に設定しましょう。