カテゴリー: 電気工作

  • Raspberry PiからLGのディスプレイをRS232C経由で制御する

    Raspberry PiからLGのディスプレイをRS232C経由で制御する

    LGの4Kモニター「43UD79-B」を利用していますが,赤外線リモコンでは電源トグル操作のみ可能です.一方でRS232C経由でコマンドを送信することで,電源のon/offを個別に制御できるようです.

    必要なハードウェア

    Raspberry Pi

    Raspberry PiのGPIOはUART(シリアル通信)をサポートしていますが,3.3Vロジックレベルです.そのため,直接RS232C機器に接続するとRaspberry Piが壊れる恐れがあります.

    レベル変換基板

    Raspberry PiとRS232Cの間にレベル変換基板を挟むひつようがあります.今回は秋月電子通商にて3V・3.3V・5V系-RS232レベル変換基板のAE-ADM3202を購入しました.

    クロスケーブル

    LG 43UD79のRS232C端子は3.5mm 4極ジャック(TRS)のクロスケーブルが必要となります.今回は不要なイヤフォンを切断してAE-AMD3202に直接接続します.

    接続方法

    配線

    AE-ADM3202とTRSケーブルの接続

    AE-ADM3202 CN2TRSケーブル
    2 (TXD)Ring
    3 (RXD)Tip
    5 (GND)Sleeve

    AE-ADM3202とRaspberry Piの接続

    AE-ADM3202 CN1Rapsberry Pi GPIO
    1 (GND)Ground
    2 (TX-IN)GPIO 14
    3 (RX-OUT)GPIO 15
    4 (VCC) [U1の電源入力]3.3V Power
    5 (電源) [U2の電源流力]無接続

    Raspberry Piの設定

    Raspberry Piでシリアル通信を有効にするために,ターミナルでraspi-configを起動します.

    $ sudo raspi-config

      メニューから Interface Options > Serial Port を選択し,以下の質問に答えます.

      • Would you like a login shell to be accessible over serial? → No
      • Would you like the serial port hardware to be enabled? → Yes

      これにより,/dev/ttyAMA0が有効になります.

      動作確認

      電源ONコマンドを送信してみます.

      $ echo -e "ka 01 01\r" > /dev/ttyAMA0

      電源OFFコマンドを送信してみます.

      $ echo -e "ka 01 00\r" > /dev/ttyAMA0

      トラブルシューティング

      接続ピンの確認

      ケーブルの接続が正しいか確認してください.

      ディスプレイの Set ID を確認

      ディスプレイのSetIDは「01〜10」の範囲で設定可能です.ディスプレイの「menu>General>Set Id」を確認してください.Set IDが02の場合,コマンドは ka 02 01\r のようになります.

      あとはスマートホームなどと連携すれば「ディスプレイ点けて/消して」を操作できるようになりますね.

    1. GBAで遊ぶ準備

      GBAで遊ぶ準備

      昔買った MINI EZ-USB が発掘されたので久しぶりに遊びます.

      一方で昔参考にしたサイトはことごとく閉鎖されていたのが時代を感じます.今回はULA Host v2を利用させてもらいました.

      1. Zadigを利用してWinUSBドライバを適用します.
      2. ULA-Host V2を起動し,gba_boot.bixを転送します.
      3. 不明なデバイスになる場合は,Zadigを利用して再度WinUSBドライバを適用します.
      4. ULA-Host V2を起動し,Connectボタンを押します.
      5. ULA-Host V2を利用できるようになります.

      ULA-Host V2を起動する際に mfc140.dll が見つからないというエラーが出る場合は Visual C++ 2015 ランタイム をインストールすることで解決します.

      ULA-Host V2が利用できるようになりました.さてどうやって遊ぼうか.それが問題です.