본문 바로가기
3학년2학기/임베디드시스템

Button Switch

by hgglife 2019. 10. 20.

버튼스위치에는 여러가지 종류가 있는데

우리는 일단 한번 누르는 푸시버튼 스위치를 사용할것이다


스위치와 측정 값

연결 :5V

비연결 : 0v

int led1 = 9;
int key1 = 13; 
int key1_status = LOW;
void setup() {

  pinMode(led1,OUTPUT);
  pinMode(key1,INPUT);
  digitalWrite(led1,LOW);
}

void loop() {
  if(digitalRead(key1) == HIGH && key1_status == LOW)
  {
    digitalWrite(led1,HIGH);
    key1_status = HIGH ; 
  }
  else if(key1_status == HIGH)
  {
    digitalWrite(led1,LOW);
    key1_status = LOW;
  }

}

// 이부분은 강의자료와 스위치의 연결이해가 어려울수 있는데아래에 주의사항

1.꼭 스위치의  Ground에 저항이 있어야한다 그래야 버튼을 누르면 5v와 13번이 연결될테니까

2.맨처음엔 Ground와 13번이 연결되어있어야하고 스위치의 반대편에 5v 가 있는거다

맨처음은 13번과 ground가 연결되어 있어서 input값이 LOW이다 이때 스위치를 누른다면다면

저항에 의해  5v 가 그라운드로 가지않고 순수히 13번으로가서 key1 의 read값이 high가 되게되고

led에 불이켜지며

만약 스위치를 때게되면 key1의 read는 0으로 돌아오고 그에따라 key1_status만 high일때 조건문으로 led가꺼진다

 

이미지출처  - 서울시립대학교지 2019 임베디드시스템 강의자료

'3학년2학기 > 임베디드시스템' 카테고리의 다른 글

아두이노 기본설명  (0) 2019.10.20
문자 디바이스 드라이버 구조  (0) 2019.10.19
리눅스 디바이스의 이해  (0) 2019.10.19
proc 파일 시스템 실험  (0) 2019.10.19
proc파일 시스템  (0) 2019.10.19

댓글