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
失くしたリモコンを作る2
Search
Kenta
January 20, 2023
Technology
0
86
失くしたリモコンを作る2
「Raspberry Pi でエアコンのリモコンを作った話」の続編。
Kenta
January 20, 2023
Tweet
Share
More Decks by Kenta
See All by Kenta
マイクロプログラム制御方式のCPUを自作した話
kenta11
0
280
Elixirで作る将棋ソフト
kenta11
0
110
失くしたリモコンを作る
kenta11
0
42
Other Decks in Technology
See All in Technology
変化する開発、進化する体系時代に適応するソフトウェアエンジニアの知識と考え方(JaSST'25 Kansai)
mizunori
1
200
OpenHands🤲にContributeしてみた
kotauchisunsun
1
410
CI/CD/IaC 久々に0から環境を作ったらこうなりました
kaz29
1
160
監視のこれまでとこれから/sakura monitoring seminar 2025
fujiwara3
11
3.8k
GitHub Copilot の概要
tomokusaba
1
130
エンジニア向け技術スタック情報
kauche
1
240
Microsoft Build 2025 技術/製品動向 for Microsoft Startup Tech Community
torumakabe
2
250
Observability infrastructure behind the trillion-messages scale Kafka platform
lycorptech_jp
PRO
0
130
Amazon ECS & AWS Fargate 運用アーキテクチャ2025 / Amazon ECS and AWS Fargate Ops Architecture 2025
iselegant
16
5.3k
フィンテック養成勉強会#54
finengine
0
170
A2Aのクライアントを自作する
rynsuke
1
170
低レイヤを知りたいPHPerのためのCコンパイラ作成入門 完全版 / Building a C Compiler for PHPers Who Want to Dive into Low-Level Programming - Expanded
tomzoh
4
3.1k
Featured
See All Featured
Designing Experiences People Love
moore
142
24k
Stop Working from a Prison Cell
hatefulcrawdad
270
20k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
46
9.6k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Art, The Web, and Tiny UX
lynnandtonic
299
21k
The Cult of Friendly URLs
andyhume
79
6.5k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
22k
Designing for humans not robots
tammielis
253
25k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.5k
Designing for Performance
lara
609
69k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
124
52k
Transcript
失くしたリモコンを作る2 Kenta Arai 2023/01/20 某イベント 1
前回までのあらすじ 2023/01/20 某イベント 2
エアコンのリモコンを失くした • もう5年以上みていない • 他の部屋にあったもう一個でどうにかしている →今ある最後のリモコンを失くしたら終わりの人生 2023/01/20 某イベント 3
不要なリモコンを発見 • テレビを処分したときに捨て忘れた • 種類は違うけど同じリモコンだし、再利用できないか? • こういう突飛な理屈はだいたい工作の言い訳 • でもSDGsって言うもんね →付いてた赤外線LEDをわざわざ外して
自作リモコンの開発をした(前回の冬休みの宿題) 2023/01/20 某イベント 4
エアコンのリモコンが出す信号の解析 • 赤外線受信モジュールで色々な種類の信号を計測 2023/01/20 某イベント 5 • 色々な種類の信号から、信号のフォーマットを分析(ヤマ感)
Raspberry Pi 3B+ でリモコンができた! • 解析したフォーマットで赤外線LEDから信号を出力 • エアコンのON/OFF、モード切替(暖房→ドライー>冷房)ができた 2023/01/20 某イベント
6
今年の取り組み: リモコン簡素過ぎ問題 2023/01/20 某イベント 7
ちょっと簡素過ぎない? • リモコンにしてはできることが少なすぎる • 電源のON/OFF • モードの切り替え(暖房→ドライー>冷房) • 普段使う機能はもっとある •
設定気温の変更(1℃上げる、1℃下げる) • 風量の変更 • モニタ(現在のモード、風量、設定気温) 2023/01/20 某イベント 8
ちょっと簡素過ぎない? • リモコンにしてはできることが少なすぎる • 電源のON/OFF • モードの切り替え(暖房→ドライー>冷房) • 普段使う機能はもっとある •
設定気温の変更(1℃上げる、1℃下げる)←ボタン増やせばOK! • 風量の変更←ボタン増やせばOK! • モニタ(現在のモード、風量、設定気温) 2023/01/20 某イベント 9
ちょっと簡素過ぎない? • リモコンにしてはできることが少なすぎる • 電源のON/OFF • モードの切り替え(暖房→ドライー>冷房) • 普段使う機能はもっとある •
設定気温の変更(1℃上げる、1℃下げる)←ボタン増やせばOK! • 風量の変更←ボタン増やせばOK! • モニタ(現在のモード、風量、設定気温)←これどうしよう? 2023/01/20 某イベント 10
LCD、あるよ • 昔買ったラズパイ工作キットに入ってた • テキストを表示できるので 現在の状態を表示できるようにしよう! • 簡単なスペック • 16文字×2行の表示領域
• インターフェース:I2C • 英数字やカタカナ、独自の文字を表示可 2023/01/20 某イベント 11 LCD1602
LCDの制御方法 • 文字ごとに符号が決まっているので 表示したい文字列の符号列を作る 2023/01/20 某イベント 12 • あとは公開されているLCD向け Python
モジュールで API を呼び出すだけ!
リモコン完成図 2023/01/20 某イベント 13 • 諸々の制御:Raspberry Pi 3B+ • ボタン
• モニタの電源用 • モード用(暖房、冷房、ドライ) • 風量用(自動・強中弱) • 温度用(1℃上げる、1℃下げる) • モニタ:ボタンで設定した状態の表示用 • 電源ボタンを押して エアコンの稼働状態を見られた!
まとめ • LCDで現在の制御状態が分かるようになった • I2Cを理解することができた • ブレッドボードが盛りそば化した 2023/01/20 某イベント 14
反省 • 思ったよりも文字の表示が遅かった • LCDの知識不足、もうちょっと俊敏に文字を表示する方法は無いか… • そろそろブレッドボードでは限界 • 工作中にピンがよく抜ける、大きいボード買う?
おしまい 2023/01/20 某イベント 15
今日はちょっとネタ弱くない? 2023/01/20 某イベント 16
ホントは余興までやって自慢したかった… • ディスプレイが使えるようになったので、ゲームをしたかった • 作る予定のゲーム:恐竜ゲーム • Google Chrome でインターネットに繋がらないときにできるアレ •
chrome://dino で遊べる • ゲームができるエアコン用リモコンって楽しそう • 資料を公開するタイミングまでにはお見せしたい…! 2023/01/20 某イベント 17
ホントのおしまい 2023/01/20 某イベント 18
後日談:ゲームできました 2023/01/20 某イベント 19
抽象恐竜ゲーム 2023/01/20 某イベント 20 • 恐竜が@、障害物がX 障害物が迫ってきたら… 温度設定ボタンでジャンプ!