気の向くままに辿るIT/ICT/IoT
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にしろ、ラズパイにしろ、一から作るのは骨そうなので手頃なボタン用のライブラリがあるかという点も気になるところ。

[2017/07/07]

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

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

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

EasyWordMall Arduino UNO R3互換ボード(USBケーブル付属)

KKHMF Arduino Nano Ver 3.0互換ボード ATmega328P CH340G 5V 16MHz

EasyWordMall Arduino Pro Mini互換ボード Atmega328 5V 16MHz

Rasbeeオリジナル FT232RL互換 3.3V/5V FTDI/USB/TTL変換アダプタ

HiLetgo Arduino MEGA 2560 R3 ATmega2560-16AU互換ボード CH340G(USBケーブル付属)

HiLetgo Arduino DUE R3互換ボード ARM 32Bit AT91SAM3X8EA ケーブル付き

 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でスマートリモコンを作るという手も。

ウェブ造ホーム前へ次へ