【Arduino】リレーモジュールを使おう

リレー

はじめに

ArduinoでリレーをON/OFFさせます。

スイッチをon/offするとリレーがON/OFFするようにします。

リレーモジュールを使いました。

リレーとは電気信号でON/OFFできるスイッチです。違う電圧をON/OFFさせる時によく使います。リレー自体は5Vで動作しますが、接点側ではAC100Vが使用できます。コンセントをON/OFFさせるような使い方も出来ます。(リレーによって仕様は異なる為、使用するリレーのスペックは確認してください)

スイッチの入力はプルダウン回路で作成しています。

タクトスイッチを押すごとにリレーがON/OFFを繰り返す回路を作成します。

ポイント

 ・入力はプルダウン回路(スイッチを押したときに入力がHIGH(on)になる)

 ・ON/OFFを繰り返すプログラム(オルタネイト動作)

使用部品

・Arduino uno

・リレーモジュール 1個  PETTOYA 554(1チャンネル 高低レベルトリガー付き)

・タクトスイッチ

・抵抗 10KΩ

・ブレッドボード、配線6本、ジャンパーピン1本



接続図

全体図
スイッチ
リレーモジュール

プログラム

void setup() {
  pinMode(2,INPUT);     //タクトスイッチをD2に設定
  pinMode(11,OUTPUT);   //D11をデジタル出力に設定
}
int i=0;                //スイッチを押した回数格納
int RelayOut=0;         //出力用

void loop() {
  if(chtsw(2)==HIGH)    //chtswはチャタリング防止関数呼び出し
   i=i+1;               //スイッチを押すごとにiを+1する
    if(i>=2)            //ボタンを押すごとに0と1を繰り返す
      i=0;
      
  if(i==0)              //i=0の時の動作
    RelayOut=1;         //リレー用出力をon
  else if(i==1)         //i=1の時の動作
    RelayOut=0;         //リレー用出力をoff

 digitalWrite(11,RelayOut);  //出力

}
boolean chtsw(byte dx){
  boolean tsw = digitalRead(dx);
  while(tsw==digitalRead(dx));
  delay(300);
  return !tsw;
}

結果

スイッチを押すごとにリレーモジュールがカチカチと音が鳴り、リレーが動作することが分かります。リレーモジュール上のLEDが光り動作が分かります。

リレーモジュールには5VでリレーがONするタイプと、5VでリレーがOFFするタイプがあります。今回使用したタイプはジャンパーピンでどちらにでも切り替えが可能でした。以前、知らずに5VでOFFするタイプを購入し失敗したことがあります>< 購入する場合は注意ください。

プログラムはスイッチを押すごとにON/OFFする動作をif文で作りました。あまりスマートではないような。。。動作はするので、まぁいいかと。。。

今回はリレーを動作させるだけです。接点側は何もつなげていませんが、次は何かを動作させたいと思います。

コメント

タイトルとURLをコピーしました