버튼스위치에는 여러가지 종류가 있는데
우리는 일단 한번 누르는 푸시버튼 스위치를 사용할것이다
스위치와 측정 값
연결 :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 |
댓글