RGBジェスチャーセンサー(GY-9960)を使って色別測定モニター機を作ってみた‼(Arduino Nano)(SSD1306)

最終更新日

Comments: 0

こんにちは!

今回は色を識別し、それをモニターに表示させる装置を作ってみたいと思います‼

 

これができると、例えば色によって道を選ぶ装置などが作れ、すごいロボットっぽい物が作れるようになります^^

 

今回もはんだ付け無し、ブレッドボードのみで作れますので是非‼


①「使う部品」

今回の部品もすべて電子工作ステーションさんので揃えられます。

もちろんすでにお持ちの部品があれば、それを使って節約しましょう!

 

・RGBジェスチャーセンサーモジュール(GY-9960)

電子工作ステーション 480円(500円以上で送料無料)

※はんだ付けされていない状態です。はんだ付けが必要な方ははんだ付けサービスも同時にご購入をお勧めします。

今回はセンサー面を裏付けします。

 

・Arduino Nano互換ボード

(今回はブレッドボード1枚で収めたいので、Nanoを使います‼)

電子工作ステーション 1180円(送料無料)

※はんだ付けされていない状態です。はんだ付けが必要な方ははんだ付けサービスも同時にご購入をお勧めします。

 

・0.96インチOLEDディスプレイモジュール (SSD1306) (ホワイトorブルー)

電子工作ステーション 480円

※今回はホワイトを使用していますが、お好みな方を選んでいただければと思います。

 

・ブレッドボード 6穴モデル

電子工作ステーション 490円

 

・ブレッドボード・ジャンパーワイヤー

電子工作ステーション 490円

 

・LED(白)(1個)

電子工作ステーション 8円

 

・抵抗(100Ωぐらい)

電子工作ステーション 3円

 

・Type-Cケーブル(持っていなければ)

電子工作ステーション 330円

 

合計3461円(2023年5月時点の価格)

(はんだ付けサービスをご利用の方は+500円となります。)

 

②「回路」

・今回はI2C通信を主にデータの入出力をしていきます。

※I2C通信について詳しく知りたい方は、お手数ですがググってみてください。

 

・Arduino NanoにはI2C通信に対応しているPinがA4(SDA)とA5(SCL)のみとなっています。

RGBジェスチャーセンサー(GY-9960)とOLEDディスプレイ(SSD1306)はどちらもI2C通信を必要とするため、一つしか接続できないのでは?

と、疑問に思うかもしれません。

 

しかし、これらのI2C通信をする物はアドレスがあり、そのアドレスが被らない限り、同じPinに接続できるのです‼

なので今回はアドレスが被らない同士なので、同じPinに接続が可能となります‼

 

ちなみに、RGBジェスチャーセンサー(GY-9960)ではSCL、OLEDディスプレイ(SSD1306)ではSCKと一部呼び方が変わっていますが、

同じSerial Clockを略した呼び方ですので、同じクロック用の信号線の意味と捉えて大丈夫です。SDAはSerial Dataの略で、データ用の信号線です。

 

GY-9960Arduino
VL (IR LEDへのオプションの電源)
GNDGND
VCC3.3V
SDAA4
SCLA5
INT2

 

 

OLEDディスプレイArduino Nano
GNDGND
VDD3.3V
SCKA5
SDAA4

 

 

LED(白色)Arduino Nano
アノード( + )3.3V
カソード( – )GND

※GND側に抵抗100Ωを通してます。

 

6穴ブレッドボードにブレッドボード・ジャンパーワイヤー、各部品を下記のように配置します。

※長めのオレンジ色のジャンパーワイヤーだけ長さが合わず、ペンチで切って長さ調整しました。

 

↑こんな感じになれば完成です‼

(Arduino Nano互換ボードに付いている黒い物体は、ランプが眩しいので絶縁テープで隠しています。)


③「開発環境」

★まず、Arudino IDEをダウンロードします!(※すでにダウンロード済みの方はスキップしてください。)

Arudino IDEダウンロードリンク→こちら

 

★次に、OLEDディスプレイモジュール (SSD1306)を簡単に使えるようにするライブラリーを2つ入れます。

Arduino IDEを開き、「ツール」→「ライブラリーを管理…」を押します。

 

そうするとライブラリーマネージャーが開くので、「Adafruit GFX Library」と検索すると、

「Adafruit GFX Library」というのが出てくるのでそれをインストールします。

同じ手順で「Adafruit SSD 1306」も追加します。

 

★最後に、RGBジェスチャーセンサー(GY-9960)を使えるようにする、APD9960ライブラリーを入れます。

Arduino IDEを開き、「ツール」→「ライブラリーを管理…」を押します。

 

そうするとライブラリーマネージャーが開くので、「9960」と検索すると、

「Arduino_APDS9960」というのが出てくるのでそれをインストールします。

これでライブラリーの導入は完了です‼

 

④「いよいよプログラミング」

APD9960ライブラリーに入っているサンプルプログラムに、OLEDディスプレイモジュール (SSD1306)のプログラムを付け加えただけです‼]

※Arduino IDEでArduino Nano互換ボードをご使用する場合は、プロセッサを「ATmega328P」→「ATmega328P(Old Bootloader)」に変えてください。

 

⑤「結果」

RGBシートを使い実際に試した結果↓

結構いい感じに取得することができました‼

このセンサーを応用すれば、ロボット作りやライントレース等、いろんな物に使えそうですね!

 

以上、ご閲覧ありがとうございました^^


コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

コメントする