Select Your Language

免責事項

  • 本サイトの情報の利用、内容、サービスによって、利用者にいかなる損害、被害が生じても、著者は一切の責任を負いません。ユーザーご自身の責任においてご利用いただきますようお願いいたします。

    本サイトで頒布している基板およびキットは、技術者、またはそれに準ずる電気的知識をお持ちの電子工作ファンの方のためのものです。一般のオーディオファンの方のためのものではありません。
    また、頒布基板およびキットは、いかなる条件でも動作を保証するものではございませんので、あらかじめご了承ください。

    電子工作では、火傷、感電、火災などの可能性があります。十分に注意をして作業して下さい。

    営利目的のご使用は認めておりません。 記事の転載や、基板・キットの商用利用の方は、ご連絡ください。学生やサークルの学習目的でまとめてご購入する場合は特別価格でご提供させていただきます。
無料ブログはココログ

スポンサー

« BlueSnowDACにSPDIF入力を付ける方法(秋月電子 AE-DIR8416編) | トップページ | BlueSnowDACにIRリモコンを増設する方法 Seeeduino XIAO(ソフトウェア編) »

2021年11月23日 (火)

BlueSnowDACにIRリモコンを増設する方法 Seeeduino XIAO(準備とハードウェア編)

秋月電子で格安で売っているArduino互換のSeeeduino XIAO というマイコンボードをご存知でしょうか?

ARM Cortex M0+(クロック48MHz)搭載で、なんと580円(2021年11月現在)

スイッチサイエンスでも取り扱いがありますが、現在は売切れ中のようです。

 

https://wiki.seeedstudio.com/jp/Seeeduino-XIAO/

こちらに日本語での解説がありますので興味のある方は読んでみてください。

Ir_remo1

本日はこのXIAOを使って赤外線リモコンを受信して、BlueSnowDACのロータリーエンコーダーが回っているように操作する方法でIRリモコン対応させてみます。

 

その前に、いくつか基本的な仕組みを書いておきます。

 

 

ロータリーエンコーダーの基本動作

Ir_remo2

ロータリーエンコーダーは、ボリュームのように回転する操作ノブですが、クルクルと360度以上どこまでも回るものです。

回路的には内部にスイッチが2つ入っていて、プルアップしておくと位相をずらしたA相B相が波形として出てきます。

Ir_remo2

回転方向で(時計回り=CW、反時計回り=CCW)A相とB相のどちらが先に来るかが変わるため回転方向を認識することが出来ます。

マイコンでエンコーダーを認識する時は、それぞれの相にチャタリング処理を入れたり、途中で戻したときの挙動なども考慮する必要があるのですが、今回は外部から操作するということで特に気にしなくてもOKです。

 

ロータリーエンコーダーへの介入

ロータリーエンコーダーをあたかも回しているように外部介入するには以下のようにするとOKです。

この場合、ロータリーエンコーダーはクリックがあるタイプで、クリックのところで2つのスイッチが共にOPENになっている必要があります。(秋月のクリックつきはOK)

 

Ir_remo3

キーポイントは、オープンドレイン駆動です。トランジスタならオープンコレクタ駆動。

通常のプッシュプル駆動出力をA相、B相ラインに接続すると、エンコーダー内部スイッチがONのときプッシュプル駆動回路に過電流が流れて故障の原因になります。

 

 

 

これらを踏まえてArduinoから操作してみます。

 

IRremote ライブラリのインストール

IRリモコンのライブラリは幾つか種類があるようですが、ここでは一番情報の多いIRremoteを使ってみます。

Arduino IDE の「ツール」->「ライブラリを管理」からライブラリマネージャを呼び出します。

検索ウインドで「IRremote」と入れると見つかります。バージョンは 3.4.0 になっていました。

ネット検索でヒットするIRremoteの使い方は現在のバージョン3系と古いバージョンとでちょっと違っているようでした。

Ir_remo4

最新版で挑戦してみます。

 

 

Seeeduino XIAO ボード登録

Arduino標準のボードを使うときは下記の設定は必要ありません。

Seeeduino XIAOをArduino IDEに登録するには「ファイル」の「環境設定」で追加のボードマネージャーのURL 欄に下記をコピペ

https://files.seeedstudio.com/arduino/package_seeeduino_boards_index.json

「OK」を押します。

 

そのあと、「ツール」->「ボード」->「ボードマネージャ」から

「Seeed」を検索してインストールします。

Ir_remo5

これでXIAOを使うことが出来るようになります。紛らわしいですが XIAO RP2040は別の基板です。 ラズパイpicoのCPUを積んだものです。

 

Ir_remo6

ボードの設定は、こんな感じでボードを選択していきます。特に難しい所はないと思います。

書き込むにはシリアルポートも「XIAO」と書いてあるポートを選択します。

 

 

ハードウェアの準備

まずは、IR受信をするセンサーを取り付けます。

私が使ったのは秋月電子で売っていたPL-IRM2161-XD1 というものですが、今は売っていません。

GP1UXC41QSあたりでOKです。フィルタの周波数は38kHz中心というものが感度が取りやすいと思います。日本のAV機器で良く使われているNECフォーマットのものが38kHzだからです。多少周波数が違っていても感度が悪くなるくらいで2~3mくらいなら受信できます。(ぴったりなら6~7mはいけるし、壁の反射でもいける)

電源電圧は3.3Vでも使えるものを選択してください。

Ir_remo8

最終的な繋ぎはこんな感じですが、A相、B相、電源の接続は後回しにして、

IRセンサーだけ付けて、USB-Cから給電してソフトウェアを書き込んだり設定したりします。

 

 

 

ちょっと長くなってきたので、続きはまた。

 

 

 

« BlueSnowDACにSPDIF入力を付ける方法(秋月電子 AE-DIR8416編) | トップページ | BlueSnowDACにIRリモコンを増設する方法 Seeeduino XIAO(ソフトウェア編) »

BlueSnowDAC」カテゴリの記事

Arduino」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

« BlueSnowDACにSPDIF入力を付ける方法(秋月電子 AE-DIR8416編) | トップページ | BlueSnowDACにIRリモコンを増設する方法 Seeeduino XIAO(ソフトウェア編) »

サイト内検索(new)

2022年1月
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31