SSブログ
電子工作 ブログトップ
- | 次の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件 電子工作 ブログトップ

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。