Arduino Groveシステムの使い方①

さて、久しぶりに本業(?)の電子工作のお話でも。

 

ちょっと色々センサを使う必要が出て来たので、前から存在は知っていたものの手を出していなかったGroveシステムに手を出してみました。Groveシステムは簡単に言うと、Arduinoでセンサやアクチュエータをより簡単に扱えるようにするためのプラットフォーム、といったところでしょうか。専用のシールドに、Grove対応のセンサやアクチュエータを挿していきます。

 

蛇足ですが、Arduino使った電子工作の話をしていると「シールドなんて使ってんじゃない」的に話されることがたまにあったりします。多分「技術者ならそんなもんに頼らず自分で回路ぐらい組め」とか「シールド使うと図体がデカくなって扱いにくいだろうが」という意味合いがあるのでしょうが、個人的にはシールド使うのは全然アリです。プロトタイプ作る分には断然シールド使う方が早いですし、何より『換装可能な追加パーツ』ていう存在が、男心をくすぐるではないですか。子供の頃はガンダムF90とか好きでした。V2アサルトバスターとかもよい感じです。追加パーツでゴテゴテ万歳。

 

 

th_grove

まあ、これはさすがにやり過ぎだと思いますが。

とりあえず、Startert Kit (V3)と、追加で色々購入したので、ちょっと動かしながら色々メモ。

 

<LED & タッチセンサ>

動作確認はこちらの”Grove_Button”のサンプルソースを使えばOKですが、間違いがあるので注意(2014/8/9時点)。20行目はif(digitalRead(pinLed))  ではなくif(digitalRead(pinButton))です。たかだか30行のコードで何故こんな単純ミスが。。。

th_grove_led

ちなみに両者ともスターターキットに含まれていますが、LEDモジュールがちょっとわかりにくいので注意。上の写真では基盤に青色LEDがくっついてますが、パッケージ開けた段階では基盤とLEDは分離しています。別袋で赤、青、緑 のLEDが入っているので、好きなものを選んで適当に足を切って基盤に挿してやると、上記のような形になります。

 

<LCDモジュール>

スターターキットに含まれています。正式には”LCD RGB Backlight“。サンプルはこちらの”Grove_LCD_RGB_Backlight_LCD“にありますが、こちらは使いません。ライブラリが必要になるので、同じ場所の”libralies”以下にある”Grove_LCD_RGB_Backlight_LCD”フォルダの方を自身のArudino IDEのlibraliesフォルダにコピーします。これで、Arduino IDEの”スケッチの例”メニューから、”Grove_LCD_RGB_Backlight_LCD“のサンプルが開けるようになります(libralies以下の”rove_LCD_RGB_Backlight_LCD“だけあればOKです)。

で、さっそくサンプル”HelloWorld”を実行してみましたが…うまく動いていません。バックライトの色はプログラム通りですが、文字が出ません。

th_lcd_false

こんな感じ。I2C接続なので、ライブラリのアドレスでも間違ってるのかなーと思って色々調べていたら、ここに答えが書いてありました。うーん、SeeedStudioのwikiのFAQはリンクが小さいからいつも見落とす…

“The working voltage of Grove – LCD RGB Backlight is 5V. So switch to 5V power while you are using Base shield V2.”

確かに、よく見たらシールドに3.3Vと5Vの切替スイッチがあります。出荷状態だと3.3Vになっていたので、これを5Vに切り換えてやると、無事”HelloWorld”が表示されました。

lcd_switch_true

赤の点線丸が切替スイッチです。

 

あれ、ということはGroveシステムは3.3V駆動のガジェットと5.0V駆動のガジェットは共存できないということ?

とりあえず、先に紹介したタッチセンサは2.0〜5.5V駆動だそうなので、併用可能。LEDの方も3.3V/5.0Vの両対応なので、大丈夫。でもこれからは色々繋ぐ前に気をつけなければ…

 

まだまだモジュールはありますが、いったんここまで。