工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Manufacturing Technology >> 製造プロセス

Arduinoと1Sheeldで作る万能Androidリモコン──IR制御で家電を一括操作

必要な部品と材料

プロジェクト概要

テレビ、衛星放送受信機、ステレオなど、それぞれのリモコンを使わずにAndroidスマホ1台で全て操作できるようにするプロジェクトです。同じ手法でリモコン対応のあらゆる機器を制御可能です。

手順1:Androidアプリのインストール

Google Playストアから1Sheeldアプリをダウンロード・インストールします。

手順2:既存リモコンの解析(IRコード取得)

リモコンの送信部は赤外線LEDで、ボタンごとに固有のパルスパターンを発信します。受信側はそのパターンを認識して動作します。この固有パターン(16進コード)を解析します。

  1. Arduino用IRremoteライブラリをインストール。
  2. ライブラリの例題「IRrecvDump」を使用(3枚目の画像参照)。
  3. IR受信モジュールを配線:GND、5V、Pin 11。
  4. スケッチを書き込み、シリアルモニタを開いてリモコンのボタンを押すと、16進コードが表示されます(5枚目の画像)。
  5. 4枚目の画像のように、ボタンごとの16進コード(例:0x20DFC03F, 32bit = 電源ボタン)をメモします。
  6. 「unknown encoding」と出たら、同じボタンをもう一度押してみてください。
Arduinoと1Sheeldで作る万能Androidリモコン──IR制御で家電を一括操作
Arduinoと1Sheeldで作る万能Androidリモコン──IR制御で家電を一括操作
Arduinoと1Sheeldで作る万能Androidリモコン──IR制御で家電を一括操作
Arduinoと1Sheeldで作る万能Androidリモコン──IR制御で家電を一括操作
Arduinoと1Sheeldで作る万能Androidリモコン──IR制御で家電を一括操作

手順3:送信用スケッチの書き込み

取得した16進コードを送信用スケッチの該当箇所(0x20DF10EFなど)に置き換えます。1Sheeldアプリにリモコン画面がないため、キーパッドシールドをリモコン代わりに使用します(キーボードシールドでも可)。

Arduinoと1Sheeldで作る万能Androidリモコン──IR制御で家電を一括操作
Arduinoと1Sheeldで作る万能Androidリモコン──IR制御で家電を一括操作

テスト

IR LEDをArduinoのPin 3に接続し、対象機器の受信部前に配置。1Sheeldアプリでシールド接続後、キーパッドシールドを選択。スマホのボタンを押すと対応するIR信号が送信され、電源オン/オフ、音量、チャンネル切替などが動作します。

Arduinoと1Sheeldで作る万能Androidリモコン──IR制御で家電を一括操作
Arduinoと1Sheeldで作る万能Androidリモコン──IR制御で家電を一括操作

スケッチ(リモコン送信コード)

Remote Control Code
#include <OneSheeld.h>
#include <IRremote.h>

IRsend irsend;

void setup() {
  OneSheeld.begin();
}

void loop() {
  // キーパッドの行/列組み合わせで各機能を割り当て
  if (Keypad.isRowPressed(0) && Keypad.isColumnPressed(0)) {
    irsend.sendNEC(0x20DF10EF, 32); // 例: TV電源
  } else if (Keypad.isRowPressed(0) && Keypad.isColumnPressed(1)) {
    irsend.sendNEC(0x20DFC03F, 32); // 例: TV音量+
  } else if (Keypad.isRowPressed(0) && Keypad.isColumnPressed(2)) {
    irsend.sendNEC(0x20DF40BF, 32); // 例: TV音量-
  } else if (Keypad.isRowPressed(1) && Keypad.isColumnPressed(1)) {
    irsend.sendNEC(0x41048B7, 32);  // 例: 衛星受信機チャンネル+
  } else if (Keypad.isRowPressed(1) && Keypad.isColumnPressed(0)) {
    irsend.sendNEC(0x410C837, 32);  // 例: 衛星受信機チャンネル-
  } else if (Keypad.isRowPressed(2) && Keypad.isColumnPressed(0)) {
    // Sony TV電源コード例(12bit, 3回送信)
    for (int i = 0; i < 3; i++) {
      irsend.sendSony(0xa81, 12);
      delay(40);
    }
  }
}

製造プロセス

  1. Arduinoとスマホで作るスマート電圧計 – 簡単DIYプロジェクト
  2. IoTで遠隔操作する自作ロボットアーム:Arduino MKR1000とSimulink、ThingSpeak活用
  3. Android加速度センサーで操作するラジコン車両:Raspberry Pi・Arduino・モーターシールド連携
  4. Arduino UNOで周波数とデューティサイクルを高精度測定
  5. FirmataとXbox OneコントローラーでArduinoローバーをシームレス操作
  6. Bolt IoTとArduino UNOでLED輝度をシームレス制御
  7. スマートなArduino制御ロボットアームの製作:簡単DIYチュートリアル
  8. Arduino IoT CloudとAlexaでテレビを音声操作:ステップバイステップガイド
  9. Arduino NanoとRDA5807Mで作るコンパクトFMラジオ
  10. iOS/AndroidアプリからWi-Fi/イーサネットでArduinoのLEDを制御 – Evothings Studio活用
  11. スマホで家庭照明をシームレス制御 - 1Sheeld活用