ネーミングセンスに突っ込んだら負けです。
▲#FF0000(赤)
▲#00FF00(緑)
▲#0000FF(青)
Arduino Nano, RGBLED, ロータリーエンコーダ3つ, そしてLCDディスプレイを使って、カラーコードに対応した色が点灯するようなモジュールを作ってみました。
まずはカラーコードについて。例えば「きみどり色」のときを考えてみよう。なんで黄緑色なのかっていうと、単純に一番好きな色だからですwペイントツールとかで、色を詳細に設定しようとすると...
こんなのが出てくる。これによると、黄緑色のカラーコードは#B2D235であることがわかる。B2は赤、D2は緑、35は青に対応していて...
...えっこれもしかして加法混合とか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そのものもそこまで完璧に色を表せるわけじゃないし、しょうがないんじゃないですかね。
最終的には私のさじ加減になっちゃうのですが、任意の色を表すことはできるので、それなりに満足はしています。
用途:各器具の制御に必要。直ではんだ付けをしたくないので、1列*15ピンのソケットを2つ使っています。
型番:EC12E2430803
用途:0-255の範囲で値をコントロールするために使用。R,G,Bそれぞれの値を変化させたいので、3つ使用。
めっちゃ固い。全然回ってくれないことに注意。しっかり土台部分をもって回すこと。気を抜くとバキッと行きます。3Dプリンターとかがあるなら、アタッチメントを作って回しやすくしよう。
型番:AQM1602Y-RN-GBW
用途:R, G, Bそれぞれの数値と16進カラーコードを表示するために使用。バックライトがないから、暗いところだと見えない。
型番:PL9823-F5
用途:今回の主役。入力を受け取ると、その値に応じた色に点灯してくれる。
▲きつかったです。
くっっっそ不器用+はんだ付けスキルが0に等しいような人です。よくやったほうじゃないですかね?
そういえば3Dプリンターはちょっと前に壊れてしまったので、箱は作れませんでした。残念。