Slide 1

Slide 1 text

ライフゲームの製作 電気電子工学実験Ⅲ テーマE(b) 自由製作 mikiken (@mikikeen)

Slide 2

Slide 2 text

製作物の概要 • ライフゲームのシミュレーションの様子を 32×32 のマトリクスLEDに表示する

Slide 3

Slide 3 text

製作物の概要 • ライフゲームのシミュレーションの様子を 32×32 のマトリクスLEDに表示する

Slide 4

Slide 4 text

ライフゲーム (Conway’s Game of Life) • 生命の誕生 ・ 進化 ・ 淘汰のプロセスを簡易な数理モデルで 再現するシミュレーションゲーム

Slide 5

Slide 5 text

ライフゲームのルール 誕生 : 死んでいるセルに隣接する生きたセルが3つあれば、次の世代が誕生 生存 : 生きているセルに隣接する生きたセルが2つか3つなら、次の世代でも生存 過疎 : 生きているセルに隣接する生きたセルが1つ以下なら、過疎により死滅 過密 : 生きているセルに隣接する生きたセルが4つ以上なら、過密により死滅

Slide 6

Slide 6 text

製作物の概要 • ライフゲームのシミュレーションの様子を 32×32 のマトリクスLEDに表示する • 初期パターンの設定 ・ シミュレーションの 開始 ・ リセットはWebブラウザから行う (参考 : GitHub リポジトリ) https://github.com/mikiken/life-game

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

作った動機 • ライフゲームというシミュレーションゲームがあるらしい • 初期パターンを変えつつ、シミュレーションの様子を眺めると楽しい • マトリクスLEDにシミュレーションの様子を表示させたら イルミネーションみたいな感じで面白そう

Slide 9

Slide 9 text

材料 • Raspberry Pi Pico W • Arduino IDEで開発が行えるマイコン • WiFi, Bluetooth の通信モジュールを搭載 • 32×16 ドットマトリクスLEDモジュール (2つ) • ユニバーサル基板 • エナメル線 合計 2,300円 くらい

Slide 10

Slide 10 text

実演します

Slide 11

Slide 11 text

No content

Slide 12

Slide 12 text

簡単な構成図 同一ネットワーク (192.168.214.0/24) 操作画面を表示するためのファイルを送るよう要求 HTML, CSS, JavaScript のファイル 初期盤面パターン, 表示を開始するよう要求 表示を開始したことを表す応答 Server Client

Slide 13

Slide 13 text

大変だった点 (1) : はんだ付け • はんだ付け (配線がとにかく多い)

Slide 14

Slide 14 text

大変だった点 (2) : マトリクスLEDの制御 • 今回のモジュールの場合、光らせたい行と列の 電圧を 1 (HIGH) に設定する • 行と列がともに1である点が光る → そのままでは、縦線や横線しか引けない そこで、ダイナミック点灯 という技術を使う

Slide 15

Slide 15 text

ダイナミック点灯 • 表示させたいパターンを1行ずつ、順に切り替えながら表示させる • これをめっちゃ高速にやる • 人間の目には、残像で全ての行が同時に光ってるように見える

Slide 16

Slide 16 text

感想など • 電光掲示板などによく使われるマトリクスLEDの制御について、 理解が深まった • 今後、配線量が多い回路を作る際は、KiCadなどで基板を設計し、 業者に発注してみたい (はんだ付けが大変すぎた)