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

 そんな折、用途からしてモノクロで十分も中国製の激安互換品ながら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にしろ、ラズパイにしろ、一から作るのは骨そうなので手頃なボタン用のライブラリがあるかという点も気になるところ。

[2017/07/07]

 暑いからか、倦怠期か、バーナード・トミックじゃありませんが、ここに来て今ひとつモチベーションが上がらなくなり、リモコンも億劫でなかなか先に進めないでいます。。。それにしても何も罰金とったり、スポンサー契約打ち切ったりしなくてもね。。。プロとはいえ、まだ、24歳、壁にぶち当たることや、どうにもモチベーションが上がらないことなんて誰にでもあるでしょうし、口は災いのもととはいえ、誰かを誹謗中傷したわけでもなく、正直な気持ちが素直に口をついて出た、若気の至りに過ぎず、それ聞いてテニスのイメージが崩壊する人やプロへの夢が萎える人なんていないでしょうし、商売としてだって話題性が高いっていうだけで十分じゃんか、未来あり、実力もある青年を温かく見守ってやろうって気概はないのかね。。。周囲の大人気なさ、忖度することや保身しか考えてなさそうな様には全くもって呆れるね。

 さて、TFTの各種スケッチを眺めてみるとボタン機能は、座標位置を検出して予め決めた領域内がクリックされたら、画面をクリアして、当該ページを描画するなり、機能させるなり、両方なりの関数を作って対処します。。。まぁ、そうなんでしょうね。。。

 ところで仮にUnoやより小型のPro Miniで厳しかったとしてもラズパイじゃなくてフラッシュメモリが256KBあるArduino Mega(Unoは32KB)を使えば、いけそうか?

 Megaにも小型のMiniがあるようですが、Amazonにはないな。。。試作はともかく完成品としてMegaやDueを使うと、ちょっとデカすぎだよね。。。

[2018/08/15]

 気づけば、タッチパネル付TFT液晶を使った赤外線リモコン その1では、Pro MiniでTFTタッチパネルを実現していらっしゃいますね、素晴らしい。

 というか、ふと、TFTタッチシールドの実験を参照させて頂くと、ここで使ったTFT液晶タッチパネルのAdafruit ILI9341ライブラリのサンプルスケッチに[*_featherwing]スケッチがあって、中身を見るとESP8266/ESP32用のピンアサインも載っていることを今更ながら知った...Arduino感覚でも使えるWiFiモジュールESP8266/ESP32なら、Arduinoよりメモリ容量も多いし、そのまま無線LAN経由でリモコン操作できるわけだから、都合がよい...。

 しかも、同じ方が、TFTタッチスクリーン赤外線リモコンを作っていてGUI作成ライブラリまで公開してくださっている模様...。

 というわけで、まだ本腰を入れる気にはなれないし、何も検証・確認もしていませんが、タッチパネルリモコン構想におけるマイコンは、Arduinoではなく、ESP8266/ESP32にし、ライブラリはこれを使わせて頂こうと思います。

[2018/08/26]

 今更ながら追記。

 若干趣きは異なるし、前述の通り、電池の消耗激しいスマホやタブレットをリモコンにするのは...という思いもありますが、パソコンからも操作できるし...、ESP8266/ESP-WROOM-02/ESP32でスマートリモコンを作るという手も。

ホーム前へ次へ