楽しく二進法入門!Hana道場発のLEDサイコロ基板がUpverter公式Twitterで紹介されました。
Hana道場発の楽しく二進法が学べるキット「LEDサイコロ基板」をご紹介!
商品ページ:https://hanadojo.official.ec/items/24804122
はんだ付け方法:http://hanadojo.sblo.jp/article/186826146.html
Our users from Japan has created a schematic compatible with IchigoJam pcb products. A simple dice roller that will display the numbers on each individual LED.https://t.co/MNQovDr9Vs@octopart @altium @PCBNGinc #upverterprojects #randomnumbergenerator #dice #board pic.twitter.com/l2A1J5Bgjh
— Upverter (@upverter) 2020年11月11日
Our users from Japan has created a schematic compatible with IchigoJam pcb products. A simple dice roller that will display the numbers on each individual LED , like a dice!https://t.co/uriErvkyFO@gumstix @altiumdesign pic.twitter.com/fr6yoOjWeQ
— Upverter (@upverter) 2020年12月11日
↑僕が初めて基板設計をした作品がこのLEDサイコロ基板(基板データ)
無料・web上で基板設計ができるサービスUpverterの公式アカウントで紹介もされました。
IchigoJamに接続し、LEDをサイコロの目の配置で光らせます。
(接続)
(6の目)明るい場所
(1の目)暗い場所
LEDはそれぞれIchigoJamのOUT1〜7につながっています。
1の目を光らせる時はこのように書きます。
OUT4をオン(1)
簡単ですね。
しかし、サイコロ6の目はどうなるでしょう?
サイコロの6の目を再現するには少々長くなりますね。
ここで登場するのが二進法です。
(この基板は二進法を楽しく学ぶためにつくりました)
二進法は、0と1の二つの数だけで全ての数を表現します。
(ただ、0と1だけでは桁が増えすぎて人間には分かりづらいので、普段は十進法0〜9の十個の数で表現しています)
二進法を使うとサイコロ6の目に光らせるには下のようになります。
IchigoJamのOUTポート1,2,3,5,6,7をオン(1)、4をオフ(0)にしています。
これでも相当短くなりましたが、この二進法を十進法に変換するとより短くなります。
たった「OUT119」だけで6つのLEDが同時に制御されました!
個別に6つ制御
各サイコロの目の十進法への変換はこんな感じです。
(累乗のわかる人向け)
(累乗がわからない小学生向け)
光らせたいLEDに書いてある数字を足せばOK!
例)サイコロ4の目の時
1+4+16+64 = 85
(ランダムにサイコロを振るプログラム)
20 OUT [RND(6)]
(音と光の演出付き)
<やってみよう>
・LED7つ全てを十進法で光らせてみよう!
・LED7つ全てを消してみよう!
・スゴロクを作ってみよう!
ーーーーーーー
(補足)
ロボット(カムロボなど)のモーターを2つ同時に制御するのに十進法表現がよく使われます。
<OUT2とOUT5をオン>
◆二進法の場合
◆十進法の場合
2^4 + 2^1 = 16+2 = 18
<OUT1とOUT6をオン>
◆二進法の場合
◆十進法の場合
2^5 + 2^0 = 32+1 = 33
OUT18やOUT33の謎が解けましたね!
CC BY shoichi1031da / @shoichi1031da