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

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

조회 수 7217 추천 수 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
번호 분류 제목 날짜 조회 수
253 회로도전자부품 Joule thief 회로(저전압 승압회로) file 2013.10.02 64153
252 회로도전자부품 PWM이란? PWM 적용IC 및 구동방법 file 2013.09.10 52015
251 회로도전자부품 제너 다이오드(zener diode) 사용방법 file 2013.09.23 51025
250 회로도전자부품 인덕턴스란? 2013.09.23 50349
249 회로도전자부품 Step-up & Step-down & AC to DC 등의 다양한 회로도 2013.09.21 46439
248 회로도전자부품 인덕터 코일 자작하기 file 2013.10.01 44347
247 회로도전자부품 전기용어와 단어 2013.08.24 36973
246 회로도전자부품 Joule thief 회로(저전압 승압회로) 실험 결과 3 file 2013.10.10 34866
245 회로도전자부품 Arduino Frequency Counter Library file 2014.01.20 30807
244 회로도전자부품 전자기호 1 file 2013.08.11 30151
243 AVR 아두이노 전압측정(오실레이터가 없을때 활용) file 2013.10.18 27385
242 회로도전자부품 렉테나 실험 중 내몸에 대량의 유도전력 발생 2013.12.14 26800
241 회로도전자부품 tl431 - battery boost circuit file 2013.10.03 26020
240 회로도전자부품 AM/FM 라디오 구조(회로도 설명) 1 2014.04.02 25329
239 회로도전자부품 1.5V to 5V/12V DC/DC Converter with LT1073 2013.10.12 24693
238 회로도전자부품 전류,전압,저항의 관계 file 2013.08.24 24374
237 회로도전자부품 부스트 컨버터의 기본 원리 2013.09.30 24069
236 회로도전자부품 전압채배기(렉테나에 주로 이용) 2013.11.27 23769
235 AVR 555 TIMER AM TRANSMITTER CIRCUIT(AM 송신 회로) file 2014.09.20 23298
234 AVR ARDUINO 명령어 모음 3 2012.07.24 22846
Board Pagination Prev 1 2 3 4 5 ... 13 Next
/ 13

http://urin79.com

우린친구블로그

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


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

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

설치 취소