Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ライフゲームの製作
Search
mikiken
February 09, 2024
Programming
0
200
ライフゲームの製作
mikiken
February 09, 2024
Tweet
Share
More Decks by mikiken
See All by mikiken
簡単な4bitCPUの作成
mikiken
0
1.1k
Webブラウザでページが表示されるまで
mikiken
0
68
Cコンパイラ自作はじめてみた
mikiken
0
240
seccamp2022 成果発表
mikiken
0
36
Other Decks in Programming
See All in Programming
チームの境界をブチ抜いていけ
tokai235
0
140
Building, Deploying, and Monitoring Ruby Web Applications with Falcon (Kaigi on Rails 2025)
ioquatix
4
1.8k
理論と実務のギャップを超える
eycjur
0
120
What's new in Spring Modulith?
olivergierke
1
130
アメ車でサンノゼを走ってきたよ!
s_shimotori
0
210
Advance Your Career with Open Source
ivargrimstad
0
450
Web Components で実現する Hotwire とフロントエンドフレームワークの橋渡し / Bridging with Web Components
da1chi
3
2k
Swift Concurrency - 状態監視の罠
objectiveaudio
2
490
非同期jobをtransaction内で 呼ぶなよ!絶対に呼ぶなよ!
alstrocrack
0
610
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
190
育てるアーキテクチャ:戦い抜くPythonマイクロサービスの設計と進化戦略
fujidomoe
1
170
Conquering Massive Traffic Spikes in Ruby Applications with Pitchfork
riseshia
0
160
Featured
See All Featured
GitHub's CSS Performance
jonrohan
1032
470k
The Language of Interfaces
destraynor
162
25k
Why Our Code Smells
bkeepers
PRO
339
57k
Designing Experiences People Love
moore
142
24k
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.6k
Unsuck your backbone
ammeep
671
58k
The Invisible Side of Design
smashingmag
301
51k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
Become a Pro
speakerdeck
PRO
29
5.5k
Java REST API Framework Comparison - PWX 2021
mraible
33
8.9k
Optimising Largest Contentful Paint
csswizardry
37
3.4k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
Transcript
ライフゲームの製作 電気電子工学実験Ⅲ テーマE(b) 自由製作 mikiken (@mikikeen)
製作物の概要 • ライフゲームのシミュレーションの様子を 32×32 のマトリクスLEDに表示する
製作物の概要 • ライフゲームのシミュレーションの様子を 32×32 のマトリクスLEDに表示する
ライフゲーム (Conway’s Game of Life) • 生命の誕生 ・ 進化 ・
淘汰のプロセスを簡易な数理モデルで 再現するシミュレーションゲーム
ライフゲームのルール 誕生 : 死んでいるセルに隣接する生きたセルが3つあれば、次の世代が誕生 生存 : 生きているセルに隣接する生きたセルが2つか3つなら、次の世代でも生存 過疎 : 生きているセルに隣接する生きたセルが1つ以下なら、過疎により死滅
過密 : 生きているセルに隣接する生きたセルが4つ以上なら、過密により死滅
製作物の概要 • ライフゲームのシミュレーションの様子を 32×32 のマトリクスLEDに表示する • 初期パターンの設定 ・ シミュレーションの 開始
・ リセットはWebブラウザから行う (参考 : GitHub リポジトリ) https://github.com/mikiken/life-game
None
作った動機 • ライフゲームというシミュレーションゲームがあるらしい • 初期パターンを変えつつ、シミュレーションの様子を眺めると楽しい • マトリクスLEDにシミュレーションの様子を表示させたら イルミネーションみたいな感じで面白そう
材料 • Raspberry Pi Pico W • Arduino IDEで開発が行えるマイコン •
WiFi, Bluetooth の通信モジュールを搭載 • 32×16 ドットマトリクスLEDモジュール (2つ) • ユニバーサル基板 • エナメル線 合計 2,300円 くらい
実演します
None
簡単な構成図 同一ネットワーク (192.168.214.0/24) 操作画面を表示するためのファイルを送るよう要求 HTML, CSS, JavaScript のファイル 初期盤面パターン, 表示を開始するよう要求
表示を開始したことを表す応答 Server Client
大変だった点 (1) : はんだ付け • はんだ付け (配線がとにかく多い)
大変だった点 (2) : マトリクスLEDの制御 • 今回のモジュールの場合、光らせたい行と列の 電圧を 1 (HIGH) に設定する
• 行と列がともに1である点が光る → そのままでは、縦線や横線しか引けない そこで、ダイナミック点灯 という技術を使う
ダイナミック点灯 • 表示させたいパターンを1行ずつ、順に切り替えながら表示させる • これをめっちゃ高速にやる • 人間の目には、残像で全ての行が同時に光ってるように見える
感想など • 電光掲示板などによく使われるマトリクスLEDの制御について、 理解が深まった • 今後、配線量が多い回路を作る際は、KiCadなどで基板を設計し、 業者に発注してみたい (はんだ付けが大変すぎた)