Raspberry Piで円周率を計算——蛇口から円周率が流れ出す「Raspberry Pi Spigot」
2021/06/30 10:15
Raspberry Pi財団は2021年5月27日、公式ブログでRaspberry Piを使って円周率を計算するプロジェクト「Raspberry Pi Spigot」を紹介した。同プロジェクトは、同年3月14日の円周率の日「Pi Day」に、Adrian Chung氏が公開したものだ。
Chung氏はPi Dayの「スピードラウンド」コンテストに向けて、円周率を高精度に計算するツールとしてRaspberry Piの採用を思いついたという。円周率を一般的な多倍長計算で求めるのではなく、超越数を左の桁から順番に計算するSpigotアルゴリズムを取り入れている。Spigotアルゴリズムは、メモリの容量に制限されるが、短いプログラムの繰り返しで延々と円周率を計算し続けられるメリットがある。
ディスプレイは、LEDドライバ「MAX7219」で制御する8×8LEDモジュールをSPI通信でRaspberry Piと接続する。蛇口から出る水を表現するLEDはGPIOピン×3と接続し、GPIOピン×2と接続したポテンショメータで、蛇口のハンドルの位置をチェックする仕組みだ。
Chung氏によると、Raspberry Pi Spigotを約6時間動かして8000桁以上の計算ができたという。もっと早く計算できる能力はあるが、ディスプレイ表示が追い付かずぼやけてしまうとのこと。
Raspberry Pi Spigotの作製方法の詳細は、ものづくりプロジェクト向けコミュニティプラットフォーム「Instructables(インストラクタブルズ)」でシェアされており、『The MagPi magazine』誌の2021年6月号にも紹介されている。