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です。

 

 

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

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

この場合、ロータリーエンコーダーはクリックがあるタイプで、クリックのところで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」を検索して Seeed SAMD board インストールします。

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から給電してソフトウェアを書き込んだり設定したりします。

 

 

 

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

 

 

※)XIAOのコンパイル環境(Arduino純正ではないArmコンパイラ)は、OneDriveと相性がよろしくないようです。OneDriveを使用していると、コンパイラのPathが通らなくてエラーがでることがあります。

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

BlueSnowDAC」カテゴリの記事

Arduino」カテゴリの記事

コメント

たかじんさん、みなさま

Blue Snow DAC が完成して、おおよそ2週間になります。 使ってみて、やはりリモコンが欲しいなと思います。 この記事にある Seeeduino XIAOが、秋月でも欠品中なので、すぐに試みることはできないわけですが、マイコン未経験者の私には、わからないことだらけです。

Seeeduino XIAO に PL-IRM2161-XD1 をつけて、パソコンに Ardino IDE をインストールし、USBケーブルでつなげば、リモコン信号をSeeeduino XIAO からパソコンがもらったり、プログラムを Seeeduino XIAO に書き込んだりできるという理解でよろしいでしょうか。

# PL-IRM2161-XD1 は、IrBerryDAC で使ったのが手元にあります。

そして、NECフォーマットのリモコンの場合は、ダウンロードした SimpleReceiver_Test_XAIO_2.ino をダブルクリックして、Seeeduino XIAO に書き込めばよいということでしょうか。

# C言語の経験はあるので、プログラムの中身はわかりました。 ライブラリの充実って、すごいですね。

追伸: 製作例集(4)に、Blue Snow DAC を書き込みました。 
いつもながら、ありがとうございます。

たかじんさん、みなさま

前の書き込みをして、ダウンロードしたファイルをみていたら・・・

#define DECODE_NEC // Includes Apple and Onkyo

とあることに気がつきました。 
Apple Remote を別の機器(私の場合は、たかじんさんの VOL-12, VOL-01 & SEL-12基板によるプリアンプ)に使っている場合は、別のフォーマットのものを選ぶ必要があると言うことですよね・・・・。

気がついて良かった~~~。 たかじんさん、いつもながら、ありがとうございます。

n'Guinさん

おおぉ。 ついにArduinoにまで手を伸ばしてきましたね。 
製作例集(4)の方も拝見させて頂きました。 秋月のSPDIF基板、確かにチップが小さいです。 あれだけ面積あるので、1608使って欲しいです。

色々と苦労されていらっしゃいますが、ちゃんと完成まで到達できる技術力は素晴らしいと思います。ケースの選定もgoodでかっこいいです。

XIAOの方は、
https://nw-electric.way-nifty.com/blog/2021/11/post-27dab4.html
こちらのソースコードを使用された方が良いかもしれません。

リモコンコードを解析して、ソースを改変するところが最大の山場ではあるのですが、Arduinoの書込み方法など分からない所が沢山出てくるかもしれません。適時、ネット検索してみてください。 Arduinoは初心者向け情報の多さでも抜群です。

同じApple Remote を使うと、混信というか、同時に動いてしまいますね。。。

コメントを書く

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

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

サイト内検索(new)

2024年9月
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