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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
mikiken
February 09, 2024
Programming
250
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ライフゲームの製作
mikiken
February 09, 2024
More Decks by mikiken
See All by mikiken
簡単な4bitCPUの作成
mikiken
0
1.4k
Webブラウザでページが表示されるまで
mikiken
0
84
Cコンパイラ自作はじめてみた
mikiken
0
270
seccamp2022 成果発表
mikiken
0
52
Other Decks in Programming
See All in Programming
Mujeres en SEO Summit 2026 - Greatest Disaster Hits en Web Performance
guaca
0
240
Generative UI & AI-Assistants for Your Angular Solutions
manfredsteyer
PRO
1
170
言語を使う側から、作る側へ。 自作 Lisp で得た新たな気づき。
andpad
0
120
どこまでゆるくて許されるのか
tk3fftk
0
480
継続モナドとリアクティブプログラミング
yukikurage
3
570
なぜ関数型プログラミングで「型」と「証明」が語られるのか #fp_matsuri
kajitack
3
860
AI駆動開発を妨げる技術的負債の解消アプローチ / ai-refactoring-approach
minodriven
17
9k
symfony/aiとlaravel/boost
77web
0
120
地域 SRE コミュニティ最前線 - ホンマでっかSRE勉強会
tk3fftk
0
230
霧の中の代数的エフェクト
funnyycat
1
360
フィードバックで育てるAI開発
kotaminato
1
110
Vite+ Unified Toolchain for the Web
naokihaba
0
750
Featured
See All Featured
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
190
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
63
55k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
460
Un-Boring Meetings
codingconduct
0
340
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
240
The Limits of Empathy - UXLibs8
cassininazir
1
470
VelocityConf: Rendering Performance Case Studies
addyosmani
333
25k
Building AI with AI
inesmontani
PRO
1
1.1k
Visualization
eitanlees
152
17k
Navigating Weather and Climate Data
rabernat
0
340
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
420
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
220
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などで基板を設計し、 業者に発注してみたい (はんだ付けが大変すぎた)