フィボナッチ数列と黄金比

フィボナッチ数列の隣り合った数の比が、黄金比に漸近するという話をYouTubeで言っていた。何のことかと言うと…

■ フィボナッチ数列とは

下記の数列を見て欲しい

0, 1, 1, 2, 3, 5, 8, 13, 21…

第一項はゼロ、第二項は1を初期値とする。第三項は、第一項のゼロと第二項の1の和とする。同様に、第4項は第二項の1と第三項の1の和とする。以下同文。このような数列をフィボナッチ数列と言う。一般項(漸化式)は下記のように書けるか

自然の諸現象にもその数列に従っているものが多くみられるという

■ 黄金比とは

私の場合は写真や絵画の構図の話の時によく聞くが、具体的には、1 : 1.6180339887…と言う比の形。右の1.6180339887…は無理数で、黄金数と言うらしい。数字の字面はともかく、この数字に何の意味があるかについては私の知っている範囲でもこんなところに書くスペースもないので、各自検索して欲しい。すごく深い森が待っていると思う

問題は、上のフィボナッチ数列の一つの項が、その前の項の何倍になっているかの比が、この黄金数にだんだん近づいて来る、というもの

実際にフィボナッチ数列と、その各項が一つ前の項の何倍になっているかをPythonで計算させて、Excelでグラフにしてみた

まず一般に使われるであろう1 : 1.618の値に対して、フィボナッチ数列13項めの144で1.61797、14項めの233で1.61805となり、割合早く収束するのだな、と言うことがわかった

この収束の波形を見ていて、ひょっとして音響として再生してみたら、何か深遠な自然の真理を垣間見ることができるかも知れないと思い、最初の部分だけを抜き出して見た(1.6180…を0Vにシフトしてある。また、このままの電圧だとスピーカーが壊れるので、正規化が必要かも知れない)

だけど、苦労して再生して見ても、「プッ」とかいうしょぼい音で終わるような気がしたので、やめておく

関係ないが世の中には電圧波形を見ただけでどういう音がするかわかる能力を持った人がいてもおかしくないような気がする。うん、これは1980年、カール・ベームが振ったウィーン・フィルのベートーベンの5番だな、燻銀の響きがするぜよ、とかコメントする…

話を戻して我に還ると、このフィボナッチ数列って、Excelで簡単に作れて、比の計算も一気にやれるんじゃね?と言うことに今気が付いた

いやいや、この数列を定式化して、プログラミングすることに意味があるのだ、と言うことでソースコード

本日の教訓

ここに書いた一連の処理はExcelでOne thoughでできることに後で気が付いたが、アルゴリズムを考えてプログラムすることに意義があるのだという言い訳が見つかって良かった

2025/06/14
んねぞう

超音波距離計 – 開発編

車の車庫入れの時に、あまりにも車を助手席側に寄せすぎて壁を擦って車のボディを傷付けたことで頭に来て、超音波接近警報機を設置しようとして前回電源装置を組み上げ始めた、その続き。いよいよ本体にとりかかる

2. 組み立て

部品を基板に配置してはんだ付けした

上の写真で左上 : 前回組み上げた電源装置、左下 : 006P積層乾電池ホルダー、中央下 : ブザー、中央 : 超音波センサー、中央上 : 超音波センサーのEcho信号の分圧抵抗、右下 : Raspberry Pi PICOのピンソケット

自分にしてはなかなかよく出来た。裏面はあまり見ないで欲しい

ご本人の、車を擦って頭にきている様子が良く現れている絵柄ですね(ニコッ)。お陰で裏の抵抗廻りの配線が入り組んでハンダ付けもちょっと大変だった

ついでに実体配線図

3. ソースコード

プログラムはMicro Python環境で組んだ。ミソは”time_pulse_us()”と言う関数を使ってtriggerからecho受信までの時間をマイクロ秒単位で計り、音速と合わせて計算して距離を弾き出すところ。音速は確か温度で変動するはずだが、私の使い方はある一定距離(数十cm)以下になればブザーを鳴らすというもので、精度は要しないので、定数と考えて差し支えない

4. 動作確認

出来上がったものの動作

着目して欲しいのが、PicoのLEDの点滅周期だ。超音波を発射する度に点滅するようにしているのだが、何もない時には1秒に1回発射しており、物体がある程度近くになった時に1秒間に10回発射してモニタリングを強化し(今回計ったら42cmまで接近した時点で警戒体制になった)、そして危険水域になった(26cm)時にブザーを鳴らすという形になっている。プログラム上では25cmと設定しているが、1cm程度の違いはどうでもよろしい、素晴らしい。ドイツ語だとwunderbar、はい、皆さんご一緒に、

ぶんだばー!

5. パッケージング

動作の確認ができたので、次は実際の設置環境に適応したパッケージングだ。ほぼ屋外の環境なので、雨は大丈夫だができるだけ埃が入って来ない対策が必要である。100円均一ショップで段ボールシートを見つけたので、これを切り貼りしてエンクロージャを作ったのがこれ

超音波センサとブザーは露出せざるを得ない。右の四角い穴はPicoのLEDの点滅で動作を確認するため。ハンダ付けもそうだが、こういう工作物は手先の不器用さと雑さが如実に露呈して、当方としては居直るしかない

動けばいいんだ、動けば…

6. コスト計算

金額を積算して見ると、2,509円は、自分の思っていた金額より高い気がしたが、一つ一つ見て見るとそれほど高いものではないので、これが積み重なると案外嵩が増すものだと。何か人生に通ずるものがあるような気がするが、ここではこれ以上踏み込まないことにする。超音波センサーのピンの接続を間違えて1個オシャカにした分は入れていない。もしコストを下げるとしたら、PICOをESP32-C 3-WROOM-02-N4とかいうマイコン(340円)に置き換えるかだが、この開発環境の構築にかかる費用、また開発、実装の手間を考えると、私にはハードルが高過ぎる

今回の教訓

車庫が狭いと辛いね
細工の雑さ加減は一生直らないね
プログラミングで自分ではできないことを実現できるのは素晴らしいよね

【後記】006Pの乾電池は2日でなくなったので、ACアダプターで運用することにする

2025/06/07
んねぞう

超音波距離計 – 事の始まり

0. 発端

先日車をバックで車庫入れしている時に車庫の壁に擦り、傷をつけた。修理に多額の費用がかかる。頭に来て、助手席側の壁と車体の隙間が許容限度を下回ったらブザーで警告するような仕組みを作ろうと、鼻息も荒く超音波距離計を作り始めた

鼻息荒くと言われても何のことかわからないと思う。要するにこういうことである

超音波で車体との距離を計測して、車体が壁に近づき過ぎた時にブザーで警告するというもの

Raspberry Pi PICOをコントローラとして、超音波センサーとブザーをGPIOでつないで構成する。電源は、ACアダプタ―を使うのが手っ取り早いが、車庫で雨風は防げはするが半ば屋外なので、まず006Pの積層乾電池を3端子レギュレータで5Vに落として使うことを考える

1. 電源 ユニット

秋月電子通商で250円で売られていたキットを組み立てた

部品内訳
慣れた人だとこの程度の工作は目を瞑ってでもできるだろうが、私には相当の覚悟が必要な訳で…届いてから3~4日はこれと睨めっこをしていた

基板への部品のハンダ付けにあたっては、先日製作したハンダ付サポート台が基板の固定に活躍した。すばらしい(自画自賛)。右の写真は出来上がりだが、LEDは省電力のため敢えて付けなかった。そうであればその左の電流制限抵抗も、付ける必要がなかったのに後で気が付いた

出来上がった電源から、ちゃんと5Vが出ていることを確認した後、これまで作ったおもちゃ類につなげて見た(左: Raspi Pico Display 右:やる気のない信号機 )。問題なく動くことに満足して、今日のところはこれでおしまい

< 余 談 >

電源ユニットの出力をMicro USB端子に繋げるために、100円均一ショップで買ったケーブルを切断して使った。充電と通信両方できると謳っているケーブルだったが、WEBで調べたUSBケーブルの規格と異なり、シールドやドレインワイヤが省かれていた。こういうところでコストを省いているのだなということがわかった

2025/05/31
んねぞう

澪25号 合評会

 去る4月29日(昭和の日)に、横浜市内某所で文芸同人誌 「澪」 25号の合評会が開催された。編集長以下同人3人の計4人で、真摯な議論が交わされた

 今号の私の作品「異界」は、澪史上初(だと思う)のホラーSFフォトストーリーだが、さすがに同人諸氏の的確な読み取り方に敬服した。特に、SFとしての構成、視点についてなるほど、そうかと言う指摘、示唆も頂き、ありがたくも「これからも読みたい」と言う声も頂いたのに対して、もう私はこれ一発で、もう書けませんから、と思っていたのが、では、折を見てまた書いてみるかと言う気持ちになったのは自分でも意外だった。ただし、編集長の先生から、あなたの写真の持っているリリシズムは、失って欲しくはないですとのお言葉もあり、拝承

 私の作品以外にも、他の同人諸氏の間で私とは比べ物にならない高いレベルの指摘、アドバイスなどが行き交い、溜息をつきながら家路についた次第。ただし、眉間に皺を寄せて文学論をブつ、等とは程遠い、非常にアットホームな雰囲気なので、今回止むを得ず欠席された同人にも、次回からはぜひ参加してもらいたいと思う。私がしっかり底辺を堅めているので、その点で心配することはないです、と言いたい

参考までに、私が初めて合評会に出席した時の記事のリンクをこちらに置きます

20245/04/29
んねぞう

写真の成立性

今般、私が同人として所属する文芸同人誌「澪」の25号(2025年3月発売)に、ホラーSFフォトストーリーと銘打って、写真と文章をミックスした作品を投稿した。これは、ホラーSFとしてのテイストを出すために、白黒写真を、疑似的なソラリゼーション技法を使って階調を弄って作成した写真を何枚か使っている。私が所属している写真倶楽部の先生(「澪」の編集長と同一の方)から、ソラリゼーションと言う技法があるとお聞きしたことから思いついたものだ

この写真を、写真倶楽部の他のメンバにも、刺激を与える意味で、合評会で提出して見るようにと言われたので、何枚かをセレクトして、合評会に臨んだ。その場で私は、これらの写真は、やはり文章との対でないと、そのメッセージ性を失い、写真単体では成立しない、と言うことを強く感じた。一枚一枚の写真を前にして、貴方は何を感じて、何を撮って、何を言いたいのですかと聞かれたとすると、この写真だけを見た人に、自分でも説明できる気がしなかった

その次の回に、今度は、写真単体としての作品としてソラリゼーションを施したものを提出したが、この時は、私も、この写真の意図について自分なりに説明をすることができた。もちろん、この手の写真は万人に受け入れられるものではないにしろ、見て下さったメンバには、まあ、一応写真だよね、と言う受け止め方はして頂けたと思っている

ソラリゼーションを施したかどうかは別として、フォトエッセーの一部として使った写真を、単独写真として見た時の成立性(の欠落)が私にも明確に分かり、なるほどな、と言う気づきだった

2025/04/20
んねぞう

ハンダ付けサポート台

このところ、電子工作+プログラミングの真似事をする時間が増えて来た。そうするとハンダごての台が欲しくなって来たので自作を考えた。しかし、材料は100円均一ショップなどで安く買えると思ったが、近くのショップには使えそうだと思えるものがなかったり、たとえあったとしても組み上げるための工具にコストがかかりそうな気がして来たので、Amazonで700円程度の完成品を注文した

それ以上に不便に感じているのが、ハンダ付けの時に手が1, 2本不足していることだ。右手にハンダごて、左手にハンダを持ったうえで、リード線を支えたり、他の部品を押さえたりしながらハンダ付けをしなければならない時があり、そこらへんにある文鎮代わりの重りや何かを動員してしのいでいた。巷では鰐口クリップを応用した便利そうなものが売られているが、それは三次元的な配置をしながらハンダ付が必要となった時に考えれば良いと思い、まずはリード線を繋げるための簡易な台を自作することを考えた。これならば、手持ちの材料 + αでできると思った

で、作った ↓

どういう風に使うか ↓

実演 ↓

肝心のハンダの出来上がりは、下の写真のように棘が出てしまっているので良くはない。自分の視点からは完全に陰になっていて気付かなかった。しかしこれは本人の技量の問題で、この台の機能の価値を何ら損なうものではない

こういう時は熱収縮チューブで隠蔽だ!

以下はどのように作ったかの記録

基本構成

台座とガイドは既に木工用ボンドで固定した。木材の切断面があまりにも汚いことからぼろ隠しと装飾のために、アセテートテープを張りまくっている。これが後で思わぬ効果を発揮した

左から スライダー、台(ガイド取り付け済)、ガイド


日東電工製アセテートテープ
本来は絶縁用

台の構造

① 台(1 x 4材) ② ガイド
(3Dプリンタ用のCADデータより … 嘘。PowerPointで作成)

スライダー

アイクリップを穴を通して木ネジで固定しているが、薄いのでそのままでは貫通するため、M3のワッシャーを適宜重ねて長さを稼いでいる。最終的に周囲を木工用ボンドでこてこてに固めた

良い点

斯くして出来上がったのだが、この台の良い点は、リード線の接合において、スライダーがスライドするので、予め両方のリード線の位置合わせをした後一旦離し、双方に予備ハンダをして、そのまま戻せば位置が元通りになって、作業の流れが妨げられない所だ(と思う)

この時、台とスライダーの摺動面に貼ったアセテートテープが良い仕事をしていて、滑らかながらも適度な抵抗でスライドするので、なかなか気持ちが良い(個人差があります)

巷ではプラスチック製で、このようなリード線の接合のためのコンパクトな補助具が300円台で売られているが、このように、予備ハンダのことまで考慮しているものはない(出来上がってから気づいたことだけどな)

部品表とコスト

以上、直接原価160円でできた。上に記した機能とこの価格、世の中にこれ以上のコストパフォーマンスを発揮するものはない(当社比)

本日の教訓

– 160円でハンダ付けサポート台が作れた
– アセテートテープが良い仕事をしている(バリ隠し + スライドの操作感)
– 木工用ボンドは困った時の友
– 最終的にこの形に落ち着いたが、そこに至るまで、制約のある中、身近にあるいろいろなものの組み合わせを考えるのも楽しい。老化の加速度増加抑制にもなる(と信じたい)
– DIY店の中をうろつくのは楽しいよね

クリエイター(だってよ!)の特権による命名

んねぞう式はんだ付けサポート台 (略称 んねハン台)
nNEZOU’s Soldering support bench (Abbr. nNESolb んねぞるぶと読んで)

2025/04/12
んねぞう

澪25号できた

文芸同人誌澪25号ができあがった。今回は、病気療養中だった同人が復帰され、また新たにお一人エッセーの新規寄稿があった。私は、先日投稿のとおり、ホラーSFフォトストーリーを寄稿させて頂いた。私の作品に限って言えば、直近の2号で写真の印刷の仕上がりに課題があり、工夫して来たが、今回はコントラスト、輪郭等、作品の性格に相応しい出来上がりだと思っている。これが工夫したせいなのかはわからない。その時々の様々な条件、或いは印刷所の職人さんの感覚にもよるものか?等と推測している

現在は、他の同人の作品を読み込み、読後感の作成に勤しんでいる。私の作品のようなものも皆さんは真摯に読んで下さり、感想、アドバイスを下さるので、私もいい加減な姿勢ではいられないのだ

2025/04/06
んねぞう

06

04 2025

Raspberry Pi LED ディスプレイ拡張

先だって、8ドットLEDマトリクスを使った電光掲示板の復活を果たしたのに気を良くして、この拡張を考えた。8ドットLEDマトリクスが2つ連結されているのでは、いささか文字の読み取りに神経を集中させる必要がある。これは個人差があるのだろうが、右から左に流れる、8ドットの文字を認識して、記憶し、その次に現れる文字を認識して、単語として構成して意味を取るという作業は、なかなかに集中を強制されるものである。仮に、これが電車の中の案内表示に使われたら、乗り間違い、降り間違いで発狂する人が出る可能性もあると思われる。これを解消するには – ① 表示のスピードを遅くする、 ② 表示の桁数を増やす – の2通りが考えられる

試しに表示のスピードをいじって見た。下記は画面を0.07秒ごとに1ドット送るパターン。これを基準とする

次いで、画面送りの時間を倍の0.14秒ごととしたパターン

後者は、多少見やすくはなったが、伝えたい情報量に対して、その時間がかかりすぎて、例えば電車の中でこのような表示を見せられている人達は、電車と言う移動スピードとこの情報の流されるスピードのギャップに違和感を感じるのではないか、とうじいん、ああわかったわかった、わかったから早く次を表示してくれ、でないと次の駅に着いてしまうじゃないかとフラストレーションを覚える人とか、あまりの遅さに乗り物酔いを起こしてしまう人も出て来るかも知れず、これは由々しき問題である

因みに表示されている文字列はWebで、日本で一番長い駅名(かなで数えた時)を調べて出て来たものである。8ドットマトリクスで漢字表記は別の意味で辛いものがあり、可読性の観点からひらがな/カタカナ表記とした。流れ行く文字列を見ていると頭悪い感が漂うが、この企画(を実行している自分)自身がそうなので、気にしないで進める

閑話休題、AmazonのWebサイトを眺めていたら、緑色の8ドットLEDマトリクスの4連のものが1,000円を切る値段で出ていた。それも、LED単体ではなく、コントローラ付きでだよ。写真を見る限り、このコントローラは、私が今持っているのと同じMax7219と言うものが使われているが、某有名電子部品のWebストアではこのコントローラなしで1個250円で売られていたのに対してかなりお得で、これは買うしかない

で、買った。本体と、SPI接続用ケーブルと、L型ピンヘッダが入っていた

LEDマトリクスを一つ基板から剥して、コントローラを見たが、型番の表記はなし。ちょっと心配になったが、多分大丈夫だべ、心配しても仕方がないので先に進むことにする

2つ連結のプログラムの定数を2箇所変更しただけで動いた(カスケードの数を2 → 4、文字の流れる方向を逆転)

この状態で、2つ連結のものと並べて表示させてみる。表示スピードは、両方とも基準とした、0.07秒ごとに1ドット送るパターン

4個連結の方は確かに視認性に優れて、楽に読み取れるような気がする

逆に、表示される文字数が2倍になったせいか、もう少し早くても良いような気がしたので、4桁の方の表示スピードをほぼ倍(0.04秒ごとに1ドット送るパターン)で試して見た

感覚として、表示の量が倍になると、スピードが倍になっても楽に読み取れるような気がする

悪乗りして、スピードをその倍(0.02秒ごとに1ドット送る)にしてみた

これは、流石について行けない。文字の流れが速く、如何にひらがなとはいえ8×8ドットの文字を認識するためには多少の時間が必要で、視線を動かす必要があるが、その分早く、大きく動かす必要があるので疲れる。もしやるとすれば、桁数を増やせれば良いのかも知れない。例えば6桁とか。そういうことを言い出せば、ブロードウェイの電光掲示板のように、帯のようにすれば良いことになるので、この話はここまでにしておく

以上、非常に限られた数のサンプル(いつものことだがな)に対して、下記4項目について、2個連結、70msピッチの表示の場合を標準の5として、数字が大きいほど良い(最大9)として評価して見た

① 読み取るのに必要な全体的な緊張度
② 情報の待たされ度
③ 目玉の忙しさ
→ 流れて行く文字を文字として読み取るのに必要な目の移動量と速さ。これは流れるスピードが主に関係するだろう
④ ぱっと目に入って来る情報量
→ 2個、4個連結と言う物理的条件の他に、流れて行く文字全体を見て瞬時に把握できる程度

本日の教訓

8ドットLEDマトリクスは、2桁より4桁の方が良い
桁数が増えると表示スピードは速くできるが、限度と言うものがある

2025/03/22
んねぞう

やる気のない信号機 完成編

数年前に、RaspberryPiとLEDを使って、LEDを光らせるお遊び(所謂Lチカ)をした。基板を使って回路を固定したのは良いが、裏側の配線がとげとげしていて座りが悪く、持った時に指が痛いので、電子工作材料店にプラスチックのスペーサを注文して、台座に固定した

台座の裏側には泣く子も黙る〇文様の紋所があるので、通る者は皆頭(こうべ)を下げて謹んで従わなければならないのだ(なのか?)

2025/03/15
んねぞう

Raspberry Pi LED ディスプレイ復活

2020年、新型コロナウイルス蔓延に伴い、在宅勤務体制になって、自宅内での自分のステータス表示(仕事中かそうでないか)のために、LEDディスプレイを使ったものを作成した(こちら)。しばらく使い続けていて、翌年、止せば良いのに環境を下手に更新してしまったがために動かなくなり、手の打ちようがなくて放っていた(こちら)

最近の一連のRaspberry Piのいたずらの経験により、ライブラリに関する知識が多少増え、いっちょう再建やったるか、とやる気になって復元を試みた

今回特に注力したのは、luma.led_matrixと言うライブラリが核となっているようなので、これを何とかインストールしたい、と言うこと。Raspberry Pi OSには、現在提供されているものの中でできるだけ当時に近いOS(今提供されているので最も古いのはBullseye)を使って、何とかサンプルコードがうまく動くところまでこぎつけた。それで、できれば最新のOSで動くようにすれば今後何かと楽だろうということで、最新のBookwormをインストールしてライブラリのインストールをしようとしたら、Pythonのパッケージをpip(実はこれも分かっていない)で直接システムにインストールすることを制限する仕組みができたということで、正常にインストールできなかった。ChatGPT様によれば、仮想環境を作ってやれば良いとのことだったが、仮想環境とやらを作って進めたが、途中でサンプルコードのダウンロードでGithubからどうのこうのと言われて面倒になったので、結局Bullseyeに戻して、環境を再建した

もともとLED表示の他に、LEDの表示を開始する前にブザーで前触れの音を出す機能も組み込んでいるのだが、今回はHardware PWMと言う仕組みがRaspberry Piにあり、これはこれまで使っていたPWMと違って他の処理の影響による遅延が少ないということを知ったので、この方法を使って音を出すようにした。下のビデオを見て(聴いて)もらえばわかると思うが、ベートーベンの「運命」の冒頭のモチーフを使っている。この音程は原調(ハ短調)の音階に合わせてある。こういう、どうでも良いことに拘るのが我がんねぞうblogの真骨頂である。もっと言うと、このテンポとリズムは楽譜に書いてある機械的なタイミングではない。一般の演奏でも起こる、「溜め」も入れ込んである。本当の演奏では、もっと劇的な効果を狙うのだが、ここでは単なるチャイムに代わるものなので、控えめにした

「運命」のモチーフの後、「とんかつ」と言うのが、泣けるというか力が抜けますな(奥さんが晩御飯のおかずにとんかつを買ってきているのを見ていたため)。なんならチャイムをチャルメラにでもしたろうか

この開発(だとよ!)はRaspberry Pi 4 Bで行ったが、最終的にはRaspberry Pi Zero 2 Wに入れようと思う。性能の面ではRaspberry Pi Picoで十分だと思うが、そうなるとGPIOのピンの配線とか、I/Oがまた面倒なことになるので(詳細は略)、Zero 2 Wを注文している

と言うことでZero 2 Wが届き、元の鞘に納まった

2025/3/13
んねぞう