So-net無料ブログ作成
電子工作 ブログトップ
- | 次の10件

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円程度)だが,せっかくなので綺麗に仕上げたいということで。来週末は,久々に半田付けである。


もの忘れ [電子工作]

上がJapaninoで,下が先日のArduino Uno。チップの大きさが段違いですな。外部インターフェースのコネクタも,Japaninoの方が少し多い。Japaninoが付属しているのは,学研「大人の科学マガジン vol.27」

ちょっとショッキングな出来事。

先日の地震で,よくも崩れなかったと思う雑誌の山を整理していた時のことだ。大半は,献本でもらった雑誌。自分の記事が載っている雑誌は,なかなか処分できないものである。特に最近は,縮刷版が出ていないのでなおさらだ。なんでやめちゃったんだろう。PDFがあれば,せめて倉庫へ移動できるのに。

おやっ? 雑誌以外のものが混じっている...と思ったら,なんと,あろうことか「大人の科学」のJapaninoが出てきた...。Japaninoは,Arduinoの「大人の科学」バージョン。先日の記事で,「ついにArduinoに手を出した」とか書いていたのに,1年近くも前にJapaninoを購入していたということだ。しかも,「そういえば買ったっけな~」という感覚すらない。全く記憶が甦らないのだ。ということは,飲み会の帰りか何かに,酔った頭で何となく買ってきたということだろうか。う~む。

冊子が取り外されていて,同じところにはなかったので,これまた家の中をあちこち探し回ったところ,30分くらいしてようやく発見。中を見ると,確かに読んだような記憶が戻ってきた。それがせめてもの救いである。

結局,買っていない訳がなかったんだなぁ。積んであったので埃こそ被っていないものの,何かやりたいという目的があった訳ではないので,やっぱりほったらかしになってしまったのだ。[大人の科学」には,光残像キット(振ると残像で文字が見えるやつ)がついていたのだが,組み立てすらしていない。キットそのものには,特に興味がなかったということだろう。

しかしまぁ,せっかくなので組み立ててみるか。Japaninoは,先日インストールしたArduinoのIDEからでも問題なく使えるらしい。公式ページのFAQによれば,"Arduino Pro or Pro Mini (3.3V,8MHz)w/ATmega168"を選択すればよいそうだ。Windows 7では,ドライバも自動的にインストールされた(Arduino Unoとは異なるもの)。Japaninoでも,デジタル出力は40mA取れるそうなので,PCの電源をオンにするのには,こっちを使っても良さそう。

それにしても,この記憶力の衰えは深刻。日頃それなりに頭は使ってるんだけどねぇ。もう容量オーバーなんだろうか...^^;


Arduino! [電子工作]

スイッチサイエンスで購入した,Arduino Uno。右のは入っていた箱。Made in Italyだけあって,なかなかオシャレ。基板の上の小さな四角いのが,G6K-2Pというリレー。その上のちっちゃいのがダイオード,1SS133。定番の1S1588は,すでに廃番になっているそうだ。

ついにArduinoに手を出すことになった。

Arduinoとは,一部でブーム(?)になっている,小さな8ビット・マイコン・ボードである。今回購入した,Arduino Unoの基板のサイズは7cmx5.5cmほど。これにATmega328Pというマイクロ・コントローラが載っている。USBコネクタがついており,PCとUSBで接続してプログラムを転送し,Arduino上で実行させることができる。基板上には,入出力用のコネクタが搭載されているので,データを取り込んだり,外部機器を制御したりすることも可能である。

過去に,おまけ基板つきの「インターフェース」や「トラ技」を買いまくっていたことを考えれば,遅きに失した感はあるが,要は使い途がなかったのだ。実際,おまけ基板達は,部品を半田付けして完成させるところまでは行くものの,その後は埃を被ってしまっている。Arduinoは完成品なので(組み込み用の半完成品も売っているが),買ったところで,何もせずそのまましまい込んでしまう可能性があったのだ。つまり,今回購入したのには歴とした目的がある。

Arduinoで何をしたいのかというと,リモートからPCのスイッチを入れることだ。計画停電時は,自宅のESXiサーバーをシャットダウンする必要があるのだが,シャットダウンならリモートから出来る。しかし,停電終了後に起動することが出来ないのだ。ESXiサーバーをインストールしているNECのExpress 5800 S70 タイプSDは,電源オフからのWake On LANをサポートしていないのである。ATXの電源スイッチは,押している間だけ短絡するようになっているので,これを回路でエミュレート出来れば,スイッチを入れられるはずだ。

今回は,短絡させる方法として,一番シンプルなリレーを採用。SSRとかMOSFETも考えたのだが,リレーなら原理的に機械スイッチと同じなので,未だ電子工作初心者の私でも,PCを壊すことはなかろうという判断である。リレーは,ある2端子間に所定の電圧をかけると,電磁石が働いて内部の鉄の板(?)を引きつけ,別の2端子が短絡するという仕組みになっている。この短絡する2端子を,マザーボードの電源スイッチのコネクタに接続し,電圧をかける部分を,PCからコントロール出来ればよいというわけだ。

そこでArduinoである。リレーの欠点は,機械式なので,SSRやMOSFETに比べると電気を食うことだ。Arduino Unoは40mAまで流せるとのこと。いつも通販でパーツを購入する,共立エレショップで探してみると,オムロンのG6K-2Pという基板用リレーが良さそう。5Vタイプで21.1mA。Arduinoで十分いけそうだ。電圧をかけている間だけオンになる,シングル・ステイブル形のリレーである。

実は,リレーを使うのは初めて。単に繋ぐだけでよいのかと思って調べてみると,低電圧の場合は問題にはならなそうだが,念のためダイオードを電源と並列に,逆向きに付けておくとよいらしい。電磁石をオフにする時に発生する,コイルの逆起電力に対する保護になるそうだ。「逆起電力」なんて,完全に忘れちゃってるなぁ。

というわけで,見通しが立ったので,Arduinoほか必要なパーツを発注。届いたのが連休明けだったので,週末に実験する予定。しかし,リレーの小さいこと。ブレットボード上に回路を組む予定だったのだが,幅が狭すぎて足が届かない。さて,どうしたものか...。


- | 次の10件 電子工作 ブログトップ