Skip to content

3. Groveスターターキット

Onishy edited this page Oct 10, 2016 · 37 revisions

Grove Starter Kitの使い方

Grove Starter Kit

Arduinoとつなぐだけで様々な素子を動作させることのできるGrove Starter Kitを使ってみましょう。動作の様子とスケッチがリンクされていますので、実際に自分の手で動作を確認して、ソースコードがどうなっているかを大雑把に見ておきましょう。

シールドについて

Arduinoの拡張を目的として、Arduinoの上にかぶせるようにして取り付ける基板(シールド)が作られています。ユニバーサル基板だったり、無線ボードを載せたものなどが存在しますが、Grove Starterキットには、 各種センサを入出力ピンとコネクタを通して簡単に連結できるようなシールド基板 が付属しています。

シールドを取り付けよう

取り付け前 取り付け後

Arduinoのピン配列に合うように、シールド基板をまっすぐ取り付けます

電源を投入してみる

USBケーブルでパソコンと接続してパイロットランプが光れば正常に動作しています。

シールドのコネクタの意味

コネクタの接続(D2)

VCCは電源供給、GNDはグラウンド(電池のマイナス端子)に接続されることを意味しています。

D2,D3などと書いているコネクタにさらに小さい文字でD2と書いてある分は、デジタルIOピンの2番に接続されるという意味です。

A0などは同様にアナログ入力ピンの0番に接続されています。

センサ類のコネクタの意味

VCCは電源供給、GNDはグランド(電池のマイナス端子)に接続されることを意味しています。

SIGと書かれた線は、アナログ電圧が出力されたり、デジタルIOを用いたりする要の部分です。

NCと書かれているものはNot Connectedの意味で、不使用のピンであることを示しています。

各部品類の使い方

以下に、Groveで使用可能なセンサやアクチュエータ(=動く素子)やディスプレイの動作する様子とスケッチを記載しておきます。 まず動画を見て、実際にスケッチをコピーして動作を確かめてみましょう。

センサ

スイッチ・タッチセンサ

スイッチ動画 タッチセンサ動画

Button.ino
タッチセンサモジュール

※スケッチはどちらも同じものを使います。

指でプッシュするタイプのスイッチ(タクトスイッチ)と、静電容量を用いるタイプのスイッチ(タッチセンサ)が用意されています。 別な部品の動作の起点にするのには必須だと思います。

音センサ

動画

Sound_Sensor.ino

音の大きさを測ることができます。

上の例では、スマホから出る音の大きさに応じてLEDの明るさを変化させています。

例えば、電車が来るアナウンス音を利用して、あたかも電車の風で広告が変化しているように見せる応用例もあります。

応用例

光センサ

Light_Sensor.ino
光センサモジュール

光の明るさを検出することができます。

上の例はセンサの部分の明るさに応じてLEDの明るさを変えるデモで、手でセンサを覆うとLEDが明るくなります。

人が近づいてきたら反応するような動きに向いているかもしれません。

温度センサ

動画

Temperature_Sensor.ino

動画が分かりづらいですが、人間の指が触れると、表示される体温が変化していきます。

コーヒーの温度が冷めるのを検知、なんてこともできるでしょうし、逆に冷蔵庫に入ったら何らかの動作するお皿、なんてこともできるでしょう。

アクチュエータ・ディスプレイ

LED

動画

Grove_LED.ino

みんなおなじみLEDです。analogWrite関数を使ってじわじわと光るようになっています。

スケッチを読んで、analogWriteの挙動を考えてみましょう。 教えていないプログラムの書き方があるので、メンターに聞いてみるといいです。

ブザー

動画

Buzzer.ino

音を鳴らすことができます。例えば、タッチしたらブザーがなるようにすれば警報機なんかを簡単に作れるでしょう。

リレー

動画

Servo.ino

リレーは他の素子よりもマニアックです。 電流のON/OFFを操作できるスイッチですが、ON/OFFの切り替えを、電流を通してArduinoから行うことができます。

Arduinoからそのまま供給できないような大きな電力を使うデバイス、例えばモーターなどを使うときなどに、電池との接続のON/OFFを切り替える時に便利です。

LCD

LCDモジュール

Hello, World!と表示されています。

以下の三つのファイルを同じディレクトリにおいて実行してください(Helloworld.inoが他の二つのファイルを参照するので、見えるところに置く必要があります)

HelloWorld.ino
rgb_lcd.cpp
rgb_lcd.h

LCDはいわゆる小型の「液晶ディスプレイ」です。 シリアル通信により文字を送信し、表示することができます。

既に便利なライブラリが用意されているので、送りたい文字列を読み込んで文字を表示することができます。

注意: LCDモニタは、入力電圧を5Vにしないと動作しません!上手く動かないときはシールドのVCCスイッチを「3.3V」ではなく、「5V」に設定しましょう。