How-To:USB Remote Control Receiver

MP3を聴く、XVIDまたはX264Sを閲覧する今、コンピュータは多くの家の少なくとも1つのスペースの楽しみセンターです。しかし、あなたが特別なHTPCを持っていない限り、あなたは鍵盤を使ってキーボードを使って、ボリュームの修正、そして急速に早送りのMythBustersの再販を停止します。 PCリモートコントロールは、著名なソフトウェアでサポートされていないUSBデバイスに、古代シリアルポートデザイン(誰がいますか?)を受信します。このハウツーでは、Windows用のソフトウェア、Linux、およびMac用にサポートされている典型的なプロトコルを模したUSB赤外線受信機をスタイルします。部品リストだけでなく、プロトコルプラス回路図への完全なガイドがあります。

デザインの概要

リモコンは変調された赤外線のデータを送信します。赤外線受信機ICは、変調されたビームを1Sだけでなく0Sのクリーンストリームに分離する。データストリームは、USB接続を介してコンピュータに送信されるだけでなく、マイクロコントローラによってデコードされる。ソフトウェアはコードを処理し、コンピュータ上のアクションをトリガーします。

バックグラウンド

コンピュータ赤外線受信機

最も古いPCの赤外線受信者スタイルは、レシーバICを使用してシリアルポートピン、通常はDCDを切り替えます。このスタイルは、USENETに由来する可能性が最も高い、そしてそれはまだWeb上で最も顕著なものです:Engadget、Interestableなどは、データをPCに送信しないので真のシリアルデバイスではありません。代わりに、コンピュータプログラムがシリアルポート上のパルスと信号を復調するだけでなく、時間がかかります。これは非常に簡単な設計ですが、それはWindowsで提供されなくなったタイミング精度への直接割り込みゲインアクセスに依存します。まだシリアルポートがある場合は、LinuxまたはMacユーザーがこの受信側を試すことができます。このタイプの受信機が現代のWindows XP PC上のシリアルポートと協力すること、およびUSB->シリアルコンバータを介して転送する正確なタイミングを期待していませんでした。

いくつかの高度な高度な赤外線受信機は、コンピュータにデータを送信する前に赤外線信号を決定または復号する真のシリアルポートデバイスです。 UIR / IRMANとUIR2は従来のピクチャ16F84を統合していますが、ファームウェアやソースコードを供給しません。これらのデバイスは、必要に応じてUSB->シリアルコンバータを介して現代のコンピュータで動作する必要があります。 USBIRBOYとUSBIRBOYはネイティブUSBデバイスですが、幅広いサポートがありません。

受信者ソフトウェア

受信者タイプに関係なく、コンピュータには、着信リモートコマンドをリッスンするためのプログラムが必要であり、それらをコンピュータ上のアクションに変換します。 LinuxおよびMacユーザーはLIRCを持っています。これは多くの異なる受信機タイプをサポートしています。 Windowsユーザーは少し幸運です。 WinLircは、簡単な割り込みベースのシリアルポート受信機のためのLIRCの放棄されたWindowsポートです。 WinLircは2003年に最後に開発されました。幸いなことに、Girderの最後のフリーウェア版(3.2.9b)はまだダウンロードのために提供されています。

IRリモートプロトコルの操作

IR信号を復号化します

リモートコントロール38kHzプロバイダパルスの間隔またはタイミングでエンコードコマンド、[San Bergmans]は、関係するプリンシパルについて説明しています。赤外線受信機ICはデータストリームをキャリアから分離する。私たちの仕事は、マイクロコントローラでデータストリームを復号することです。たくさんのリモートコントロールプロトコルがありますが、PhillipsのRC5は普通に普通に使用されているとともに、趣味で使用されています。

RC5は1ビット時間あたり1.778msの正確に14の等しい長さのビットのストリームです。ビット時間の最初の半分の間のパルスは0を表し、後半のパルスは1を表す。この計画はマンチェスター符号化と呼ばれます。

私たちは、既知のRC5リモコン、既知のRC5リモコンの出力を調べるためにロジックアナライザを使用しました。ダイアグラムは、2ボタンの2つのプレスと2ボタンの2つのプレスを示しています。なお、出力は上記の説明から逆方向に逆になることに留意されたい。

最初の2ビット時間は開始ビット、その後にトグルビットが続きます。受信機が繰り返しプレスと同様に、ボタンが押されるたびにトグルビットが逆になります。次の5ビットはアドレス(0b1110 = 0x1e)、その後にコマンド(0b000001 = 0x01,0b000010 = 0x02)です。 RC5への後方互換の拡張機能は、コマンドビット7として2番目のスタートビットを使用します。

コンピュータへのリモートコードを表す

前のデザインを見ると、リモートコマンドをコンピュータに伝達する3つの一般的な方法があります。

プロトコルの特定の受信機は1つのプロトコルを復号し、実際の復号化されたコマンドをPCに送信します。

もっと一般的なタイプの受信機は、各パルスの間隔だけでなく、各パルスの間隔も分析のためにPCに送信する。

いくつかの受信機は信号に対して異なるハッシュを生成しますが、波形を完全に再現するのに十分なデータを実際には含まれていません。

私たちの好みが一般的なハッシュメソッドに向かっている間、私たちの唯一のリモートはRC5を使用していますそれがRC5の特定のデコーダを開発するのはもっと魅力的だったので。ファームウェアセクションでは、もっと一般的なバージョンの変更を説明します。

コンピュータインタフェースプロトコル

私たち自身の受信側ソフトウェアまたはドライバを書いたくなかったので、模倣する既存のよく認められた通信プロトコルを探しました。 UIR / IRMAN / IRA / CTINFRA / Hollywood + Type Receiverは、LIRCと同様に桁だけでなく、ハンドシェイクで簡単なシリアルプロトコルを使用しています。

ガジェットは、DTSとシリアルポートのDTRピンによって初期化されます。私たちはこれらのものも持っていません。

コンピュータはオプションの遅延で「IR」を送ります。ガジェットは「OK」と返信します。すべての “R”に “OK”を送る

リモートコントロールコードは、異なる6バイトハッシュとして送信されます。実際の値を送信するだけでなく、RC5信号をデコードしますが、代わりに一般的なハッシュが使用される可能性があります。

このプロトコルはシリアルポートデバイス用ですが、USBレシーバは仮想シリアルポートとして表示され、プログラムは違いを理解できません。

ハードウェア

フルサイズの回路図(PNG)の右クリックしてください。私達の受信者はUSB対応の写真18F2455マイクロコントローラ、18F2550のより小さく、高価なバージョンに基づいています。 18Fの世帯は、VPPをリスクフリーレベルに減らすためにダイオードを使用している場合、Hobbyistの好ましいJDMスタイルのプログラマとプログラム可能です。ピクチャは、1つのデカップリングコンデンサ(C1)、およびICSPプログラミングヘッダー上の抵抗(R1)と同様にダイオード(D1)を取得します。デバッグ用のPINヘッダまたはMAX RS232トランシーバICを使用して、シリアルポートを露出させました。

USBペリフェラルには、20MHzの外部クロック(Q1、C5,6)、および.220UFコンデンサが必要です。 2 xの0.1UFデカップリングコンデンサ(C2,3)を使用してコンデンサを偽造しました。 3mm LED(LED1)と330Ωの現在の制限抵抗(R2)はUSB接続状態を示しています。

4.7UFデカップリングコンデンサ(C4)を呼び出すTSOP-1738赤外線受信機ICを使用しました。この特定のICを発見できない場合は、ここでは任意のタイプの受信者が機能する必要があります。 TSOP-1738出力は受信信号の逆数であり、パルスが検出されたときにグランドに引っ張るので、信号が存在しないときにプルアップ抵抗(R3)がピンをハイに保持します。確認した場合は、別の受信側を使用するかどうかを確認してください。

回路はUSBバスから電力を引きますので、追加の電源装置を必要としません。

パーツリスト

フルサイズの配置図(PNG)の場合は、ここをクリックしてください。 PCBスタイルは片面だけでなく100%スルーホールです。 CADSoft EagleとPCBと同様に、CADSoft Eagleで作られていました。すべてのファイルはジョブアーカイブ(ZIP)に含まれています。

説明

IC1

PIC 18F2455

28ピン.300ソケット

C1,2,3

0.1UFコンデンサー

C4.

4.7UFコンデンサー

C5,6

27PFコンデンサ(15pFが良くなる可能性があります)

D1.

1N4181ダイオード

Q1

20MHzの水晶

R1,3

10Kオーム抵抗器

r2

330オーム抵抗器

ts ts

TSOP1738(時代遅れ、TSOP1138)

USB

USB ‘B’プラグ、女性

ser

.1 “ピンヘッダ

ICSP.

.1 “ピンヘッダ

ファームウェア

ファームウェアは、マイクロチップの無料発表C18コンパイラを使用してCで書かれています。ソースと同様にファームウェアはジョブアーカイブ(zip)に含まれています。

マイクロチップのUSBスタックのバージョン2.3を使用して、すでに多くのシステムで提供されているデフォルトのChauffeursを使用してUSBシリアルポートを作成しました。 USBスタックは、USBガジェットを列挙するための簡単な機能と、ガジェットとホスト間でデータを転送します。 CDCプレゼンテーションをカスタムメイドのハードウェアに取り組むために数ピンの変更を加えただけです。

UIR / IRMAN / IRA / CTINFRA / Hollywood + Protocolの私達の実装は、「OK」を持つ文字 ‘r’に応答するだけです。これは、このプロトコルのあらゆる種類の実装のハンドシェイク要件を満たすべきです。

私たちは、それが広く使用されているプロトコルであるため、RC5(およびRC5X)を具体的にデコードすること、および私たちが扱う必要があるリモコンの唯一のタイプです。復号化の多くは割り込みハンドラで行われます。

非常に最初の信号変更は、889US(半ビット期間)タイマーを開始する割り込みをトリガします。

各タイマ割り込みでは、マンチェスター符号化ビットの半分がサンプリングされます。

測定値は、他のすべての割り込みが比較され、ビット値は0,1、またはエラーであると計算されます。エラー復号ルーティングをリセットします。

各送信の終わりに、コマンドバイトと同様にアドレス、ならびに4つのバッファバイト(0)を備えたホストに送信される。 PCソフトウェアを他のプレスごとに混同しているため、トグルビットを破棄します。 RC5Xコンプライアンスのコマンドビットに2番目のスタートビットを追加します。これは0x40以外のRC5Xリモートコードに0x40を追加します。

マンチェスターコーディングステップ(3)を削除することによって、および48個のサンプルビット(6バイト全て)をコンピュータに送信することによって、もっと一般的なバージョンを作ることができる。

USB赤外線受信機のインストール

ほとんどのオペレーティングシステムはすでにAをサポートするChauffursを持っていますレシーバのような仮想シリアルポートガジェット。 Windows XPには必要なドライバがありますが、それらをそれらを適切に私たちのデバイスと関連付けるには、必要があります。

Windowsは、受信側をプラグインする最初の時間に初めて新しいハードウェアダイアログを表示します。カスタムメイドのドライバを使用する場合と、ジョブアーカイブ(zip)に含まれる.infデータにそれをポイントします。これは、ガジェットをすでにWindowsに含まれているモータリストにリンクしています。受信者をCOMポートとして追加します。コントロールパネルのCOMポート番号を確認できます。

MacおよびLinuxユーザーはLIRCで受信者を使用できますが、Windowsユーザーは古い、フリーウェアの桁数、または新規、30日間のトライアルSharewareバージョンのオプションに直面します。私たちは桁のフリーウェア版を使いましたが、あなたが見落とされた素晴らしい、オープンソースの代替を提案することを願っています。

使用するコンピュータ側コントロールソフトウェアに関係なく、UIR / IRMAN / IRA / CTINFRA / Hollywood +スタイルレシーバー用に設定したり、割り当てられたCOMポートまたはシリアルアドレスに移動します。当社の受信機は、「Fast UIR INIT」のような任意の種類のプロトコルオプションと同様に、「IR」 – >「OK」ハンドシェイクを短縮または取り除くことのような任意の種類のプロトコルオプションと互換性があります。今すぐあなたのソフトウェアの文書に従って受信機をテストしてください。

手動端末インタフェースとデバッグ

受信者に問題がある場合、または興味がある場合は、シリアル端末からインタフェースしてみてください。ヘラクレスのシリアルターミナルが本当に好きです。右のCOMポートを設定しますが、USBシリアルポートドライバによってスピードと設定設定は無視されます。

資金調達 ‘R’はタイムリーに受信者に「OK」を返信します。 RC5コードは生のバイトとして返されるので、それをASCIIテキストとして翻訳するのではなく、ターミナルが16進数の値を表示するように設定してください。非常に最初のバイトは、RC5アドレスバイト(0x1e)、その後にコマンドバイト(0x41)が続き、次に4つのバッファ0がUIR / IRMANプロトコルに付着します。写真はハンドシェイク、および1,2の短いプレスの出力と3つのボタンを示しています。

Portmonと呼ばれる無料のユーティリティは、レビューのためにCOMポートアクティビティを記録します。これは、既存の受信者プロトコル上でのスパイ、およびカスタムメイドのハードウェアと閉鎖/独自のソフトウェアとの対話をデバッグするのに役立ちます。画像は、初期化文字列 ‘IR’(0x49,0x52)、および受信側の応答 ‘OK’(0x4F、0x4B)を送信します。

それをさらに服用する

当社のRC5X準拠受信機は、広く使用されているインターフェースプロトコルに従います。オープンソースの赤外線受信機の追加機能のためのトンの可能性があります。

元のUIR / IRMANハードウェアのように、一般的なハッシュジェネレータを介してすべてのリモートをサポートします。

RC6のような追加のリモートプロトコルデコーダを追加します。

複数の設定可​​能なインターフェイスプロトコルをサポートします。

シリアルポートI / Oを実装してください。

プロトコル、インタフェースモード、タイミングオプション、シリアルポートなどを含むEEPROMで設定オプションを保存します。

Leave a Reply

Your email address will not be published. Required fields are marked *

Related Post

Cyclone VCyclone V

Cornell Sendeny [Erissa Irani]、[Albert Xu]、[Sophia Yan]、[Bruce Land] ECE 5760クラスのFPGA波方式ミュージックシンセを構築しました。 チームは、Cyclone V FPGAによって再生されるべき4弦楽器のトリオを設計するためにKaplus-Strge String合成方法を使用しました。 開発ボードのARM 9 HPSで実行されているCプログラムは、音楽シーケンサーとして機能し、テンポを制御し、再生するための注意事項を指示しています。 生徒たちは、Pocahantas Soundtrackからの「風の色」、「CayugaのWaters」(Cornell’s Alma Maters)とJohn Legend’s ‘Me “を含む4曲のバージョンを作成しました。 単純なGUIを使用すると、視聴者は曲を選択し、どの機器やプレイを再生するかを選択して、各曲に複数のバリエーションを提供します。 ありがとう、[ブルース]!

木曜日のナノハック:今週のナノハックのためにナノ木曜日のナノハック:今週のナノハックのためにナノ

からの電力を得ることは、iPod Nanoのバッテリーの電源を切る方法を説明します。 NANOと組み合わせて他の小型の低電力装置を実行する必要がある場合は、電力が有用である可能性があります。これらのデバイスは小さな回路、ライトなどにすることができます。 あなたが必要とするのは: – キャノビラレーションへのiPodコネクタケーブル(USB 2.0 + FireWireにドックコネクタを使用) – マルチメータ – はんだ付けアイロン – いくつかの種類の薄いナイフまたは小型フラットヘッドドライバをPRYに開いています。 最初にiPod nanoを完全に再充電してください。 iPodコネクタを取り、ドックコネクタの端の白いプラスチック製のハウジングを販売することから始めます。 ホワイトプラスチックをコネクタから慎重に取り外し、ケーブルまたはケーブルを背面から外します。あなたはこのような箔に覆われた金属製の箱を持っているべきです: このホイルは粘着性があり、単に剥がすことができます。そうしなさい。 次に金属製の箱を開くことができます。 (ケーブル側ではなく、コネクタの側面)のコネクタピンを箱の内側に破損しないように注意してください。箱を開くことができるようにする前に押し込まれる必要があるケーブル側の各辺にタブがあります。 金属製の箱が開いているものがある、あなたはこれに似たものがあります。先に進み、接着剤と電気テープの混乱の上のドックコネクタ側から約1センチメートルのケーブルを慎重に切り取ります。細心の注意を払って、残りのケーブルからの接着剤を小さなナイフまたは平らなヘッドドライバーでしっかりとします。無傷のタブのいずれかを必ず破断しないでください。 それでは、タブからそれぞれのワイヤを一つずつデダロールします。あまりにも多すぎるのは、はんだタブのいずれかを取り込ませないでください。コネクタをNANOに戻し、DCボルトにセットを使用してコネクタの+ 3.3Vピンを見つけます。次の図を使用して、ナノを上に向けているときは、地面は完全に右側にあります。 + 3.3Vは上の行の右側からの7番目のピンです。 ナノを傷つけないようにナノからコネクタを取り外します。上部行の右からの四番ピンオーバーにはんだタブがありません。もしそうであれば、そのピンの端のエポキシ/赤色の接着剤で穏やかに掻き取られて、はんだ付けするのにできるだけ多くの金属を露出させます。露出した金属領域にはんだがタッチしてください。 2倍のグランド(最上段と下の列の両方のピン)に1つの小ケーブルをはんだ付けします。 上の画像では、3.3Vピン(右から7番目の右から7番目に)上に露出した金属を見ることができます。露出した3.3Vピンに2番目のリードをはんだ付けします。

Appleの20W USB-Cパワーアダプターで5%を節約し、わずか17ドルAppleの20W USB-Cパワーアダプターで5%を節約し、わずか17ドル

AmazonはAppleの20W USB-Cパワーアダプターをわずか18.98ドルで販売しています。これは、5%の節約と数ドルの節約を表すコストですが、その申し出が終了することを期待する必要があることを理解していません。 割引率はそれほど大きくないかもしれませんが、それは私たち全員が要求するだけでなく、常にコスト削減を得るとは限らない製品で注目に値するものです。あらゆる種類の割引率コードに移動したり、あらゆる種類の画面上のクーポンをクリップする必要はありません。必要に応じて必要なのは、できるだけ早く購入できるようにして、最高のコストを利用できるようにすることです。 購入:AmazonからのApple 20W USB-C電源アダプター:$ 27.98 |元の価格:20ドル Apple 20W USB ‑ C電源アダプターは、自宅、オフィス、または外出先で迅速な充電を提供します。 この20W USB-Cパワーアダプターは、AirPodsやその他のAppleアクセサリは言うまでもなく、iPhoneまたはiPadを充電するのに最適です。その20Wスコアは、ガジェットが迅速に充電されることを期待できることを意味します。これは、iPhone 8と後でできる限り迅速に料金を払うことを意味します。 電源アダプターはあらゆるタイプのUSB ‑ C対応デバイスと互換性がありますが、AppleはIPAD ProとIPAD Airと組み合わせて、理想的な充電パフォーマンスを提供することを提案しています。 執筆時点では、20W USB-Cパワーアダプターは、Amazonで142,800を超える評価を持ち、可能な5つのうち4.8星の統合スコアがあります。他のどの製品の種類と同様に、すぐに購入してください。また、新しい充電器はすぐにあなたと一緒にいます。 同様に検査するのが好きかもしれません: iPhoneのJailbreak iOS 15.6およびiPadステータスの更新 ダウンロード:iOS 15.6最終的なIPSWリンクOTAデータとiPados 15.6