気の向くままに辿るIT/ICT
webzoit.netウェブサイトホームページ
IoT・電子工作

Arduinoで『タッチパネル式集約リモコン』を作る

ウェブ造ホーム前へ次へ
サイト内検索
カスタム検索
Arduinoって?

Arduinoで『タッチパネル式集約リモコン』を作る

Arduinoで『タッチパネル式集約リモコン』を作る

2017/05/01

 Arduinoを使って家にある複数のリモコンを学習させた『タッチパネル式集約リモコン』を作るページ。

 学習リモコンというとリモコンを向かい合わせてボタン機能を登録させるイメージがあるが、この場合、予め各種リモコンを学習させておき、リモコンを集約するという意味で敢えて集約リモコンとしてみた。

 ただ、このリモコン以前から作りたいと考えていたのだが、メモリ量からしてArduinoではなくRaspberry Pi Zeroを使うのが現実的かなという気がしており、その際は、ラズパイのページに転記、転載しようと思う。

 Arduinoでは、赤外線リモコンキット37センサーキットに入っていたリモコン送信モジュールは壊れていたが、受信モジュールと別途買ってあった赤外線LEDでテレビやエアコン(どっちもたまたまSHARP)といった家電操作できることを確認済み、PC上のDebianでlircを使ってみたらできたからRaspberry Pi/Raspbianでも学習リモコンはできると考えて良さそうだ、何れにしても実現はできるだろう。

 とは言え、コストがバカ高いのでは現実的ではなく、市販でよくある物理ボタンの学習リモコンでは専用ならまだしも、汎用だと直感的操作ができないなどの点から操作にはタッチパネルが賢明そう。

 限定はされるものの市販のタッチパネル式もあるが、学習リモコンとして買うには躊躇する程度に高価、スマホを使うという手もあるが、外から操作したいわけではなく家の中で使えれば十分、仮にスマホもコスト計算に入れるとなると割に合わないし、しょっちゅう充電しないといけないリモコンというのは使い勝手が悪過ぎる。

 機能としては、ON/OFF程度ではなく、できれば各種リモコンの全ての機能を持たせたい、自作するなら、操作性からして最低でも3.数インチ以上、できれば7インチ程度のタッチパネル液晶が欲しいところ、しかし、それだと安くても2000〜3000円程度はするとなると他コストも含め、リモコンとしては高すぎるのがネックとなると思っていた。

 ちなみにコストが高いと言っても、どうしても欲しければ、検討の余地もあるだろうが、そもそも、現状リモコンが嵩張って邪魔という意識は全くない。

 意図としては、リモコンを集約させたいというよりもリモコンが壊れた時の代替である。

 ついてはArduinoやRaspberry Piの題材としても手頃という思いはあるも、実際のところ、慣れも含め、リモコンは別々の方が利便性が高いはずで、仮にタッチパネル式集約リモコンが完成したとしても画面サイズが小さいという以前に一画面で完結しないことは自明で本来のリモコンを使う気になれなくなるほど使い勝手がよいとは想像しがたいという思いがあるから。

HiLetgo 2.4インチTFT LCDタッチパネル ILI9341 240X320

 そんな折、用途からしてモノクロで十分も中国製の激安互換品ながらTFTカラー液晶で2.4インチのタッチパネルなら600円ちょっとで入手できることがわかり、画面サイズで妥協しつつ、代替リモコンになり得るのかという実現可能性を探るということに意味があるのではないかと自己暗示にかけて試してみようと思うに至った。

 その2.4インチのタッチパネルは、既に発注済みで2週間もあれば届くのではないかと思うが、まずは、ちゃんと機能するのか、続いてサイズはともかく、ペン以外に指でも上手く反応するのか、応答時間は現実的なのかなど値段からして致し方なしなのか、お値段以上なのか以下なのか、届いてみないとわからない点もあり、何はともあれ、到着待ち、これが上手く機能しないとこの企画自体がポシャってしまうので、そこそこの性能でちゃんと機能することを期待したいところ。

 ただ、この2.4インチタッチパネル新着にはなってるんだが、同じAmazon/HiLetgo取り扱いの新着ではない表示のみの2.2インチのTFT液晶の方が、なぜか若干値段が高いのが気になっているところ。。。もしかしてタッチじゃなくてノータッチだったりする?とか、書き間違いとかじゃないよね?何れにしても、ちゃんと機能しますように。

[追記:2017/05/09〜10]

 2017/05/09夜、2.4インチTFT LCD タッチパネル含め、HiLetgoへの今回発注分到着を確認、翌10日、あっさり表示は確認できた一方、タッチ操作はそう簡単でもないらしく、というのも最初はタッチに反応せず、調べを進め、タッチ操作できることは確認できたが、入出力座標が不一致で書いたところとズレたところに描画されたり、選択した位置と違うところが選択されるといった状態で現在、スケッチを眺めつつ、調査中。。。とりあえず、表示・タッチ操作共にできたし、タッチについては、まだ、はっきりしないが、表示、タッチ操作への反応共にリモコンとして使う分には問題なさ気。

[2017/05/11]

 おお、入出力が一致した。(顛末はリンク先参照)

 さて、タッチペン、指でも操作可能なことがわかったから、これで必要なスイッチなどの画面レイアウトや画面数を考え、各種リモコンの送信コードを受信、スケッチに送信コードとして取り込み、書いて実行。。。この時、全部実装できるのか、一部なのか、妥協できる一部なのか、それともRaspberry Pi Zeroあたりでやる方が良いのかを判断する段階に進むことができるところまで来た。。。と。

 が、液晶が小さい=ボタン数が限られる、多くの機能を搭載しようと思うと画面数が多い=スケッチサイズが増大、総ボタン数が多い=スケッチサイズが増大、送信にRAWデータを使う=スケッチサイズが増大、複数のリモコンを操作=スケッチサイズが増大、グローバル変数定義が多い=必要保存領域が増大。。。スケッチ全体とグローバル変数定義領域の安全を見て何れも70%程度を安定稼働の限界と仮定するとArduinoでどこまでいけるのか、また、Arduinoにしろ、ラズパイにしろ、一から作るのは骨そうなので手頃なボタン用のライブラリがあるかという点も気になるところ。