パズルソルバーBurrToolsで正四面体パズルを解く

テトラへクス形状に球体を連結した7種類のピースを各2個使って、一辺が球体6個の正四面体を組み上げるのが”正四面体パズル”です。

BurrToolsは球も扱えるので正四面体パズルも解くことができます。ファイルメニューからNewをクリックしてSphereを選択します。
BurrToolsでは基本が面心立方格子なので素直に形状を選んでいくと月見団子的な4角錐になります。
「正四面体パズルは三角形の底面に球を敷き詰めて、2段目は3個の球のくぼみに乗せていきます。3段目も同様にくぼみに乗せていきます。最終的に頂上に1個乗せて正四面体になります。ここで上の図を見ると四角錐の斜面が正三角形であることに気がつくと思います。この正三角形を正四面体パズルの底面とみなせばOKです。(文末参照/訂正箇所)」

正四面体になった形状の”S8-Goal”とS型ピース”S4-S”の例です。
傾けて配置する点にだけ注意すればスクエアキューブパズルで紹介したように問題を解くことができます。
スクエアキューブパズルと同じように正四面体パズルも組み方が多様で、数分で1万通りを越えましたが、全ての組み合わせを探し終わるまで500年ぐらいかかると書かれています。

「内接球を持つ切稜立方体」や「菱形12面体」で作った正四面体パズルの場合はP型、J型、Y型が表裏を持ちますので、球では成り立っていた解では組み立たない可能性があります。BurrToolsでは色を指定することでピースに表裏の区別を与えることができるようですが、正四面体パズルで表裏をつける方法があるかどうか不明です。球で得られた解答の1/8ぐらいは「内接球を持つ切稜立方体」や「菱形12面体」でも成り立つはずなので、かなり役に立つはずです。P型の上にY型2種が乗っている問題は数日かけても完成しなかったのですが、BurToolsを使って答えが見つかりました。球の場合で1906通りの答えがあり、3個目の解答が「内接球を持つ切稜立方体」で作った正四面体パズルでも成り立ちました。

正四面体パズルは面に平行にピースを置いていきますので、直角な世界から一捻りした面白さがあるのではないかと思います。
あそびをせんとやさんから「正四面体パズルは「六方最密充填構造」なので、面心立方格子の中では底面が傾いた状態にあることに注意しないといけません。」との記述は誤りですとの指摘があり、2023/5/31変更しました。

 

 

パズルソルバーBurrToolsでスクエアキューブパズルを解く

スクエアキューブパズルは手と頭を使って試行錯誤している間に組み立てることができる手軽なパズルです。数個のピースを気に入った配置に置いて問題が出来上がりです。ここから立方体をめざして組み立てます。

スクエアキューブパズルの説明

たまにはどうしても完成できないと思ってしまうような難問ができてしまいますが、本当に完成できないのか気になってしまいますね。そんな時にはコンピュータを使って調べてみましょう。パズルの解答を調べるプログラム「BurrTools」が無料で公開されています。「みたにっき@はてな」にはダウンロード先と使い方が簡潔に紹介されています。2021年にもりおか啄木賢治青春館で「幾何学が拓く新しい折り紙の世界展」を開催していた立体折り紙アートの先生ですね。

BurrToolsの使い方が紹介されているブログ記事

スクエアキューブパズルの解答を探す方法を紹介します。中心にO型を4個重ねた状態から立方体を目指す問題です。外周を残りの12個のピースで組み立てます。問題としてはシンプルですが、少し手強い問題です。解答は何通りあると思いますか?

BurrToolsによれば917通りもあります。

それではBurrToolsを使ったスクエアキューブパズルの解答の調べ方を説明します。BurrToolsを起動してファイルメニューからNewを選択すると基本形状を選択するウィンドウが開きます。デフォルトのままBrickを選択します。スクエアキューブのように小さな立方体を単位にしたピースを扱う時に使用します。

初期画面はほとんど空白の状態で無愛想な感じがしますが、「Entities」「Puzzle」「Solver」の三つのタブがあります。
「Entities」はパズルピースと組み立て後の状態を形状(Shapes)として登録するタブです。Z方向にスライスされたX-Y平面上に3次元で形状を指定します。「Puzzle」は登録した形状(Shapes)から完成形状(Result)とピースとして使う形状と個数を問題(Problem)として登録します。問題(Problem)は複数登録することができます。「Solver」は問題(Problem)を選んで解を探索させるタブです。解を記録してピースの配置を見ることができます。基本形状がBrickの場合は解を分解しながら組み立て手順を確認することができます。

「Entities」での形状(Shapes)の登録

Newボタンを押すとS1から連番でShapeを登録できます。Labelボタンを押せば、例えば、”S3″にTというラベルを追加して”S3-T”という名前にすることができます。”S3-T”の場合Shapeの範囲をX=4、Y=4、Z=1として、左端のボタン”Add normal voxels to the shape”が押されている状態でグリッドをクリックしていきます。間違えてクリックした時には左から2番目のボタン”Remove voxels from the shape”を押した状態でクリックすると削除できます。全てのピース形状を”S1-I”、”S2-O”、”S3-T”、”S4-L”、”S5-Z”として登録します。
“S6-Goal”は全てのピースを使った立方体を組み立て後の状態として登録したものです。X=4、Y=4、Z=4としました。左のスライダーでZを1から4まで切り替えながらグリッドを選択します。

“S7-Outer”は全てのZで中央の2×2を空白にして登録しました。”S1-I”、”S3-T”、”S4-L”、”S5-Z”の4種類、計12個で”S7-Outer”を組み立てるという問題にするのです。

「Puzzle」での問題(Problem)の登録

PuzzleタブでNewボタンを押すと連番でP1が作成されます。”S7-Outer”を選択して”Set Result”ボタンを押すと”Result”として登録されます。Problem”P1″で使うピース形状を選択して”+1″ボタンを押すとピースが1個追加されます。”S1-I”を3個、”S3-T”を2個、”S4-L”を4個、”S5-Z”を3個使用します。

「Solver」で問題(PROBLEM)の解を探索

解を探索する問題(Problem)を指定して、prepareボタンを押して、Startボタンを押せば解の探索が始まります。
Disassembleにチェックを入れれば分解しながら組み立て方を見ることができます。Limitで記録される解のカウント数を指定します。下のスクリーンショットは812番目の解を分解しながらチェックしている様子です。
スクエアキューブパズルはこんなにたくさんの組み合わせがあるので、難しいパズルが好きな人には向きませんが、気分転換にちょっと遊んでみたり、お互いに問題を出し合ったりして無限に楽しめるのですね。

8×8の正方形の形状を登録すれば、正方形に並べるパズルの解を探すこともできます。

長方形と正四面体パズル

難しい問題が目の前に現れた時に、考え込んで止まってしまう場合があります。熟慮した解答で一発でクリアするのは快感でしょう。天才です。
手足や体を動かして自ら動きながら考えるのは天才風ではないですが、それはそれで楽しいものです。長方形と正四面体パズルは、天才肌では無い方に送る無窮の時間です。

遊び方は簡単です。
14個のピースを箱に詰めたり、積み上げて正四面体に組み上げましょう。考え込んでいないでピースを手に持って動かしましょう。慣れてくればピースの向きを変えて自由自在に配置することができるようになります。
ピース1個は4個の小さな立体が接着されてできています。14個のピースは14 x 4 = 56なので56個の立体で作られています。すべてのピースを平面に並べた一辺が7と8の長方形も7 x 8で56個の立体です。ピースを積み上げた一辺が6個の正四面体は 1+(1+2)+(1+2+3)+(1+2+3+4)+(1+2+3+4+5)+(1+2+3+4+5+6) で 56個の立体です。

ピースの説明

テトラへクスと呼ばれている正六角形を4個並べた7種類のピースをベースにしているパズルです。ピースの名前は、形が似ているアルファベットにちなんで、C型、I型、J型、P型、S型、Y型、Z型と呼ばれています。各ピースは「内接球を持つ切稜立方体」を4個接着したものです。写真で見てみましょう。

C型ピース2個

I型ピース2個

J型ピース鏡像各1個

P型ピース鏡像各1個

S型ピース2個

Y型ピース鏡像各1個

Z型ピース2個

C型、I型、S型、Z型は同じものが2個ありますが、J型、P型、Y型は鏡像関係にある各1個です。

内接球を持つ切稜立方体

このパズルで使っている「内接球を持つ切稜立方体」は一辺が30mmの立方体のすべての辺(稜)を45度で切り落としたものです。下の写真手前右側が立方体、手前左側が内接球を持つ切稜立方体です。パズルでは写真奥左側のように内接球を持つ切稜立方体の六角形の3面が接する頂点が真上を向くように傾けて使います。画面奥の右側のように立方体の頂点が真上を向いているような置き方に対応しています。

一辺が30mmのアカマツの角材から立方体を切り出します。

一辺が30mmの立方体の12個の辺を45度の角度で切り落としたものが18の面を持つ切稜立方体となります。切り落とす深さを調整して18の面すべてで直径30mmの球が内接するようにしたものが、「内接球を持つ切稜立方体」です。加工治具は3Dプリンターで作りました。

元々の立方体の面は小さな正方形として6個残り、切り落としてできた12面は細長い六角形となります。このパズルでは六角形の面が接して長方形や正四面体が出来上がります。下の図はZ型ピースの上に「内接球を持つ切稜立方体」を乗せようとしている様子です。赤、青、緑の3個の面で作られた窪みの中に「内接球を持つ切稜立方体」の下の面が収まります。

下の方から見た図を示します。接する面は完全に一致するようになっています。

つまり「内接球を持つ切稜立方体」の上下の面は180度回転した形なので、乗せた時に収まりが良いということになります。このような特徴があるので、J型、P型、Y型は鏡像関係にある一対となりました。

球であればJ型、P型、Y型も同じものが2個になります。球ならば置くことのできた配置でも「内接球を持つ切稜立方体」を使ったパズルでは窪みに収まらなくなってしまいます。そのような制約があるため「内接球を持つ切稜立方体」で作ったパズルの方が8倍程度難しくなると考えられます。

なぜ「内接球を持つ切稜立方体」を使うのか

Sendai Micro Maker Faire 2020(2020.1.25)では「球体による長方形と正四面体パズル」の初期検討モデルを展示しました。商店街などが年末のくじ引きに使うガラガラポンのプラスチック玉で作りました。小さくてたくさん手に入ったので一辺が8個の正多面体にしました。1+(1+2)+(1+2+3)+    +(1+2+3+    +n)が4で割り切れれば同じ構成のピースで組むことができます。

Maker Faire Tokyo 2020(2020.10.3/4)では木製モデルを展示しました。檜の湯玉用の木球を購入して穴と細い丸棒で球同士を接着しました。会場では多くの方に見ていただきましたが、気合を入れて完成させた方が一名いらっしゃいました。

球はシンプルで美しくて良いのですが、地元の木材を使って球体を自分で作るのは難しいのが難です。

正四面体パズルは高校の化学の授業で説明される面心立方格子構造です。球以外の立体を考えた時に、菱形12面体という多面体は面心立方格子構造で完全に空間を充填できるのでこのパズルに最もふさわしい立体と考えました。

でも、角材から六角柱に加工してさらに鉛筆を削るようなイメージで三面ずつ加工するため少し手間がかかります。その時に「内接球を持つ切稜立方体」も考えましたが、立方体の面影を残しているので下のように積み上げるピラミッドのような四角錐のパズルにしかできないと思ってしまいました。

 

半年以上経ってから「内接球を持つ切稜立方体」も方向を変えれば面心立方格子構造で積むことができることに気がつきました。治具も簡単なので採用ということになりました。

 

長方形と正四面体パズルは難しい?

初めてこのパズルに触った人は少し難しいと感じるかもしれません。小さい頃から直交座標に慣れ親しんでいるので、六角形が連結されたピースを箱詰めしたり、正四面体の面に沿ってピースを組み立てたりする経験があまりなかったからです。

正方形と立方体のパズルは、直交座標なので小学生でも積み木感覚で遊ぶことができます。

スクエアキューブパズル

長方形と正四面体パズルも慣れればひねりの効いた置き方を工夫したりして楽しくなっていくでしょう。このパズルは正解がたくさんあります。BurrToolsというプログラムで解の数を調べることができるので試してみました。長方形への詰め方は球形タイプの場合で約150万通りあるようです。これは1.7時間で終了しました。正四面体の組み方は、プログラムが終了するまでに500年かかるという表示が出たので、7時間動かしたところで止めたのですが、その時点で約200万通りでした。コンピュータにとっても手間のかかるパズルのようですが、膨大な組み合わせがあることはわかりました。長方形よりも正四面体の方が多様な組み方があるということわかりました。

感覚的には長方形よりも正四面体の方が簡単で、数個ピースを適当に置いても工夫すれば組み上げることができるようです。

無料で使えるパズルソルバーBurrTools(Win/Mac/Linux版)

数日かけても問題が解けないと元々解がない問題なのだろうかと考えてしまいがちです。そんな時にはパズルソルバーを使ってみましょう。
要領さえわかれば使い方は簡単です。使い方を紹介する記事を書きましたので上から順番にご覧ください。
パズルソルバーBurrToolsでスクエアキューブパズルを解く
パズルソルバーBurrToolsで正四面体パズルを解く

 

木のぬくもりを感じながら無窮の時間を楽しんでください。

 

いわてメイカー展@11/28に出展します

今年もいわてメイカー展@11/28に出展します。

https://fabterrace.site/makerfesiwate/

山の地形の3Dプリントを紹介します。岩手山、鳥海山、秋田駒ヶ岳などの3Dプリントを手にとって登山路などを辿ると思い出が蘇ることでしょう。

趣味なら無料で使えるLabVIEW Communityもデモします。

 

Maker Faire Tokyo 2020に出展します

今年は「チームいわて」で参加します。コロナウィルスへの対応で、チームメンバーに展示を託すリモート参加です。出展作品は次の2点です。
(1)「LabVIEW Community Edition用の無料の電子ブック紹介」
(2)「球体をテトラヘクス結合したピースによるピラミッドパズル」

「LabVIEW Community Edition用の無料の電子ブック紹介」

LabVIEWは研究開発や工場の自動化などで使われているプログラミング環境で、計測・制御分野で強みを持っています。今年の5月に非商用であれば無料で使えるCommunity Editionがリリースされましたので、ArduinoやRaspberry Piを使っているメイカーに使い方を紹介したいと考えています。

電子ブックのダウンロードサイト
日本語版
英語版
初めてLabVIEWに触る人でもこの本だけで使いこなせるように、29個のサンプルプログラムを用意しました。きっとプログラムを動かしながら理解を深められると思います。
電子ブックの内容
1章 : LabVIEWで学ぶプログラミング
2章 : LabVIEWコミュニティ版を使ってみよう
3章 : グラフィカルプログラミングにふれる
4章 : 自分のアプリを作ってみる
5章 : LabVIEWとArduino
6章 : LEDの特性を調べてみよう
7章 : 半導体センサを使ってみる

「球体をテトラヘクス結合したピースによるピラミッドパズル」

六角形を4個並べた図形をテトラへクスと言い、7種類の図形があります。

OLYMPUS DIGITAL CAMERA

六角形の内接円でテトラへクスを作ると下のようになります。
薄い円形の板ではなく球でピースを作ります。
7種類を2セットで、14個のピースを作るには56個の球が必要です。
56個の球を積み上げると一辺が6個の正四面体になります。
1+(1+2)+(1+2+3)+(1+2+3+4)+(1+2+3+4+5)+(1+2+3+4+5+6) = 56

さて、球体をテトラヘクス結合した14個のピースでうまく正四面体が出来上がるでしょうか?

OLYMPUS DIGITAL CAMERA
OLYMPUS DIGITAL CAMERA
OLYMPUS DIGITAL CAMERA
OLYMPUS DIGITAL CAMERA

難しいパズルだと感じるかもしれませんが、組立手順はたくさんあります。

問題です。球に外接する立体を使って同じように正四面体を作るにはどんな立体を使えば良いでしょうか?

OLYMPUS DIGITAL CAMERA

菱形12面体と言います。表裏が120°ずれているので、表裏違いのピースが3種類増えます。表裏違いのピースを組みとして、7組14個でパズルを作ったのですが、球のパズルよりも8倍難しいと考えられます。

来場者にこんな話をしたかったのですが、今年は残念です。

フルカラーウェルカムボードの製作

OLYMPUS DIGITAL CAMERA

壁時計に使っているESP32と32×8 LEDパネルのスケッチを書き換えてSendai Micro Maker Faire用のウェルカムボードを作りました。

使用部品と配線はESP32と32×8フルカラーLEDでデジタル壁時計をつくるを参照してください。
外装についてはデジタル壁時計の組み立てを参照してください。

英数字の5×8フォントを作って表示させたのが新しい点です。フォントデータが96行あるので見苦しいですが、それ以外はシンプルに書いたつもりです。左端から右端に向かってLEDの色が変化していくプログラムに、”フォントピクセルだけ表示する”という条件をつけています。

フォントデータはAppleⅡeの資料を見かけたのでデータ化してみました。

 

 

 

 

 

 

「スクエア&キューブパズル」地産材でのクラフト製作の勧め

“Square & cube puzzle” :Recommendation for crafting with local wood

この記事はMFTokyo2019 (Maker Faire Tokyo 2019 )エントリーシートの予稿です。

「メイカーフェア東京2019での計測・解析ラボのプロフィール」
計測・解析ラボは盛岡市を拠点に個人事業としてLabVIEWプログラムの受託開発とArduinoなどオープンなハード・ソフトの講習会を行っています。プログラムとレーザーカッターを使った木工パズルデザインは3年目となり、地域の木材活用と木工クラフト作家との連携を模索しています。MFTokyo2019ではパズル作品を通しての交流やメイカー向けLabVIEW Home版の情報共有を行いたいと思います。

「メイカーフェア東京2019での出展内容の紹介」
正方形から立方体を組むことのできる幾何学的な美しさが特徴のスクエア&キューブパズルです。立方体4個を平面に並べた5種類のピースを16個使ったパズルで、PCやスマホで疲れた目を休めて指先を使い立体図形に親しむことができます。レーザーカッターで作ったプロトタイプを見本に岩手県内の木工家に地域材を使ったクラフト製作を勧めています。もちろん3Dプリンターでの自作も可能です。

12cm Cube(Left) and 6cm Cubes(Right)
15mmのアカマツ材をレーザー加工

 

デモビデオ@ユーチューブ

パズルのデモビデオ(ユーチューブ)

 

「スクエア&キューブパズル」の製作の経緯
MFTokyo 2018では「チーム岩手」から「プログラミングとレーザーカッターの素敵な関係」というタイトルで参加しました。2次元の図案をレーザーカッターで加工すると厚みのある2.5次元のパズルに成ります。次回のMFTokyo 2019ではレーザーカッターで3次元のパズルを作成したいと考えていました。

ちょうどFusion 360を使い始めて立体的な箱物を作る時のはめ込み設計に便利なことに気がついて操作の練習をしていたのですが、レーザーカッターで作ったピースを組み立てて立方体にするアイデアが浮かびました。正方形から切り出したピースが立方体になるパズルは幾何的に美しい構成です。単位立方体の個数で表現すれば次のような関係に成ります。

(正方形)  (立方体)  (単位立方体の個数)

8 x 8 = 4 x 4 x 4 =64

27 x 27 = 9 x 9 x 9 = 729

128 x 128= 16 x 16 x 16 = 4096

とりあえず、一番小さな組み合わせの4 x 4 x 4の立方体で考えることにしました。テトロミノというテトリスで有名な形状は正方形4個の組み合わせで5種類できるので、Fusion 360で4 x 4 x 4の立方体のモデルを作って4個づつ”結合”して全てテトロミノにすることができるか実験してみました。何度か試行錯誤して16個のテトロミノに分割できました。次はその16個で正方形ができるかやってみました。正方形になりました。

平面パズルに使っている厚さ6mmのアカマツ板では2.4cmのキューブにしかならないので、厚さ10mmを注文して作成しました。できることはできるのですが、まだ小さいので、レーザーカッターの限界と言われる15mmの板を注文して作りました。正方形のサイズは12cm、立方体のサイズは6cmになります。正方形の外枠を14cm角にすると持ち運びを考えるて手頃な大きさだろうと思います。外箱は一関の金森紙器さんに作ってもらいました。

一関市の金森紙器さんの外箱

テトロミノについて知っておこう
正方形を2個つなぎ合わせた形状をドミノ と言います。3個つなぎ合わせたのがトロ ミノ、4個つなぎ合わせたのがテトロミノ です。5個つなぎ合わせるとペントミノで すが、このようにN個つなぎ合わせた図形 の総称をポリオミノと言います。テトロミノは5種類ありますが、図形の特 徴からI、L、T、Z、Oと呼ばれています。 I、L、Tは見た目通りですが、正方形をO、 残った1個がZです。
スクエア&キューブパズルには4個の単位立方体で作 ったテトロミノが16個入っています。5種類のテトロミノから16 個選ぶ方法はたくさんありますが、I型が3個、L型が4個、T型が2 個、Z型が3個、O型が4個の組み合わせに しました。

地産材でのクラフト製作の勧め
岩手に旅行で来た時に地元のクラフトマン が作ったスクエア&キューブパズルを目にする日が来 るかもしれません。地域の木材を使ったパ ズルは、木の種類によって色や木目、重さ や手触りが違うことを発見して自然を身近 なものとして考え、豊かな森林への関心を 高めることができるでしょう。西和賀町に 広がる国内有数のブナ林、北限のツバキが 咲く大船渡、遠野地方の広葉樹、久慈の南 部赤松、平庭高原の白樺など広い岩手県に は地域を代表する木が多くあります。天然 木の手触りの良さとともに地域性が感じら れるスクエア&キューブパズルが各地で購入できたら 嬉しいことです。もちろん秋田の杉、青森 のヒバなどを使って各地のクラフトマンが 作ってくれたらもっと面白いだろうなと思 います。

スクエア&キューブパズルに関連する特許
独自の発想で作ったパズルですが、幾何的にきれいなパズルなので誰か他の人も考えていただろうと思って、スクエア&キューブパズルに関係する特許について調 べてみました。古い特許ですが1988年にアメリカで登録され た「BLOCK PUZZLE」という特許があり ました。テトロミノ16個を正方形に詰める パズルとテトロキューブ(立方体を立体的に4個つないだ図形)16個を立方体に組むパズ ルを併記しています。正方形に詰めるパズルの厚みを変えるだけで立方体ができるのですが、念頭にはなかったようです。

サイコロでスクエア&キューブパズルを作ろう
とりあえずパズルが欲しい人はサイコロを瞬間接着剤で接着してパズルピースを作ってみましょう。16mmのサイコロが50個入りで1100円ぐらいで購入できます。

OLYMPUS DIGITAL CAMERA
OLYMPUS DIGITAL CAMERA
OLYMPUS DIGITAL CAMERA
OLYMPUS DIGITAL CAMERA
OLYMPUS DIGITAL CAMERA
OLYMPUS DIGITAL CAMERA

 

メイカーフェア東京2018

メイカーフェア東京2018に出展します。
木目のパズル「プログラミングとレーザーカッターの素敵な関係」というタイトルで「チームいわて」のメンバーとして参加します。
ブースはC/02-02です。
「LabVIEW Home版をメイカーな人たちに広めよう」ということで、FM音源モジュールを接続したArduinoに、LabVIEWから音源パラメータを送り込むプログラムをデモします。

OLYMPUS DIGITAL CAMERA
OLYMPUS DIGITAL CAMERA

タッチディスプレイでLabVIEWのUIをクリックすると、
パラメータがArduinoに送られて、音源モジュールのレジスタが書き換えられ、
音源もジュールからPCのマイク端子に音声信号が送られ、
LabVIEWで信号を受け取って波形とパワースペクトルが表示され、
PCのイヤホン端子から外部スピーカーで音が出る、
というものです。

今回のデモ用にたまたまHPの安いノートPCを購入したのですが、タッチディスプレイの便利さを実感しました。
ブースレイアウトを確認してパッキングしました。

OLYMPUS DIGITAL CAMERA

(180803)

手作りの大型7セグメントフルカラー表示器(デモ版)

メイカーフェア東京2017では、LEDの点滅状態がわかりやすいように、加工前のシリアルLEDと2個ずつセグメント状態に配置した表示器を並べて展示しました。

表示器で数値をカウントアップ、カウントダウンするだけなので、プログラムがシンプルで分かりやすいと思います。下の写真が全体の画像です。左端に14個のLEDが並んだシリアルLED、右下が1セグメントに2個のLEDを配置した7セグメント表示器、右上がプリント基板です。どちらのLEDもNanoの5V、GND、D7に接続しました。

LEDは次の写真のように0から13までの順番でつながっています。

 

OLYMPUS DIGITAL CAMERA

プリント基板のパターンは、右端中央から信号が入り、左端中央から次の桁に信号を伝えるように考えました。基板の面積を最小限にできるようにナルト模様のようにしました。基板を近づけて配置するときに有効な方法だと思います。基板は木工CNCで切削してパターンを作成しました。バリがあると指に刺さったり、短絡してしまったりするので、ヤスリで削ってあります。

OLYMPUS DIGITAL CAMERA

左側の14個の切断していないLEDと7セグメント表示器の14個のLEDは、電気的には全く同じように直列に14個接続されたもので、Nanoの同じ端子に接続されています。

OLYMPUS DIGITAL CAMERA

全て点灯させると以下のように光ります。写真では色がわかりにくいですが、2個のシリアルLEDはNanoに近い方から末端まで同じ色に光っています。

OLYMPUS DIGITAL CAMERA

数字の4はこのように点灯します。

OLYMPUS DIGITAL CAMERA

ソフトウェア

seg[0]からseg[6]までの配列でセグメント0からセグメント6に対応させて、表示する数値によってセグメントを点灯するときはHIGH、消灯するときはLOWにします。具体的にはSeven_seg_Mask(int i)関数で、seg[0]からseg[6]まで設定します。rainbowCycle_Mask(uint8_t wait)関数はサンプルプログラムのrainbowCycle(uint8_t wait)関数をベースにseg[0]からseg[6]までのHIGH/LOWでHIGHの場合だけ点灯するように改造しました。ここで、セグメントに2個LEDを配していることに注意して、i番目のLEDのHIGH/LOWはseg[i/2]で表わしました。

rainbowCycle関数を使った色の設定と、セグメントHIGH/LOWを掛け合わせることで簡単にカラフルな数値表示を実現しています。

(2017.08.10)