LoginSignup
0
0

ESP32を使用してTeraterm上からリレーモジュールを操作する。

Posted at

はじめに

ESP32を使用してリレーモジュールをTeraTerm上から制御する。
安定化電源などは後ろに付いている制御端子(?)のShort / Openで
電源出力のON / OFFが出来るので安定化電源をPC上のteratermから操作が出来る。

説明

マイコンは以下のESP32のDevkitを使用
やることはGPIOを2つLOW HIGHするだけなのでGPIOが2個あってUSBインターフェースがあればESP32Devkitである必要は全くないです。
https://akizukidenshi.com/catalog/g/gM-13628/

購入したリレーモジュールはこれ↓
https://www.amazon.co.jp/gp/product/B08QJ3PNH3/ref=ppx_yo_dt_b_asin_title_o08_s00?ie=UTF8&th=1

image.png

DC+に5V、DC-にGNDを接続する。
基板上を見る感じフォトカプラ乗っているっぽいので、ちゃんと基板上のパターン追っていないけどリレーON時の逆起電力でマイコン破壊などは起きないと信じる。

そして
IN1 を ESP32の12
IN2 を ESP32の14
に接続する。

#include "Arduino.h"

// リレーのトリガピン設定
#define RELAY_1 12
#define RELAY_2 14

// コマンドを受信するためのグローバル変数
String command = "";

void setup() {
  Serial.begin(115200);

  // RELAY_PINを出力として設定
  // リレーはNCを使用しているので初期値はLOWで短絡
  pinMode(RELAY_1, OUTPUT);
  digitalWrite(RELAY_1, LOW);
  pinMode(RELAY_2, OUTPUT);
  digitalWrite(RELAY_2, LOW);
}

void loop() {
  // シリアルポートから利用可能なデータがある場合、それを読み取る。
  while (Serial.available() > 0) {
    char inChar = (char)Serial.read();
    command += inChar;

    // エンターで読み取る、
    if (inChar == '\n') {
      command.trim();  // 余分な空白の削除。

      // コマンド "r1 o" でリレー1をオープン
      if (command == "r1 o") {
        digitalWrite(RELAY_1, HIGH);
        Serial.println("Relay1 open");
      }
      // コマンド "r1 c" でリレー1をショート
      else if (command == "r1 c") {
        digitalWrite(RELAY_1, LOW);
        Serial.println("Relay1 short");
      }
      // コマンド "r2 o" でリレー2をオープン
      else if (command == "r2 o") {
        digitalWrite(RELAY_2, HIGH);
        Serial.println("Relay2 open");
      }
      // コマンド "r2 c" でリレー2をショート
      else if (command == "r2 c") {
        digitalWrite(RELAY_2, LOW);
        Serial.println("Relay2 short");
      }
      // その他のコマンドの場合はエラー
      else {
        Serial.println("Unknown command");
      }

      // コマンドリセット。
      command = "";
    }
  }
  delay(10);
}

これをESP32に書き込み、Teraterm上で
「r1 o」など規定のコマンドを打って送信すればリレーが開閉します。

ほなまた

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0