BASIC4MCU | 질문게시판 | 답변 : 스위치 입력제어 궁금해요
페이지 정보
작성자 master 작성일2019-01-08 12:04 조회4,048회 댓글1건
https://www.basic4mcu.com/bbs/board.php?bo_table=gac&wr_id=7381
본문
// MCU BASIC: https://www.basic4mcu.com// DateTime : 2019-01-08 오후 12:03:47// by Ok-Hyun Park//int sw[] ={2,3, 4}; // 스위치 핀int led[]={8,9,10}; // led 핀//int sw_stat[] ={0,0,0}; // 스위치 상태int led_stat[]={0,0,0}; // LED 상태//int numSw=3;int i;//void setup(){for(i=0;i<3;i++){pinMode(sw[i],INPUT_PULLUP); // 스위치 입력으로 설정pinMode(led[i],OUTPUT); // LED 출력으로 설정}}//void loop(){for(i=0; i<numSw; i++){sw_stat[i]=digitalRead(sw[i]);if(led_stat[i]!=sw_stat[i]){led_stat[i]=sw_stat[i];digitalWrite(led[i],led_stat[i]);}}delay(50);}//스위치 3개가 모두 눌리면 LED가 모두 꺼집니다.//스위치 입력{0,1,1} 이 들어오면 카운터해서 5번이상 10번 이하면LED 8번을 10번 5초간격으로 깜박이고스위치 입력이 10번 이상이면 LED 9번을 계속 깜박이는 구현을 하고 싶습니다.
스위치 입력{0,1,1}을 카운터해서 스위치 입력이 5번이상 10번 이하면 <--1번 스위치 누른 것을 카운트 한다는 말인가요?
1번 스위치 카운트 1회~4회 --> LED 3개 모두 ON
1번 스위치 카운트 5회~10회 --> 1번 LED 5초간격으로 10회 점멸(5초 ON, 5초 OFF), 2번 3번 LED ON
1번 스위치 카운트 11회이상 --> 2번 LED 5초간격으로 계속 점멸(5초 ON, 5초 OFF), 1번 3번 LED ON
이 내용이 맞나요?스위치와 LED 조작은 가장 기본이지만 조금만 응용이 들어가도 상당히 까다롭습니다.
댓글 1
조회수 4,048스캉이님의 댓글
스캉이 작성일
* 스위치 입력{0,1,1}을 카운터
1. 스위치 입력{0,1,1} 카운트 1회~4회 --> LED 3개 모두 OFF
2. 스위치 입력{0,1,1} 카운트 5회~10회 --> 1번 LED 5초간격으로 10회 점멸(5초 ON, 5초 OFF), 2번 3번 LED OFF
3. 스위치 입력{0,1,1} 카운트 11회이상 --> 2번 LED 5초간격으로 계속 점멸(5초 ON, 5초 OFF), 1번 3번 LED OFF
3번 상태 계속 유지하다가 입력{0,1,1}외 입력이 들어오면 리셋으로 질문드립니다.