電電高専生日記

RaspberryPiで扇風機の制御

2015/02/13 01:42

RaspberryPi扇風機の制御をするシステムを作りました。
以前にラジコンまで作っておいて(【改良版】 RaspberryPiで作ったカメラ付き戦車ラジコン)、今さら扇風機の制御とは地味な感じもしますが、作った理由があります。
私はRaspberryPiにWi-Fiドングルを付けて無線で弄っているのですが、このWi-Fiドングル、何故かすぐ熱くなってしまうんですね。その熱が原因でPiが落ちてしまうことがあります。
そこで、RaspberryPi自動冷却システムを作ろうと思いました。冷却用装置として小型USB扇風機を使うわけです。
自動冷却システム自体はまだ出来ていないんですが、とりあえず扇風機の制御の部分は完成しました。

制御の様子

とりあえずまず実際に動いている様子を掲載します。

パソコンとRasPi・扇風機・制御回路はつながっていません。

スマホからなどでも制御できます。スマホで動画撮影するから、スマホで動かすところを動画撮れなかった。

使用機器

  • RaspberryPi Type B+
  • USB扇風機 Mini Fan(定格:電力2.5[W] 電圧5.0[V] 電流500[mA])

制御回路

トランジスタと抵抗だけで構成しました。とりあえず回路図を示します。

この回路は、Vrasp(RaspberryPiのGPIO信号)が5[V]入力されているときに扇風機はONとなります。
RaspberryPiのGPIOピンは数mA~10数mAまでしか出力しないようなので、2段階に増幅しています(しかしよく考えてみると、hfe=100と仮定しても、5[mA]あればいいのだから普通に1段階で済んだ)。
普段学校で使っていたトランジスタ2SC1815は最大コレクタ電流が150[mA]なので、今回は扇風機部分には不適です。扇風機部分には、2SC2120(最大コレクタ電流800[mA])を使いました。
RaspberryPiと電源のGNDをつなぎ忘れていて回路が動作しなかったので、それに数分ほど悩んだりしました。

プログラム

ラジコンのときと同じように、JavaScriptとPHPで作りました。以下、ソース。

JavaScript

$(function(){
	var state=; //読み込み時の扇風機の状態 0/1
	var states=["OFF", "ON"];
	
	$("#switch").click(function(){ //ボタンクリック時
		$.post("switch.php", {}, function(ret){
			if (ret=="SUCCESS"){
				if (state)	state=0;
				else		state=1;
				$("#state").html(states[state]);
			} else {
				alert("エラー");
			}
		});
	});
});	

PHP(JavaScriptよりajaxで呼び出されるswitch.php)

exec("gpio -g mode 21 out");
$state=exec("gpio -g read 21");
if ($state)	$state=0;
else		$state=1;
exec("gpio -g write 21 ".$state);

if ($state == exec("gpio -g read 21"))
	exit("SUCCESS");
else 
	exit("ERROR");

自動冷却システムにするには

とりあえずこうして扇風機の制御は可能になりました。あとは温度に応じて扇風機をONにさせるだけです。
「RaspberryPiの温度を取得してそれを基準値と比較して高かったら扇風機ON」ってプログラムを書き、これをcron設定すればいいだけです。しかしそこは色々調べなきゃいけないので、また今度ということにします。
終わり。

  • このエントリーをはてなブックマークに追加

最新記事

コメント(0)





プロフィール

名前:elkosendiary

性別:男

生年:1995年


2011年4月 高専入学
2016年3月 高専卒業
2016年4月 大学編入学
2018年3月 大学卒業予定

にほんブログ村 大学生日記ブログ 理系大学生へ
にほんブログ村

カテゴリ
Adsense
月別アーカイブ
ブログ内検索

アクセス

昨日のPV数:
全期間PV数:

おすすめ記事

「高専大学編入ログ」を作成しました

自作ゲーム「Defend PortMoresby!」バージョン3

【改良版】 RaspberryPiで作ったカメラ付き戦車ラジコン