
こちらの記事について、内容・翻訳・視点・長さなど、皆様のご意見をお送りください。今後の記事製作の参考にしたいと思います。

Thank you! Your feedback has been received.

There was a problem submitting your feedback, please try again later.

こちらの記事の感想をお聞かせください。
モジュールの一部を使用して、基本的なプロジェクトを作成する。
Seeed社によって提供されているGroveシリーズは、センサーやアクチュエータをモジュール式に、簡単に拡張できるシステムです。Arduinoなどのマイコンボードにセンサ、モニタ、各入出力などの「モジュール」を簡単に接続できる。そのため、超短時間でのプロトタイピングに最適だ。
緑色のボックスの中身
Grove - スタータキット(Arduino対応) (174-3221) には、Groveインターフェイス(ベースシールド)と、15個のモジュールが含まれている。つまり、モジュールのいずれかをベースシールドでArduinoに接続できる。はんだ付けや追加ワイヤは不要なため、キットで提供されているモジュールに速く簡単に取り掛かることができる。
キットの内容は、以下のとおりだ。
- ベースシールド x 1
- Grove – LCD RGBバックライト
- Grove – スマートリレー x 1
- Grove – ブザー x 1
- Grove – サウンドセンサ x 1
- Grove – タッチセンサ x 1
- Grove – 回転角度センサ x 1
- Grove – 温度センサ x 1
- Grove – LED x 1
- Grove – 光センサ x 1
- Grove – ボタン x 1
- DIP LED 青/青 1
- DIP LED 緑/緑 1
- DIP LED 赤/赤 1
- ミニサーボ x 1
- Groveケーブル x 10
- 9Vバレルジャックアダプタ x 1
これらがおしゃれなライトグリーンのプラスチックボックスに入っており、さらに折りたたまれたA3サイズの取扱い説明書が1枚入っている。この紙の片面にはキットに含まれるモジュールに関する情報と、使用を開始するためのサンプルが記載されている。
ベースシールド
Groveシステムの要となるのは、ベースシールドだ。これは、他のシールドと同じくArduinoにぴったりで、8個のデジタルポート、4個のアナログポート、4個のI2Cポートを備えている。これらはすべて同じ4ピンソケットなので、どのポートにも付属のケーブルを使用できる。
さらに、1個の電源LEDと1個のリセットボタンに加え、使用しているマイクロコントローラボードによって5Vと3.3Vのいずれかを選択できる電源トグルスイッチが1個ある。私はArduino Unoを使用しているため、スイッチを5Vに切り替えた。
モジュール
Groveは、70種類を超えるモジュールを提供している。このキットにはさまざまなセンサとユーザーインターフェイスが含まれており、それらを見ればGroveシステムで何ができるかが分かる。センサには、温度、光、音声などのモジュールが含まれており、バックライトRGB LCD、サーボモータ、LED、ブザーに加え、必要なすべてのケーブルが付属している。
さらに、キットには、さまざまな補足資料に加え、印刷された取扱説明書が含まれている。SeeedのWebサイトにはWikiと[Projects](プロジェクト)セクションがあり、GitHubGroveモジュールで使用するArduinoスケッチなどのファイルが公開されている。
サンプルスケッチでさまざまなモジュールを試す
サウンドセンサ
サウンドセンサは、スタータキットに付属しているデモの1つだ。私はサウンドセンサとLEDを手順に従って接続した(LEDをソケットの正しい方向に取り付けたことも確認した)。付属のスケッチでは、LEDがデフォルトでオンに設定されており、音声が検知されるとオフに切り替わるようになっていた。これではあべこべに思えたので、スケッチを編集し、スケッチのLEDピンの「High」と「Low」の設定を逆にして、音声が検知されるとLEDがオンになるようにした。さらに、「thresholdValue」を変更して、マイクの感度を少し下げた。
// demo of Starter Kit V2.0 - Grove Sound Sensor
// when sound larger than a certain value, led will on
const int pinSound = A0; // pin of Sound Sensor
const int pinLed = 7; // pin of LED
int thresholdValue = 70; // the threshold to turn on or off the LED
void setup()
{
pinMode(pinLed, OUTPUT); //set the LED on Digital 12 as an OUTPUT
}
void loop()
{
int sensorValue = analogRead(pinSound); //read the sensorValue on Analog 0
if(sensorValue>thresholdValue)
digitalWrite(pinLed,LOW);
delay(200);
digitalWrite(pinLed,HIGH);
}
光センサ
もう1つのシンプルなサンプルは、光レベルが設定値を下回ると、LEDがオンになるというものだった。これもモジュールへの接続は簡単で、短いスケッチを簡単に編集して、LEDがオンになる光レベルを変更できた。
これがどんなに便利かはすぐに分かった。暗い冬の夜に、LEDをオンにして玄関ドアまでの階段を照らすことができる。
少し複雑なプロジェクト
ラッキーダンプリング
キットのマニュアルに、このプロジェクトの手順ページへのリンクが記載されている。このページには、「a fortune teller box. Press the button to gain glimpses into your future. (占いボックス。ボタンを押して未来を占いましょう。)」と記載されている。
この手順に記載されていないのは、このプロジェクトではLCDを使用するため、Arduino IDEの関連ライブラリをダウンロードしてインストールする必要があるということだけだ。
これは、Arduino IDEのLibrary Managerで「Grove」を検索することによって、簡単に行える。
ライブラリのインストールが完了したら、LCDをI2Cポートのいずれかに接続して、ボタンをデジタルポートD4に接続できた。次に、手順ページのリンクからスケッチをダウンロードして、Arduino IDEで開いた。クリスマス後の不安でいっぱいだったため、「ラッキーダンプリング」とはあまりに陽気で楽観的過ぎると感じたが、スケッチを編集することで簡単に修正できた。
#include <Wire.h>
#include "rgb_lcd.h"
rgb_lcd lcd;
int delaytime = 200;
String msgs1[]= {"A disaster is","You will never","Screaming is the","Live Fast,", "Cry hard and", "Eat well and", "A creative ","They are all", "A dead head","Stay in bed.", "Tempus fugit.", "Bad Luck"};
String msgs2[] = {"coming soon.","be happy.","best medicine.","Die Young.", "feel better.", "get obese.", "mind is a curse.","after you.","is good.","", "", "is coming to u."};
byte bigHeart[8] = {
0b00000,
0b01010,
0b11111,
0b11111,
0b11111,
0b01110,
0b00100,
0b00000
};
byte smallHeart[8] = {
0b00000,
0b00000,
0b01010,
0b01110,
0b00100,
0b00000,
0b00000,
0b00000
};
void setup()
{
lcd.begin(16, 2);
#if 1
lcd.createChar(0, bigHeart);
lcd.createChar(1, smallHeart);
#endif
randomSeed(analogRead(A0));
}
void loop()
{
if(digitalRead(4) == 1)
{
delay(10);
if(digitalRead(4) == 1)
{
lcd.setRGB(100, 100, 0);
int randomNum = random(0, 12);
lcd.clear();
lcd.setCursor(1, 0);
lcd.print(msgs1[randomNum]);
lcd.setCursor(1, 1);
lcd.print(msgs2[randomNum]);
delay(3000);
}
}
else
{
openning();
}
}
void openning()
{
lcd.setRGB(25, 10, 25);
lcd.setCursor(1, 0);
lcd.print("Voice of Doom");
lcd.setCursor(1, 1);
lcd.print("press to check");
bouncing(15,1);
}
void bouncing(int x, int y)
{
lcd.setCursor(x, y);
lcd.write((unsigned char)0);
delay(delaytime);
lcd.setCursor(x, y);
lcd.write((unsigned char)1);
delay(delaytime);
}
スケッチをArduinoにアップロードして完成した「運命の声」デバイスは、見事に不快な一言を吐き出した。
「オブリークストラテジーズ」に適しているのではないかと思えた。
サーボメータ
これはシンプルな温度検知器(温度計)で、Groveのサーボモータのアームを動かすことによって温度を示す。これにも手順とダウンロード可能なArduinoスケッチが、手順サイトに公開されている。
サーボに長いアームを追加することで読み取りがより明確になり、既存の温度計を使用して簡単に較正できる。私は気温を表示するためにこれを使用したが、冷却状態、つまりPCなどの内側の監視に使用すれば、緊急時のシグナルにもなるだろう。
まとめ
このキットは、Arduinoをさまざまなセンサや出力方法と組み合わせ、実際に使用したい方がはじめに使用するのに最適なキットだ。簡単に始められるだけでなく、Seeedによって楽しい導入プロジェクトが提供されている。インターネット上にさまざまなモジュールの補足資料が多数公開されているため、簡単に開発してより複雑なプロジェクトを作成できる。