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
Kenta
January 14, 2022
Technology
0
45
失くしたリモコンを作る
Raspberry Pi でエアコンのリモコンを作った話
Kenta
January 14, 2022
Tweet
Share
More Decks by Kenta
See All by Kenta
『Verylで作るCPU』を読んでいる
kenta11
0
120
マイクロプログラム制御方式のCPUを自作した話
kenta11
0
350
Elixirで作る将棋ソフト
kenta11
0
120
失くしたリモコンを作る2
kenta11
0
89
Other Decks in Technology
See All in Technology
Rubyist入門: The Way to The Timeless Way of Programming
snoozer05
PRO
7
510
ある編集者のこれまでとこれから —— 開発者コミュニティと歩んだ四半世紀
inao
5
3.3k
【M3】攻めのセキュリティの実践!プロアクティブなセキュリティ対策の実践事例
axelmizu
0
170
ステートレスなLLMでステートフルなAI agentを作る - YAPC::Fukuoka 2025
gfx
8
1.3k
セマンティックHTMLによる アクセシビリティ品質向上の基礎
zozotech
PRO
0
110
ZOZOTOWNカート決済リプレイス ── モジュラモノリスという過渡期戦略
zozotech
PRO
0
420
生成AIではじめるテスト駆動開発
puku0x
0
120
ABEJA FIRST GUIDE for Software Engineers
abeja
0
3.2k
【Oracle Cloud ウェビナー】パスワードだけでは守れない時代~多要素認証で強化する企業セキュリティ~
oracle4engineer
PRO
2
100
[mercari GEARS 2025] Building Foundation for Mercari’s Global Expansion
mercari
PRO
1
140
Perlブートキャンプ
hatena
0
230
Moto: Latent Motion Token as the Bridging Language for Learning Robot Manipulation from Videos
peisuke
0
150
Featured
See All Featured
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.7k
Site-Speed That Sticks
csswizardry
13
960
The Invisible Side of Design
smashingmag
302
51k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.3k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
Documentation Writing (for coders)
carmenintech
76
5.1k
Designing Experiences People Love
moore
142
24k
Why Our Code Smells
bkeepers
PRO
340
57k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Rebuilding a faster, lazier Slack
samanthasiow
84
9.3k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Typedesign – Prime Four
hannesfritz
42
2.9k
Transcript
失くしたリモコンを作る Kenta Arai 2022/01/14 某イベント 1
はじめに • エアコンのリモコンを失くしました • と言っても、かれこれ5年以上は見ていません • 今は二つの部屋で1つのリモコンを使いまわしています →「今のリモコンを失くしたら終わり」な状況が続いている • 不要なリモコンを見つけました
• 以前テレビを処分したのだが、そのリモコンはほったらかしだった • 不要なリモコンを再利用して、エアコンのリモコンを作れないだろう か? • 実用性を兼ねた趣味 • ジャンクの再利用なのでエコかも 2022/01/14 某イベント 2
リモコン製作までの道 • 方針:手軽に作る • リモコンの完成像:Raspberry PiにLEDやボタンを付けてリモコン化する リモコンの信号を計測 信号を解析 意図した信号を出力する リモコンを構築
2022/01/14 某イベント 3
信号を計測する~ハードウェア編~ • 信号を読み取るのもラズパイで • 赤外線受信モジュールをGPIOと接続し、信号を読めるようにする 2022/01/14 某イベント 4
信号を計測する~ソフトウェア編~ • irrp.py(IR Record and Playback)を利用して信号を読む • 信号がオンの時間とオフの時間が交互に表示される • 波形としてプロットするとこんなかんじ
2022/01/14 某イベント 5
信号を解析する(1/3) • インターバル(真ん中の長いオフの時間帯)を挟んで、同じ信号が2回 出ている • 暖房 • 冷房 • ドライ
00001110 11110001 11000011 00111100 00001111 10100101 00001111 00001111 00001111 00001110 11110001 11000011 00111100 00001111 10100101 00001111 00001111 00001111 00001110 11110001 01001011 00111100 00001111 10100101 00001111 00001111 00001111 00001110 11110001 01001011 00111100 00001111 10100101 00001111 00001111 00001111 00001110 11110001 10000111 00111100 00001111 10100101 00001111 00001111 00001111 00001110 11110001 10000111 00111100 00001111 10100101 00001111 00001111 00001111 2022/01/14 某イベント 6
信号を解析する(2/3) • 黒枠のビット列が違う値になっている • 暖房 • 冷房 • ドライ 00001110
11110001 11000011 00111100 00001111 10100101 00001111 00001111 00001111 00001110 11110001 01001011 00111100 00001111 10100101 00001111 00001111 00001111 00001110 11110001 10000111 00111100 00001111 10100101 00001111 00001111 00001111 2022/01/14 某イベント 7
信号を解析する(3/3) • バイト列はそれぞれ下記の通り • 暖房:0xC3 • 冷房:0x4B • ドライ:0x87 •
暖房→ドライ→冷房の順に、 • 下位4ビットは4ずつ増えている • 上位4ビットは4ずつ減っている • また上位4ビットをビット反転すると、下位4ビットになる 2022/01/14 某イベント 8
我が家のリモコンの信号フォーマット • Parity: Data0のビット反転 • Data0: 運転状態(暖房→0x3、ドライ→0x7、冷房→0xB、停止→0xF) • Data1: 風量(自動→0x0F、弱→0x1E、中→0x2D、強→0x3C)
• Data3: 気温((t-15)*0x0F。ただし16≦t[℃]≦30) • その他は使いたい機能とは関係が無さそうなので深追いしない Customer code Parity (4bits) Data0 (4bits) Data1 Data3 Data2 Data5 Data4 Data6 byte offset 0 2 4 6 8 8bit 8bit 2022/01/14 某イベント 9
リモコンを構築 • 機能 • 暖房、冷房、電源オフができる • LEDでエアコンの運転状態 (暖房、冷房、電源オフ)が分かる 2022/01/14 某イベント
10
完成したリモコン 2022/01/14 某イベント 11 ボタンを押すと… エアコンが起動した!
まとめと反省 • 不要なリモコンを再利用し、エアコンのリモコンを作ることができた • ジャンクを再利用したが、本当にエコなのか? • リモコンは単四電池2つでX年もつが、ラズパイはコンセントから常に電源を とっている • スマートリモコンを目指すとラズパイを使った甲斐があるかもしれな
い • 足したら面白そうな機能:部屋の状態(気温、湿度、CO2量)のモニタ、Alexa と連動など 2022/01/14 某イベント 12