GROVEシステムとは?(Arduino詳解)

詳しく解説!!Arduino-その4です。前回の記事はこちらです。

hirocom777.hatenadiary.org

GROVEシステム登場!!

 今回は、本連載で使用するもう一つの柱-GROVEシステムを紹介しようと思います。

Lチカ実施済!!

 前回動かしてみたスケッチ。LEDが点滅させるヤツなんですが一般的に"Lチカ"って言われています。『LEDをチカチカ点滅させる』って意味ですね。でも、だからどうなのか・・・となる訳です。イルミネーションとか作れるかな・・・だけです。もっと色々やってみたいですよね。そこでGROVEシステム登場となる訳です。

GROVEシステムとは?

  GROVEシステムとは?Seeed(中国の深圳(シンセン)にあるオープンソースハードウェア企業。https://www.seeed.co.jp/)が提供しているデバイス群です。コネクター同士を繋げることによって簡単にシステム構築できます。

ベースシールド

www.switch-science.com
 Arduino Uno用GROVEシステムの中核をしめるボードです。外形はArduino Unoとほぼ同じでHeaderコネクタの配置もほぼ同じです。Headerコネクタからは基板裏側にピンが突き出ていてArduino Unoと合体できます。このようなボードのことをシールドと呼びます。他にも、いろいろなメーカーから拡張シールドが出ています。ボード上には複数の白いコネクタが配置されています。このコネクタから後述の4ピンケーブルを介して様々なデバイスに接続することができます。

4ピンケーブル

www.switch-science.com
 ベースシールドとGROVEデバイスを接続するケーブルです。4色のケーブルで電源(+5V-赤)、GND(黒)、信号(黄色、白)が供給されます。4ピンケーブルは個別に購入することもできるのですが、バイスを購入すると大概付属してきます

ボタンモジュール

www.switch-science.com
 押しボタンスイッチです。4ピンケーブルで接続すると、接続先ピンにON/OFF(HIGH/LOW)を返します。簡単な入力機能を実装したいときに使用します。コネクタが反対側についているものもあります(GROVE - ボタン(パネルタイプ) - スイッチサイエンス)。複数使用することがあるかもしれませんので2~3個用意しておくといいでしょう。

LEDモジュールwww.switch-science.com

 LEDモジュールです赤、青、緑とあります(LED本体は取り換え可能です。)。抵抗などの周辺回路も実装しているので4ピンケーブルで接続するだけで使用できます。接続先ピンの出力によって点灯をON/OFFします。こちらも2~3個用意しておくといいでしょう。

リレーモジュール

www.switch-science.com
 配線接続の切り替えなどをしたい時に使用します。接続先ピンの出力によって接点のON/OFFを切り替えます。ONの時には赤いLEDが点灯するので動作がわかりやすいです。

RGBバックライト液晶モジュール

www.switch-science.com
 液晶表示モジュールです。文字や数字、簡単な文章などを表示する際に使用します。4ピンケーブル1本の接続で色々な表示が実現できます。また、RGBバックライトがないバージョンもあり(GROVE - 16 x 2 LCD(青背景・白文字) - スイッチサイエンス)こちらは比較的安価に入手できます。

他にも沢山あるのですが、とりあえず上記があれば色々楽しめると思います。

試してみよう!!

 それでは早速試してみましょう。今回はベースシールドと LEDモジュール(+ 4ピンケーブル)を使います。段取りは以下のようになります。

・LEDモジュールの組み立て
 以下がLEDモジュールの構成(基板とLED)です。LEDの足が長い方を"+"に差し込みます。青い四角は明るさ調整用のボリュームですが、触る必要ありません。

f:id:HiroCom777:20200322182348j:plain

Arduino Unoとベースシールドを合体
 Arduino UnoのHeaderコネクタにベースシールドを刺し込みます。横から見るとこんな感じです。

f:id:HiroCom777:20200322182538j:plain
f:id:HiroCom777:20200322182506j:plain

・LEDモジュールとベースシールドを接続
 最後にベースシールドの"D3"と書かれているコネクターとLEDモジュールを4ピンケーブルで接続します。"D3"はArduino Unoの3番ピンを指します。以下のようなイメージになります。

f:id:HiroCom777:20200322182427j:plain

・スケッチ
スケッチは、前回使用したスケッチ"Blink"と同じ所にある"Fade"を使用します。今回もコメントを削除したスケッチ本体部分を抜粋しますね。また、1か所だけ変更しなければなりません。先頭行の"int led = 9;"を3に変更します。この番号はLEDを接続するピン番号を指定しているのですが残念ながらGROVEベースシールドからは9番ピンをケーブルで繋げられないんです。(Headerコネクタからは可能です。)

int led = 3;
int brightness = 0;
int fadeAmount = 5;

void setup() {
  pinMode(led, OUTPUT);
}

void loop() {
  analogWrite(led, brightness);

  brightness = brightness + fadeAmount;

  if (brightness <= 0 || brightness >= 255) {
    fadeAmount = -fadeAmount;
  }
  delay(30);
}

準備ができたら、前回同様USBケーブルでPCとArduino Unoを接続して書き込んでみてください。書き込みが完了するとLEDが点灯したと思います。でも、前回みたいなチカチカではないですよね。ふぁーっとした感じで点いたり消えたりしていませんか?(動かない人はコネクターの接続やLEDモジュールの組み立てを見直してみてください。)

次回は、GROVEシステムの中心となるこのGROVEベースシールドと、このスケッチの内容を解説していきたいと思います。お楽しみに!!
hirocom777.hatenadiary.org


Arduino UNO入門の連載記事はコチラからどうぞ!!