副題:Windowsで美味しいコーヒーを煎れるための HOWTO
windows coffee-HowTo
Windowsパソコン(PC/AT互換機)から、家電製品のコンセントを ON/OFF するのが目的です。
コーヒーメーカーなんかを繋いでおけば、プログラムで ON/OFF できます。
自動制御カッコイイですよね☆
LinuxJFに置いてある
Linux で美味しいコーヒーを煎れるための
HOWTO
著者: Georgatos Photis 翻訳: 近藤 健治
が製作動機です。
これを読んで電子工作を本格的にやりたくなったんです。
( 追記'04 2/8 )windows2000 / XP で動かすには、このページ一読後こちらへ

パソコンのプリンタポートの No.2〜No.8 のピンは、I/Oポートアドレス &H378
に書かれたデータがそのまま2進数で出力されます。
つまり
&H378
に「1」を書き込めば No.2Pin から 5V が
&H378 に「2」を書き込めば
No.3Pin から 5V が
&H378 に「3」を書き込めば No.2Pin とNO.3Pin
から 5V が
出てきます。
(詳しいことはいろんな人が書いているので検索エンジンなどで調べて下さい)
この、出てきた5Vをトランジスタで通して、リレーを制御。
リレーでコンセントに来ている交流100V
を制御します。
こうすれば、パソコンから家電製品をスイッチングできたりします。
私の作った回路では、No.3Pin からリレーを制御してます。
本当はNo.2Pin
で十分なんですけど、単に配線間違えしてNo.3Pin から取得してしまいました(^^;
リレーとトランジスタの制御のために、パソコンの電源から5Vを貰っています。
プリンタから出る5Vをそのまま使うと、プリンタポートを制御しているLSIに負荷がかかりすぎて壊す可能性があるので避けた方がいいでしょう。
リレーについているダイオードは回路保護用です。
リレーが切断するとき、コイルから電流がかかっていた方向とは逆に誘導電流(?)が流れます。
30Vくらいになるときもあるらしいです。
なので、リレーとダイオード間でループさせて、トランジスタを保護します。
VisualBASIC(VB)ver5.0 で作りました。
VBではI/Oポートの制御が出来ないので、I/Oポート制御用のDLL
I/O Checker
for Windows95
tadnakamさん
を利用させていただきました。
ソースコードは
Option Explicit '変数宣言の強制
Private Sub Command1_Click() 'Oを出力
Call OutpByte(&H378, 0)
End Sub
Private Sub Command2_Click() 'テキストボックス内の数値出力
Call OutpByte(&H378, Val(Text1.Text))
End Sub
これをForm1のコード記述部分に書いて下さい。
C言語と似てるので、Cで組みたい方もなんとなくわかると思います。
エクセルのVBAマクロでもできます。
どうしてもVBのソースコードが欲しいという方いましたら、メール下さい。
windows NT/2000/XPでは動かないです。
I/Oポートをアクセスする権限が貰えないんだと思います。
なにか方法知っている方いましたらちょこっと教えて貰えると嬉しいです。( 追記'04 2/8 )win2000/XPで動かす方法わかりました!
プリンタコネクタ(オス) |
|
プリンタケーブルを切って使いました |
トランジスタ |
2SD2504 (?) |
写るんですAceから取り出し |
抵抗 |
1k〜2kΩくらい |
|
ダイオード |
40Vくらいの高圧に耐えるやつ |
保護用 |
リレー |
DC5Vで駆動できる物 |
被制御側の耐圧に注意 |
コンセント、プラグなど |
粗大ゴミからで十分 |
|
リレー 約200円 |
総費用 約200円 |
回路作成 1時間 |
総時間 約7時間 |

結線図はこちら
部品数が少ないので、基板など使わず導線で直接繋いでいきました(笑)
AC100V と接触しないように注意して下さい。
木の箱を作り、その中に組み込みました。
コンセントは表面につけてます。
拡大画像はこちら(誰も見ないだろうけど・・)
もう3ヶ月くらいラジオを繋げて動かしてます。
問題なく動いてます。
自動制御用にプログラムを作って、毎週ラジオ番組の自動録音してます。
windows起動時に、一時的にONになったりOFFになったりします。
システムの初期化中のことだからしょうがないかもしれません。
トランジスタに繋ぐ抵抗値がちょっと低すぎる気もするけど・・・・・いままで何も起きてないのでOKかな(^^;
トランジスタじゃなくて、本当はICを使いたいところですが、いまはやる気が起きないので放置です。
トライアック+トライアックドライバICを使うと、パソコンから5Vを取得せずに、プリンタポートに繋ぐだけで動くらしいです。
win2000でも動くようにしたいですな☆
( 追記'04 2/8 )win2000でも動かせる方法わかりました
プログラムで家電を制御できるってことは、ジョイパッドでも制御できますし、
ネット経由でも制御できます。
i-Modeで遠隔地からでも自宅のコーヒーメーカーを動かせます(^^)
ネット経由で制御するには、こんな方法になるでしょう。
携帯電話・ブラウザでホームページにアクセスする方法 |
携帯かブラウザで自宅HPにアクセス |
↓ |
HPにボタンでも作っておく |
↓ |
CGIで制御プログラム起動 |
↓ |
コンセントON |
↓ |
ONしたら、携帯やブラウザに |
自宅にHTTPサーバをずっと置いておくのもセキュリティ的に怖いので、メールを常に監視して、
メールが届いたらONにする方法も考えられます。
メールの内容を解析して、題名が「coffee-on」などだったら、ONにする。
なんて方法が現実的でしょう。
こういったシステムを作る場合、POP3をアクセスできるDLL等が必要です。
メールでONにする方法 |
定期的にPOP3のメールを監視 |
↓ |
メールがあったら取得 |
↓ |
メールを解析 |
↓ |
コンセントON |
このプログラムも、頑張ればVBで作れます☆