らずらいと姫の挑戦日記(第20回)~静電タッチ応用編~
2016-08-29
前回作った静電タッチ装置にソリッドステートリレーとAC電源をつけて、触ったら電源ONになる装置を作ってみたいと思います☆
ここではPCのディスプレイ電源がONになります。
用意するもの
- コンセント 2個
- 電源プラグ 1個
- コンセントケーブル
リレーとは?
運動会のリレー競争のバトンをつなぐのと同様に、「電気をつなぐ」という役割から、リレーと名付けられました。英語で「RELAY」と書き、日本語では「継電器」とも言われているそうです。
有接点リレーと無接点リレーの二つの種類があります。
有接点リレー
コイル(電磁石)とスイッチ(接点)で構成されている電気部品です。コイルに電流を入力することで磁力(電磁石)を発生させ、その力でスイッチをON/OFFするものです。
無接点リレー(ソリッドステートリレーSSR)
動作的には有接点リレーと変わりませんが、半導体や電子部品を使用したリレーです。LEDが光ると光センサーが反応するなどで、スイッチをON/OFFしています。
回路図
Lazuriteの3V3ピンとSSRのプラス・Lazurireの4番ピンとSSRのマイナスをそれぞれ繋ぎます。
動かしてみよう!
Lazurite IDEを開き、下記プログラムをマイコンボードヘ転送します。
[c]
bool event;
void callback(void)
{
event = true;
}
void setup() {
// put your setup code here, to run once:
event = true;
Serial.begin(115200);
pinMode(2,OUTPUT);
pinMode(8,INPUT);
pinMode(3,OUTPUT);
pinMode(4,OUTPUT);
digitalWrite(3,HIGH);
digitalWrite(4,HIGH);
timer2.set(100L,callback);
timer2.start();
}
void loop() {
// put your main code here, to run repeatedly:
int i;
bool result[3];
wait_event(&event);
event = false;
for(i=0;i<3;i++)
{
unsigned long duration[2];
digitalWrite(2,HIGH);
duration[0] = pulseIn(8,LOW,50);
digitalWrite(2,LOW);
duration[1] = pulseIn(8,HIGH,50);
if((duration[0] > 50) || (duration[1] > 50)) result[i] = true;
else result[i] = false;
sleep(1);
}
if((result[0] == true) && (result[1] == true) && (result[2] == true))
{
digitalWrite(3,LOW);
digitalWrite(4,LOW);
}
else if((result[0] == false) && (result[1] == false) && (result[2] == false))
{
digitalWrite(3,HIGH);
digitalWrite(4,HIGH);
}
}
[/c]
静電タッチ装置と同じですが、線に触れるとLEDが点灯し、PCモニターの電源が入ります。手を離すと、LEDが消灯し、モニターの電源も切れます。
これで、触ったら電源ON/OFFできる装置の完成です。
前回の静電タッチの実験の時は、誤検出していましたが、その問題も今回は改善されていて、触っている間は電源がついています♪
今回で記念すべき20回目をむかえることができました!Lチカプログラムからはじまり、ORIZURUを飛ばし、はんだ付けに挑戦し、こんな装置まで作れるようなりました!!
でも、まだまだ初心者です.今後も色々勉強し、挑戦していきたいと思いますので、どうぞよろしくお願いします♡