So-net無料ブログ作成
検索選択

ArduinoでPCのスイッチをオンにする [電子工作]

Arduino Uno
Arduino Uno。Amazon.co.jpスイッチ・サイエンスでは在庫切れ中みたい。

Arduinoを使ってPCのスイッチを入れる実験。

まずは,Arduino IDEに付属の"Blink"というスケッチを使って,リレーをオン/オフするテストをしてみた。Blinkでは,デジタル・ピン13を1秒間隔でHIGH/LOWに切り替える。ここにリレーを繋げば,1秒おきにオン/オフするはずだ。今回使ったリレーは小さいものだが,オン/オフする時にちゃんとカチカチ音がするので,それで分かる。ソケットのD13とその隣のGNDにブレッド・ボード用のワイヤーを差し込んで,リレーのコイルの端子にそれぞれワニ口クリップで接続。で,BlinkをArduinoへ転送して実行させると...デジタル・ピン13に接続されているLEDは1秒おきに点灯するのだが,リレーはカチッとも音がしない。おやおや?

リレーの端子間の電圧を測ってみると,約4.2V。仕様上も,リレーG6K-2P 5V版をオンにするのに十分な電圧だ。試しに,電池と手持ちの抵抗を使って約4Vを作って,それをリレーに接続すると,カチカチッと音がする。つまり,電圧不足ということではなさそう。それでは,シールド用の電源端子に繋ぐとどうだろうか。デジタル・ピンとは反対側のソケットにある,5VとGNDにワイヤーを差して接続すると,今度は音がする。う~む。ではでは,D13と電源側のGNDに繋いだら? これでようやく,期待した通り1秒おきにカチカチ音がするようになった。しかし不思議。GNDって共通じゃないんだろうか。しかも,ちゃんと4.2V来てるのも,17mAくらいの電流が流れているのも確認していたのに。

ともかく,リレーが動作するようになったので,次はPCのスイッチに繋ぐ実験。今度は1秒おきにオン/オフを繰り返すのでは困るので,最初5秒間オフ,次に1秒オンになって,あとは無限にオフになるように,Blinkを書き換えた。これで,Arduinoに通電して5秒後に,PCがオンになるはずだ。実験マシンは,NEC Express5800 S70 タイプRB。マザーボード上にある,電源スイッチ等から来ているコネクタを引き抜いて,電源スイッチ用のヘッダ・ピンにリレーの端子を接続する。ArduinoはUSBから抜いてあってオフの状態。ここで,手持ちの9VのACアダプタを接続する。ArduinoのLEDが光って,1,2,3,4,5秒。うぃ~ん,という音ともにPCが起動した。実験は成功である。

将来的には,USB経由でいろいろコントロールできるようにしたいところだが,当面の停電対策にはこれで十分だろう。つまり,電気が戻ってArduinoがオンになると,その5秒後にPCもオンになるというわけだ。5秒だと短すぎるので,実際には5分くらい待って,安定してからの方がよいかもしれない。こいつをESXiサーバー・マシンに取り付けておけば,自動的にサーバーが起動されることになる。こんな単純なことに,Arduinoを使うのはもったいない気もするが,3千円弱のものだし,これで問題が解決するなら安いものだ。

本番回路を組むに当たっては, Arduinoシールド用の基板を購入することにした。約600円と高め(普通のユニバーサル基板で同じくらいの大きさだと100円程度)だが,せっかくなので綺麗に仕上げたいということで。来週末は,久々に半田付けである。


nice!(0)  コメント(0)  トラックバック(0) 

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

※ブログオーナーが承認したコメントのみ表示されます。

トラックバック 0

この記事のトラックバックURL:
※ブログオーナーが承認したトラックバックのみ表示されます。
※言及リンクのないトラックバックは受信されません。