Skip to content
회로도전자부품
2020.06.13 14:22

아두이노NANO 스위치로 릴레이 제어하기

조회 수 7222 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

아두이노 스위치로 릴레이 제어하기

 

음,, LOW가 0이고 HIGH가 1이네?

스위치가 눌려진 상태가 0, 안누른 상태가 1

릴레이가 켜진상태가 0, 안켜진 상태가 1

LED가 켜진상태가 0, 안켜진 상태가 1

해본지가 오래되어서 기억이 잘 안나네... 

새롭다!

 

 

//KY019 5V 릴레이 모듈

int sw1 = 4;

int sw2 = 5;

int sw3 = 7;

int led1 = 11;

int led2 = 12;

int led3 = 13;

int relay = 10; //릴레이에 5V or 12V 신호를 보낼 핀설정

int sw_mode = 1;

 

void setup ()

{

  pinMode (sw1, INPUT_PULLUP);

  pinMode (sw2, INPUT_PULLUP);

  pinMode (sw3, INPUT_PULLUP);

  pinMode (led1, OUTPUT);

  pinMode (led2, OUTPUT);

  pinMode (led3, OUTPUT);

  pinMode (relay, OUTPUT); // relay를 output으로 설정한다.

  Serial.begin(9600);

}

 

 

void loop ()

{

 

  if (digitalRead(sw1) == LOW)

    sw_mode = 1;

 

  if (digitalRead(sw2) == LOW)

    sw_mode = 2;

 

  if (digitalRead(sw3) == LOW)

    sw_mode = 3;

 

Serial.print(digitalRead(sw1));

Serial.print(" / ");

Serial.print(digitalRead(sw2));

Serial.print(" / ");

Serial.println(digitalRead(sw3));

 

 Serial.print("스위치모드 : ");

 Serial.println(sw_mode);

 

  switch (sw_mode)

  {

    case 1 : digitalWrite(led1,  LOW);

      digitalWrite(led2, HIGH);

      digitalWrite(led3, HIGH);

      Serial.print(sw_mode);

      Serial.println("스위치모드 : 이 선택되어 10분간 ON 후 10분간 OFF 시작합니다.");      

      digitalWrite (relay, LOW); // 릴레이 ON

      delay (600000);              //10분 delay

      digitalWrite (relay, HIGH); // 릴레이 OFF

      delay (600000);              //10분 delay

      break;

 

    case 2 : digitalWrite(led1, HIGH);

      digitalWrite(led2, LOW);

      digitalWrite(led3, HIGH);

      Serial.print(sw_mode);

      Serial.println("스위치모드 : 이 선택되어 10분간 ON 후 30분간 OFF 시작합니다.");            

      digitalWrite (relay, LOW); // 릴레이 ON

 

      

      delay (600000);              //10분 delay

      digitalWrite (relay, HIGH); // 릴레이 OFF

      delay (1800000);              //30분 delay

      break;

 

    case 3 : digitalWrite(led1, HIGH);

      digitalWrite(led2, HIGH);

      digitalWrite(led3,  LOW);

      Serial.print(sw_mode);

      Serial.println("스위치모드가 선택되어 30분간 ON 후 1시간 OFF 시작합니다.");            

      digitalWrite(relay, LOW); // 릴레이 ON

      delay (1800000);              //30분 delay

      digitalWrite (relay, HIGH); // 릴레이 OFF

      delay (3600000);              //1시간 delay

      break;

  }

 

 

}

 

 

#아두이노 #스위치로 #릴레이 #제어하기 #ARDUINO #NANO #RELAY #CONTROL

로그인 후 댓글쓰기가 가능합니다.

?

List of Articles
번호 분류 제목 날짜 조회 수
2134 컴퓨터잡담 DB MyISAM, InnoDB 입출력 처리방식 3 2010.04.20 13812
2133 회로도전자부품 DC to AC Converter 555 file 2013.09.05 17530
2132 회로도전자부품 DC to DC Boost(The Voltage Doubler) file 2014.01.22 5789
2131 회로도전자부품 DC to DC voltage multiplier circuit(전압 더블러) 2013.12.11 22261
2130 회로도전자부품 DC to DC 승압이론 file 2013.10.20 21328
2129 AVR DC 모터 제어 (아두이노 arduino) 4 file 2012.08.01 9381
2128 컴퓨터잡담 dc모터 속도(speed)제어 드라이버 만들기 1 2 file 2012.06.19 15736
2127 만들기 DDoS 해킹의 방법 및 방어방법 1 2 2009.07.08 29581
2126 만들기 DDoS가 뭔지 모르는 청와대 2009.07.08 12880
2125 프로세스 dgdersvc.exe 서비스 중지 및 사용안함, 삭제 설정 1 4 2011.02.06 23938
Board Pagination Prev 1 ... 20 21 22 23 24 ... 235 Next
/ 235

http://urin79.com

우린친구블로그

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소