PC連動電源の製作DIY
私はデスクトップパソコンにアンプとスピーカーを繋げています。
アンプの電源は自分でON-OFFしないといけないんですが、よく切り忘れます。
デスクトップPCに内蔵できるパワーアンプがあれば便利なのに、そんな商品は何故か見当たりません。市場がニッチ過ぎるんでしょうか?
アンプは100Vコンセントに繋げているので、アンプに繋がっているコンセントがPCに連動してON-OFFすれば、アンプの電源切り忘れがなくなるはずです。
欲を言えば、PCがスリープになったときもアンプの電源がOFFになって欲しいです。
デスクトップPCの電源を切らずにスリープで放置することも多々ありますので。
PC連動コンセントタップというものが売っているのは見つけましたが、安くても4000円強と高いので、自作してみることにしました。
結論から言うと、費用は2000円程度で作れます。
ただし、Pythonなどで簡単なプログラムを構築する必要があります。
では、作り方を紹介していきます。
本記事の目次
① 必要な部品
② 組立て
③ プログラム設定
④ まとめ
① 必要な部品
まず、Amazonなどで売っているUSBリレーを購入します。
PCのUSBに刺して、後ろの緑のところに2本線を繋いでON-OFFをコントロールします。
3カ所接続するところがありますが、2本しか使用しません。
実は私、これをPCのUSBに刺して配線繋げば、PCが立ち上がって、USBに電源が流れているときだけ勝手にONしてくれると思い込んでいました。
でもリレー以外にチップが組み込まれているのが気になっていたんですよね。
実際配線を接続してみたけど、電源はONにならず( ;∀;)
チップが何かしてるんだろうなと調べたところ、プログラムを組んでON-OFF信号をリレーに流す仕組みだったわけです。
値段の割にハイテクでしたw
しかし私はプログラム未経験(;´Д`A “`
結果的にはGoogle先生に頼って何とかなりました。
後程説明します。
次に必要なのはコンセント部品です。
お安いのを買いました(見えないところに設置するし)
首振りコンセントとか、3連タップとか、色々と売っているのでお好みのものを入手しましょう。
あとは、配線です。
リンクのように、2芯のタイプでもいいですし、単線でもどちらでも可です。
1.25sq以上のものを選びます。
最低限必要な部品はこれだけです。
あとはこだわりに応じて追加していきましょうw
② 組立て
では実際に組み立てていきます。
まずは配線です。
配線は、このように繋ぎます。
コンセント内部の組み付けは、Y端子や丸端子があると便利ですが、端子を使わなくても別に問題はありません。
Youtubeなどでコンセントプラグの作り方などが沢山出ていますので、参考にしてみて下さい。
配線の途中でコネクターが付いていますが、通常は不要です。
私はPCを不意に動かして配線が引っ張られたときに、コネクターのところで抜けるようにしてみました。
写真の黒い部分は熱収縮チューブです。
ヒートガンやライターなどで熱を加えると、収縮してくれますので、あると便利です。安いですし!
次に、USBリレーの加工です。
USBリレーは基盤がむき出しになっているので、ショートしないように絶縁対策が必要です。特に基盤の裏。
凝り性な私は、MDFで箱を作りましたが、ここまでする必要は全くありません。
100均のタッパーで囲ってもいいですし、100均のすきまテープを裏に張り、剥がれないようにビニールテープでぐるぐる巻きにでもOKです。
最後に、USBリレーのCOMとNDと書かれたところに繋いで完成です。
(基盤の裏に印字されています)
2本の線をCOMとNDどちらに繋いでもOKです。2本の線をリレーで通電、断線させることでON-OFFをコントロールする仕組みです。
ちなみに、NCとCOMに繋ぐと、常に通電状態になります。
実際にPCに接続してみます。
USBリレーは基本的に刺しっぱなしなので、PC背面にあるUSBに接続するのがいいと思います。
USBリレーにカバーするときは、カバーがPCケースや他のコネクターなどに干渉しないように注意して製作してください。
私はギリギリセーフでしたw
③ プログラム設定
さて、次は問題のプログラム設定です。
プログラムで何をするかというと、シリアル通信でUSBリレーのON-OFFを任意のタイミングでコントロールします。
私は女の子のキャラクターが解説してくれる動画でPythonのインストール方法を確認しましたw
VSCodeという無料エディターを使ってPythonを操作するのが、使いやすかったです。
使用方法は、またしても女の子のキャラクター動画で学びましたw
Pythonが使えるようになったら、Pythonでシリアル通信するために、Python上でPyserialというプログラムをインストールします。
pip3 install pyserial
というコマンドを入力するとインストールが始まります。
雑な説明で申し訳ないですが、私もあまり詳しくないので、よく分からない方は「Python Pyserial インストール 方法」などで検索してください。
私より分かりやすい説明HPが見つかると思います。
ここまで無事に出来たら、USBリレーをPCに刺してデバイスマネージャーを開いてCOMポートを確認します。
(私はPythonの変なバグ?にハマってここまでに3か月かかりました。途中放置してたわけですが…。)
私の場合は、COM4がUSBリレーでした。
もし、パソコンが認識してくれないようであれば、CH340 Driverをインストールする必要がありますので、検索してインストールします。
COMポートが分かったら、PythonでリレーONとリレーOFFのプログラムを作成しますが、その前に任意の場所にPythonフォルダを作成しておきます。
私の場合は、ドキュメントに「Python_Scripts」というフォルダを作成し、この中にプログラムを保存していきます。全角の名前はエラーになるので英語の名前にしておきましょう。
まずは、リレーONのプログラムを用意します。
VSCで入力すると、こんな感じに表示されます。
下記コードをPythonにコピーしてください。
※COMポートは実際に調べたもに変更
import serial
# COM4を開く
s = serial.Serial(‘COM4’,9600)
hex_num = 0xa0 , 0x01 , 0x01 , 0xa2 #sw open
#hex_num = 0xa0 , 0x01 , 0x00 , 0xa1 #sw close
print(s.name)
s.write(hex_num)
print(hex_num)
s.close()
次に、リレーOFFのプログラムを用意します。
5行目の先頭に#(コメントアウト)を付けて、6行目の先頭の#を削除すればリレーOFFになります。
今度は、作成したリレーON,OFFのプログラムを呼び出すバッチファイルを作成します。
バッチファイルの作成方法は「パイワーク」というHPが分かりやすかったです。
正しくバッチファイルが作成できると、バッチファイルをダブルクリックするとリレーがON-OFFするようになります。
ここまでくれば、プログラムで電源のON-OFFコントロールまであと少しです。
やりたいことは、
・パソコンが起動したときにアンプ電源ON
・パソコンがスリープ状態になったらアンプ電源OFF
・パソコンがスリープから復帰したらアンプ電源ON
・パソコンをシャットダウンしたらアンプ電源OFF(これはプログラム不要)
の4つのタイミングでの電源コントロールです。
USBリレーをON-OFFする命令はPythonで作成できたので上記のタイミングでコードを走らせるようにします。
その方法は、Windowsに元々あるタスクスケジューラーという機能を使用します。
タスクスケジューラーの基本的な使い方は、「パイワーク」のHPが詳しく解説してくれています。
上記3つのタイミングのタスクスケジューラーの設定方法を説明します。
すでに設定してしまっているので、設定履歴から説明しますね。
設定画面とは異なるかもしれません。
まず、タスクの名前と説明を入力します。自分が分かればOKです。
設定方法は何パターンかありますが、まずは基本的なPCを立ち上げたときにUSBリレーをONする方法を説明します。
トリガーの設定は、ログオン時とします。
操作の項目で、プログラム開始を選択し、
プログラム/スクリプトの「参照」をクリックして、作成したPythonのバッチファイルを指定します。
指定先のバッチファイルを開けという命令になります。
この場合ですと、マイドキュメント→Python_Scriptsファイル→python_batファイル→call_relay_ON.batを指定しています。
条件の項目は、チェックを入れなくてもOKです。
私はデスクトップPCのためAC電源しか使用しないのですが、何となくチェックを入れてみました。
設定の項目は、赤丸の項目に必ずチェックを入れます。
あとはお好みで。
これでPCを立ち上げたときと、シャットダウンしたときのUSBリレーONとOFFが設定できました。OFFは設定した条件から外れると勝手にOFFされます。
次に、スリープ時とスリープ解除時の設定方法です。
まず、赤丸のところにチェックをいれます。
トリガーの項目で、
スリープになったときにUSBリレーをOFFするときは
「ワークステーション ロック時」を選択します。
スリープを解除したときにUSBリレーをONするときは
「ワークステーション アンロック時」を選択します。
あとはそれぞれバッチファイルを指定すればOKです。
④ まとめ
無事、プログラムが動けば、PCと一緒に使用するプリンターとかヘッドフォンアンプとか、色々と使えると思います。
プログラムも一度覚えてしまえばアレンジも可能です。
ぜひ挑戦してみて下さい。
それにしても、タスクスケジューラーって何でこんなに表現が分かりにくいんでしょうね( ゚Д゚)
「ワークステーション ロック時」って意味わからないし!
最後愚痴ってしまいましたが、参考になれば幸いです。
それではまた!