이미지 확대/축소가 가능합니다.

닫기


1. 제품소개


이 제품은 2채널 스마트 릴레이 모듈로 USB/무선통신으로 제어가 가능하도록 직접 프로그램을 작성할 수 있습니다.
아두이노 스케치 프로그램에서 아두이노 나노로 선택하여 원하는 입력과 릴레이출력을 프로그램하여 사용할 수 있습니다.
또 타이머 기능을 넣어서 원하는 시간으로 릴레이 출력제어도 가능합니다.
XBEE 또는 Bluetooth Bee 및 Wifly 무선 통신 모듈을 장착할 수 있는 소켓을 지원하여 무선 통신 제어가 가능합니다.
릴레이가 켜질 때 상태를 표시하는 ON LED를 내장하고 있습니다.

포토커플러를 사용하여 릴레이 구동용 전원과 제어신호용 전원이 분리 설계되어 있습니다.
(절연이 안되어있으면 릴레이는 코일로 구성되어 있기 때문에 역기전력에 의해 고장의 위험이 있습니다.)
입력 신호는 3.3V ~ 5V 가능하여 릴레이를 ON/OFF 할 수 있습니다.
High/Low 트리거 선택 점퍼가 있어서 제어 입력 신호를 선택하여 릴레이 제어가 가능합니다.



2. 상세사양


◆ 마이크로컨트롤러 : Atmel ATmega328

◆ 동작전압(로직레벨) : 5V

◆ 입력전압(권장) : 7-12V

◆ 입력전압(제한) : 7-15V

◆ 플래시 메모리 : 32 KB (ATmega328)를 가지며 2 KB의 부트로더를 사용

◆ SRAM : 2 KB (ATmega328)

◆ EEPROM : 1 KB (ATmega328)

◆ 클럭 속도 : 16 MHz

◆ 연결방식 : USB MINI 5핀 케이블 연결

◆ 다운로드 : 자동 리셋 후 스케치 프로그램 다운로드
   (아두이노 나노 보드 선택 후 사용)
 
무선 통신 모듈 장착 가능 
   (XBEE-지그비, Bluetooth Bee-블루투스, Wifly-무선랜  모듈 장착 가능)
 

◆ 전원표시 : 전원 입력시 RED LED 표시 

◆ 상태표시 : RX (GREEN), TX (RED),  L (GREEN)상태 표시
◆ ICSP핀제공 : 직접 ATMEGA328 핀에 프로그램 다운로드가 가능하도록 헤더 제공

릴레이 동작전압 : 5V

릴레이 갯수 : 2 채널

◆ 릴레이 출력 사양 (한국릴레이 HR702NHDC05V)        

    AC 출력 : 10A 120V / 6A 250V

    DC 출력 : 10A 24V

◆ 트리거 선택 입력 (입력 신호를 High, Low 선택 가능)

    HIGH : IN1, IN2의 입력이 Low 일 때 RELAY ON

    LOW IN1, IN2의 입력이 High 일 때 RELAY ON

신호 입력

    VCC : 5V 전원 입력

    GND : 0V 전원 입력

    IN0 : A0의 아날로그 신호 입력(0-5VDC 입력)

    IN1 : 1) A1의 아날로그 신호 입력(0-5VDC 입력)

           2) 포토커플러 신호 입력 

               High 트리거 모드( Low 0V 일 때 RELAY ON, High 5V 일 때 RELAY OFF )
               Low 트리거 모드High 5V 일 때 RELAY ON, Low 0V 일 때 RELAY OFF )

    IN2 1) A2의 아날로그 신호 입력(0-5VDC 입력)

           2) 포토커플러 신호 입력 

               High 트리거 모드( Low 0V 일 때 RELAY ON, High 5V 일 때 RELAY OFF )
               Low 트리거 모드High 5V 일 때 RELAY ON, Low 0V 일 때 RELAY OFF )

◆ 릴레이 부하 출력

    COM : 공통

    NO : 평상시 단선(Normal Open)

    NC : 평상시 단락(Normal Close)

◆ 작동 온도 : (섭씨) -40도 ~ +85도

◆ 모듈 크기 : 85mm x 55mm

◆ 모듈 무게 : 대략  52 g


3. 핀아웃(Pin Out)





4. 회로도(Schematic Diagram)



5. 관련 문서 링크(Link Documents)

◆ Arduino UNO R3 제품 정보 참조
◆ Arduino IDE Download(아두이노 소프트웨어 다운로드)
◆ How to Install FTDI Drivers
◆ FTDI Drivers
◆ Schematic(회로도)
◆ FTDICHIP VCP 드라이버 사이트 링크
◆ Windows 통합용 FTDI VCP 드라이버 자동 설치
◆ Windows XP/2000용 FTDI VCP 드라이버 자동 설치
◆ FTDI USB 드라이버 제거 유틸리티(FTCLEAN)
◆ FTDI USB 드라이버 제거 윈도우7,XP용(CDMUninstaller V1.4)


6. 샘플코드(Sample Code) - 아두이노 코드


1) 예제

// # Arduino Sample Code

// # www.neromart.co.kr

// #

// # File : SMART-RELAY-DEFAULT.ino

// # Description:

// # The sketch for using the SMART-RELAY(CH2)

// #각 입력단에 입력신호에 따라 릴레이를 10초동안 켜는 프로그램

// # 

// # Connection:

// #        Triger Jumper - Low

// #        IN0 pin  -> Analog pin 0 

// #        IN1 pin  -> Analog pin 1 (input)

// #        IN2 pin  -> Analog pin 2 (input)

// #        OUT1 pin  -> Digital pin 2 (Relay1 output)

// #        OUT2 pin  -> Digital pin 3 (Relay2 output)

// #


// 딜레이시간 조절에 값을 변경하면 됩니다.

#define ON_TIME  100  // 10sec relay on time


int IN1_Pin = A1;      // select the IN1 pin

int IN2_Pin = A2;      // select the IN2 pin

int OUT1_Pin = 2;      // select the OUT1 pin

int OUT2_Pin = 3;      // select the OUT2 pin

long counter1 = 0;     // 0.1sec timer

long counter2 = 0;     // 0.1sec timer


void setup()

{

  Serial.begin(9600);

  pinMode(IN1_Pin, INPUT);

  pinMode(IN2_Pin, INPUT);

  pinMode(OUT1_Pin, OUTPUT);

  pinMode(OUT2_Pin, OUTPUT);

}


void loop()

{

  if(digitalRead(IN1_Pin) == 0)

  {

    digitalWrite(OUT1_Pin, HIGH); 

    counter1 = ON_TIME; 

  }

  

  if(digitalRead(IN2_Pin) == 0)

  {

    digitalWrite(OUT2_Pin, HIGH); 

    counter2 = ON_TIME;   

  }

  

  if(counter1-- <= 0)

  {

    digitalWrite(OUT1_Pin, LOW);  

    counter1 = 0;

  }

  

  if(counter2-- <= 0)

  {

    digitalWrite(OUT2_Pin, LOW);   

    counter2 = 0;

  }

  

  delay(100); 

}


2) 예제

// # Arduino Sample Code

// # www.neromart.co.kr

// #

// # File : SMART-RELAY-LED-DEFAULT.ino

// # Description:

// # The sketch for using the SMART-RELAY(CH2)

// # 각 입력단에 입력신호에 따라 릴레이를 10초동안 켜는 프로그램

// # L LED는 1초마다 점멸표시됨

// # 

// # Connection:

// #        Triger Jumper - Low

// #        IN0 pin  -> Analog pin 0 

// #        IN1 pin  -> Analog pin 1 (input)

// #        IN2 pin  -> Analog pin 2 (input)

// #        OUT1 pin  -> Digital pin 2 (Relay1 output)

// #        OUT2 pin  -> Digital pin 3 (Relay2 output)

// #        L LED     -> Digital pin 13 (output)

// #


// 딜레이시간 조절에 값을 변경하면 됩니다.

#define ON_TIME    100  // 10sec relay on time

#define ledPin     13   // LED pin Number


int IN1_Pin = A1;      // select the IN1 pin

int IN2_Pin = A2;      // select the IN2 pin

int OUT1_Pin = 2;      // select the OUT1 pin

int OUT2_Pin = 3;      // select the OUT2 pin

long counter0 = 0;     // 0.1sec timer

long counter1 = 0;     // 0.1sec timer

long counter2 = 0;     // 0.1sec timer


volatile boolean state = true;


void setup()

{

  Serial.begin(9600);

  pinMode(IN1_Pin, INPUT);

  pinMode(IN2_Pin, INPUT);

  pinMode(OUT1_Pin, OUTPUT);

  pinMode(OUT2_Pin, OUTPUT);

  pinMode(ledPin, OUTPUT);

}


void loop()

{

  if(digitalRead(IN1_Pin) == 0)

  {

    digitalWrite(OUT1_Pin, HIGH); 

    counter1 = ON_TIME; 

  }

 


  if(digitalRead(IN2_Pin) == 0)

  {

    digitalWrite(OUT2_Pin, HIGH); 

    counter2 = ON_TIME;   

  }


  if(counter0-- <= 0)

  {

    digitalWrite(ledPin, state);

    state = !state; 

    counter0 = 10;

  }

  

  if(counter1-- <= 0)

  {

    digitalWrite(OUT1_Pin, LOW);  

    counter1 = 0;

  }

  

  if(counter2-- <= 0)

  {

    digitalWrite(OUT2_Pin, LOW);   

    counter2 = 0;

  }

  

  delay(100); 

}


3) 예제

// # Arduino Sample Code

// # www.neromart.co.kr

// #

// # File : SMART-RELAY-PIR.ino

// # Description:

// # The sketch for using the SMART-RELAY(CH2)

// # Cds입력받은 빛의 밝기에 따라 PIR입력호를 받아 릴레이를 10초동안 켜는 프로그램

// # 

// # Connection:

// #        Triger Jumper - High

// #        IN0 pin  -> Analog pin 0 (Cds 10K input)

// #        IN1 pin  -> Analog pin 1 (PIR input)

// #        IN2 pin  -> Analog pin 2 (PIR input)

// #        OUT1 pin  -> Digital pin 2 (Relay1 output)

// #        OUT2 pin  -> Digital pin 3 (Relay2 output)

// #


// 딜레이시간 조절에 값을 변경하면 됩니다.

#define ON_TIME  100  // 10sec relay on time


int sensorPin = A0;    // select the input pin for the potentiometer

int IN1_Pin = A1;      // select the IN1 pin

int IN2_Pin = A2;      // select the IN2 pin

int OUT1_Pin = 2;      // select the OUT1 pin

int OUT2_Pin = 3;      // select the OUT2 pin

int sensorValue = 0;  // variable to store the value coming from the sensor

long counter1 = 0;    // 0.1sec timer

long counter2 = 0;    // 0.1sec timer


void setup()

{

  Serial.begin(9600);

  pinMode(IN1_Pin, INPUT);

  pinMode(IN2_Pin, INPUT);

  pinMode(OUT1_Pin, OUTPUT);

  pinMode(OUT2_Pin, OUTPUT);

}


void loop()

{

  // read the value from the sensor:

  sensorValue = analogRead(sensorPin);

  //Serial.println(sensorValue);

  //조도센서 값이 100미만이면 LED를 켠다

  if(sensorValue < 100) 

  {

    if(digitalRead(IN1_Pin) == 0)

    {

      digitalWrite(OUT1_Pin, HIGH); 

      counter1 = ON_TIME; 

    }

  

    if(digitalRead(IN2_Pin) == 0)

    {

      digitalWrite(OUT2_Pin, HIGH); 

      counter2 = ON_TIME;   

    }

  }

  

  if(counter1-- <= 0)

  {

    digitalWrite(OUT1_Pin, LOW);  

    counter1 = 0;

  }

  

  if(counter2-- <= 0)

  {

    digitalWrite(OUT2_Pin, LOW);   

    counter2 = 0;

  }

  

  delay(100); 

}


7. 샘플코드(관련 파일 링크) 

◆ Xbee USB 통신 패스쓰로우 소스