虹の色と抵抗カラーコードは異なる

rainbow-resistor

2000年公開の映画『雨あがる』。ご存じ、日本アカデミー賞最優秀作品賞受賞作を改めて見ました。なんと16年前に見た時の感想と、今の私の感想が真逆でした。当時は、主人公の剣がやたら強いことに惹かれて、試合で勝つときの誇らしさが一番の面白さでありました。当然たくさん剣を披露してくれないと楽しくないし、実力があるのに不運な主人公には不満も感じてました。見終わるともう少し戦ってほしい、なんて物足りなさがばかりが残る気持ちになったのを記憶しています。
対して、改めて見た感想は、見終わって大満足、あれ、こんなに素晴らしかったかな、映画を見て心が洗われるような気持ちになりました。雨あがる、の意味も今頃分かったし、人に優しくしたくなりました(自分にもですが)。
人生過ちは多少なりとありますが、「大切なことは、何をしたかでなく、何のためにしたか」(作品中の言葉)なのです。私も当時から16も年をとってますので、感性が変わるのは当然でしょうけど、変化の方向が技術だけでなく人間的に成長になってれば良いなと思います。

雨が上がったら虹がきれいです。その虹の色と抵抗カラーコードは、配色と順序が似ています。似てはいますが異なります。比較してみました。
タイトルの虹っぽい絵や、下の表を見ればわかりますが、虹の外側からの色の並びと抵抗のカラーコードの並びが同じになっているように見えますよね。

rainbow-resistor-table

例によってこの表ですが、わざわざ書かなくてもよい以下のようなスクリプトで生成しています。書かなくても良い、というのは、スクリプトを書いて表を生成するよりも、表だけを作った方が早いからです。つまり訓練のためです。剣豪になる訓練と同じです、きっと。

~$ cat -n colortable.pl
     1	@colors=(
     2	"0:black:",
     3	"1:brown:",
     4	"2:red:red",
     5	"3:Orange:orange",
     6	"4:Yellow:yellow",
     7	"5:green:green",
     8	"::cyan:",
     9	"6:blue:blue",
    10	"7:purple:purple",
    11	"8:gray:",
    12	"9:White:",
    13	"-1:Gold:",
    14	"-2:Silver:",
    15	);
    16	
    17	foreach(@colors){
    18		my($num,$resistor,$rainbow)=split /:/;	
    19		$darklight= $resistor =~ /^[a-z]/ ? "CLASS=light":"";
    20		$mul=$resistor ne "" ? "x 10<SUP>$num</SUP>" :"";
    21		$resistor=lc $resistor;
    22		push @table, "<TR>";
    23		push @table, "<TD $darklight bgcolor=$rainbow>$rainbow</TD>";
    24		push @table, "<TD $darklight bgcolor=$resistor>$resistor</TD>";
    25		push @table, "<TD>$num</TD>";
    26		push @table, "<TD>$num</TD>";
    27		push @table, "<TD>$mul</TD>";
    28		push @table, "</TR>";
    29	}
    30	
    31	print <<EOL;
    32	<STYLE TYPE="text/css">
    33	<!--
    34	TD { width: 80px; text-align: center; }
    35	.light { color:white; }
    36	-->
    37	</STYLE>
    38	
    39	<TABLE border=1>
    40	<TR><TH>虹の色</TH><TH>抵抗の色</TH>
    41	<TH>Band A</TH> <TH>Band B</TH> <TH>Band C</TH>
    42	@table
    43	</TABLE>
    44	
    45	EOL
~$

表を見ると気づきますが、濃い色だと文字色を白色に、薄い色だと文字色を黒色にしています。一見、@colorsを見ても、薄い濃いという情報は格納されていないように見えますが、文字の頭が大文字か小文字かで判定しています。

では抵抗の読み方です。
resistor-sample
抵抗は上記のような外観ですが、もう少し見やすくした絵を描きました。
resistor-picture

1番左の帯をBand A、順に Band B、Band Cとします。 これが先ほどの表のBand A〜Band Cに相当します。本当はBand DやEまでありますが、今回はさわりだけにしておきます。

例)
resistor-103

Band AとBand Bは、茶、黒なので、表によるとそれぞれ、1と0。
Band Cは、オレンジ、表によると 10の3乗。つまり、
10 × 1000 = 10000=10kΩとなります。

色で抵抗値が区別できるようになっておきたいです。これも、訓練するために、下のようなスクリプト書きました。

~$ cat -n resistor.pl
     1	push @ARGV,9;
     2	
     3	@colors=("black",
     4	"brown","red","orange","yellow","green",
     5	"blue","purple","gray","white",
     6	"gold","silver");
     7	
     8	print <<EOL;
     9	<STYLE TYPE="text/css">
    10	<!--
    11	.table1 { width: 320px; border: 1px black solid; }
    12	.table1 TD { height: 90px; width: 20px; }
    13	.td0 { background-color: $colors[shift] ; }
    14	.td1 { background-color: $colors[shift] ; }
    15	.td2 { background-color: $colors[shift] ; }
    16	.td3 { background-color: $colors[shift] ; }
    17	.td4 { background-color: $colors[shift] ; }
    18	-->
    19	</STYLE>
    20	
    21	<TABLE CLASS='table1'><TD><TABLE><TR>
    22	<TD></TD><TD CLASS=td0></TD>
    23	<TD></TD><TD CLASS=td1></TD>
    24	<TD></TD><TD CLASS=td2></TD>
    25	<TD></TD><TD></TD><TD CLASS=td3></TD>
    26	<TD></TD><TD CLASS=td4></TD>
    27	</TR></TABLE></TD></TABLE>
    28	
    29	EOL
~$

使用例です。

~$ for i in `seq 6`;do perl resistor.pl $i `expr $RANDOM % 8 + 1
` `expr $RANDOM % 8 + 1` `expr $RANDOM % 9` >> aaa.html;done

このようなランダムな抵抗帯が並んでいきますので、色と数字を調べ調べ、覚えていきましょう。
random-resistors

3 responses to “虹の色と抵抗カラーコードは異なる

  1. Pingback: SVGで図形を描く | コマンドの達人

  2. Pingback: 抵抗のカラーコードをゲームで覚える | コマンドの達人

  3. The honetsy of your posting shines through

Leave a Reply

Your email address will not be published. Required fields are marked *

CAPTCHA