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
230
0
Share
ライフゲームの製作
mikiken
February 09, 2024
More Decks by mikiken
See All by mikiken
簡単な4bitCPUの作成
mikiken
0
1.3k
Webブラウザでページが表示されるまで
mikiken
0
80
Cコンパイラ自作はじめてみた
mikiken
0
260
seccamp2022 成果発表
mikiken
0
44
Other Decks in Programming
See All in Programming
Claude Codeログ基盤の構築
giginet
PRO
7
3.8k
見せてもらおうか、 OpenSearchの性能とやらを!
shunta27
1
160
年間50登壇、単著出版、雑誌寄稿、Podcast出演、YouTube、CM、カンファレンス主催……全部やってみたので面白さ等を比較してみよう / I’ve tried them all, so let’s compare how interesting they are.
nrslib
4
530
GC言語のWasm化とComponent Modelサポートの実践と課題 - Scalaの場合
tanishiking
0
130
PHPのバージョンアップ時にも役立ったAST(2026年版)
matsuo_atsushi
0
270
PHP でエミュレータを自作して Ubuntu を動かそう
m3m0r7
PRO
2
150
それはエンジニアリングの糧である:AI開発のためにAIのOSSを開発する現場より / It serves as fuel for engineering: insights from the field of developing open-source AI for AI development.
nrslib
1
710
存在論的プログラミング: 時間と存在を記述する
koriym
5
690
Redox OS でのネームスペース管理と chroot の実現
isanethen
0
480
Geminiをパートナーに神社DXシステムを個人開発した話(いなめぐDX 開発振り返り)
fujiba
0
130
モックわからないマン卒業記 ~振る舞いを起点に見直した、フロントエンドテストにおけるモックの使いどころ~
tasukuwatanabe
3
430
Laravel Nightwatchの裏側 - Laravel公式Observabilityツールを支える設計と実装
avosalmon
1
270
Featured
See All Featured
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
350
Evolving SEO for Evolving Search Engines
ryanjones
0
170
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
1k
New Earth Scene 8
popppiees
2
1.9k
エンジニアに許された特別な時間の終わり
watany
106
240k
Chasing Engaging Ingredients in Design
codingconduct
0
150
Embracing the Ebb and Flow
colly
88
5k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.4k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
320
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.1k
Typedesign – Prime Four
hannesfritz
42
3k
The Language of Interfaces
destraynor
162
26k
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などで基板を設計し、 業者に発注してみたい (はんだ付けが大変すぎた)