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
260
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.5k
Webブラウザでページが表示されるまで
mikiken
0
85
Cコンパイラ自作はじめてみた
mikiken
0
270
seccamp2022 成果発表
mikiken
0
52
Other Decks in Programming
See All in Programming
テーブルをDELETEした
yuzneri
0
130
Embedded SREと共に達成した会員管理システムのAWS移行 - SRE NEXT 2026 ランチスポンサーセッション
niftycorp
PRO
1
3.3k
Welcome to the "Parametricity" 🏙️ − Generic だけど Specific な世界 −
guvalif
PRO
1
200
Android CLI
fornewid
0
200
AI Engineeringは、AIプロダクトだけのものか? 〜AIがソフトウェアを作る時代の新しい当たり前〜 / No AI in your product. AI Engineering in your development.
rkaga
4
340
【やさしく解説 設計編・中級 #6】良いアーキテクチャとは ~ 一本の登り道の、行き先 ~
panda728
PRO
0
200
What's New in Android 2026
veronikapj
0
240
AIエージェントで 変わるAndroid開発環境
takahirom
2
760
数百円から始めるRuby電子工作
tarosay
0
120
Go言語とトイモデルで学ぶTransformerの気持ち / fukuokago23-transformer
monochromegane
0
160
ルールを書いて終わらせないハーネスエンジニアリング
yug1224
4
1.8k
音楽のための関数型プログラミング言語mimiumにおける多段階計算の活用
tomoyanonymous
1
380
Featured
See All Featured
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.6k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.7k
Heart Work Chapter 1 - Part 1
lfama
PRO
8
36k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
200
RailsConf 2023
tenderlove
30
1.5k
Context Engineering - Making Every Token Count
addyosmani
9
1k
How GitHub (no longer) Works
holman
316
150k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.7k
Speed Design
sergeychernyshev
33
2k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2k
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などで基板を設計し、 業者に発注してみたい (はんだ付けが大変すぎた)