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
87
失くしたリモコンを作る2
「Raspberry Pi でエアコンのリモコンを作った話」の続編。
Kenta
January 20, 2023
Tweet
Share
More Decks by Kenta
See All by Kenta
マイクロプログラム制御方式のCPUを自作した話
kenta11
0
310
Elixirで作る将棋ソフト
kenta11
0
110
失くしたリモコンを作る
kenta11
0
43
Other Decks in Technology
See All in Technology
AIエージェント開発用SDKとローカルLLMをLINE Botと組み合わせてみた / LINEを使ったLT大会 #14
you
PRO
0
130
ブロックテーマ時代における、テーマの CSS について考える Toro_Unit / 2025.09.13 @ Shinshu WordPress Meetup
torounit
0
130
Snowflake×dbtを用いたテレシーのデータ基盤のこれまでとこれから
sagara
0
130
会社紹介資料 / Sansan Company Profile
sansan33
PRO
7
380k
組織を巻き込む大規模プラットフォーム移行戦略 〜50+サービスのマルチリージョン・マルチプロダクト化で学んだステークホルダー協働の実践〜 / Platform migration strategy engaging all stakeholders
toshi0607
2
220
下手な強制、ダメ!絶対! 「ガードレール」を「檻」にさせない"ガバナンス"の取り方とは?
tsukaman
2
460
Autonomous Database - Dedicated 技術詳細 / adb-d_technical_detail_jp
oracle4engineer
PRO
4
10k
開発者を支える Internal Developer Portal のイマとコレカラ / To-day and To-morrow of Internal Developer Portals: Supporting Developers
aoto
PRO
1
480
「Linux」という言葉が指すもの
sat
PRO
4
140
Snowflake Intelligence × Document AIで“使いにくいデータ”を“使えるデータ”に
kevinrobot34
1
120
2つのフロントエンドと状態管理
mixi_engineers
PRO
3
170
機械学習を扱うプラットフォーム開発と運用事例
lycorptech_jp
PRO
0
680
Featured
See All Featured
For a Future-Friendly Web
brad_frost
180
9.9k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
31
2.2k
Scaling GitHub
holman
463
140k
BBQ
matthewcrist
89
9.8k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.6k
Producing Creativity
orderedlist
PRO
347
40k
Statistics for Hackers
jakevdp
799
220k
Making Projects Easy
brettharned
117
6.4k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
3k
Code Reviewing Like a Champion
maltzj
525
40k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
Writing Fast Ruby
sferik
628
62k
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 障害物が迫ってきたら… 温度設定ボタンでジャンプ!