RGBわかる君

ネーミングセンスに突っ込んだら負けです。

カラーコードチェッカー

▲#FF0000(赤)

▲#00FF00(緑)

▲#0000FF(青)

 Arduino Nano, RGBLED, ロータリーエンコーダ3つ, そしてLCDディスプレイを使って、カラーコードに対応した色が点灯するようなモジュールを作ってみました。

ちょっとした説明

カラーコードとは

 まずはカラーコードについて。例えば「きみどり色」のときを考えてみよう。なんで黄緑色なのかっていうと、単純に一番好きな色だからですwペイントツールとかで、色を詳細に設定しようとすると...

 こんなのが出てくる。これによると、黄緑色のカラーコードは#B2D235であることがわかる。B2は赤、D2は緑、35は青に対応していて...

 ...えっこれもしかして加法混合とか16進数の説明も必要?どこまで詳しく書くべきなんだろう? うーん。レポートじゃないんだし、最低限の説明を書いておけばいいかな。

16進数

 私たちが普段使っているのは10進法ですよね。9の次は10です。位が一つ上がって、二桁であらわします。でも、16進法では9の次はAです。位は変わりません。位が変わるのはFの次です。

10進数の16は、16進数で10になります。

 うーーーーん...これだとわかりづらい気がする。表にしてみようか。

▼10進-16進対応表

10進 16進
0 0
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10 A
11 B
12 C
13 D
14 E
15 F

 ざっと書いてしまうと、こんな感じです。この後、10進が16になったとき、16進は2ケタの数になります。つまり10です。

...............................むり。

あきらめた。(Wikipediaを見よう)

 とりあえず、そういう数の表し方があるんだよってわかればいいです。とにかく、この数字とA-Fのアルファベットは、00-FFの範囲(10進法で、0-255の範囲)を取り、それぞれが2桁ずつを使って赤、緑、青の成分の強さを表します。

 小さいほど弱くて、大きいほど強い。これを使って、数字で色を表します。

丸投げ。(Wikipediaサイコー!)

結局どうなったのか

 黄緑色のカラーコードである、#B2D235(R:178, G:210, B:53)にセットしてみました。LCDの表示が安定しなくて、16進コードが見えないのが残念。

▲こんな感じになった。

 えっ?ほぼ白じゃないかって?うーん。スマホのカメラっていうのもありますけどね。肉眼で見ると、うっすーい黄緑って感じです。RGBLEDそのものもそこまで完璧に色を表せるわけじゃないし、しょうがないんじゃないですかね。

 最終的には私のさじ加減になっちゃうのですが、任意の色を表すことはできるので、それなりに満足はしています。

使用器具

Arduino Nano

用途:各器具の制御に必要。直ではんだ付けをしたくないので、1列*15ピンのソケットを2つ使っています。

ロータリーエンコーダ

型番:EC12E2430803

用途:0-255の範囲で値をコントロールするために使用。R,G,Bそれぞれの値を変化させたいので、3つ使用。

めっちゃ固い。全然回ってくれないことに注意。しっかり土台部分をもって回すこと。気を抜くとバキッと行きます。3Dプリンターとかがあるなら、アタッチメントを作って回しやすくしよう。

LCDモジュール

型番:AQM1602Y-RN-GBW

用途:R, G, Bそれぞれの数値と16進カラーコードを表示するために使用。バックライトがないから、暗いところだと見えない。

RGBLED

型番:PL9823-F5

用途:今回の主役。入力を受け取ると、その値に応じた色に点灯してくれる。

地獄のはんだ付けタイム

▲きつかったです。

 くっっっそ不器用+はんだ付けスキルが0に等しいような人です。よくやったほうじゃないですかね?

 そういえば3Dプリンターはちょっと前に壊れてしまったので、箱は作れませんでした。残念。