상세 컨텐츠본문 제목019. Arduino 아두이노 - push button switch 푸쉬 버튼 스위치 이용하기 본문크기만 다를뿐 같은 버튼 스위치입니다 우측은 중간이랑 같은 버튼인데 캡을 씌운거구요 게임기 키패드가 생각나네요 스위치를 누르면 on 누르지 않으면 off 간단합니다 코드 없이 바로 사용할 수 있죠 사진 : Fritzing LED 중간에 버튼을 추가한 모습이에요 아두이노는 그냥 전원(3.3v)만 제공하고 하는일은 없습니다 건전지를 써도 된다는 이야기죠 대신 버튼을 눌러야만 불이 들어옵니다
사진 : Fritzing 전원연결은 보통 대각선으로 많이 하는데요 검은선, 빨간선으로 표시한부분끼리는 연결 되있습니다 버튼을 누르면 검은 & 빨강 이 연결된다고 보시면 되고요 설명이 좀 어렵나요?? 일반적으로 버튼 스위치는 접지 & 비 접지 방식으로 출처 : http://terms.naver.com/entry.nhn?docId=710922&cid=42318&categoryId=42318 스위치에 대한 간단한 설명이에요 눌러야 전원이 연결되는데 스프링에 의해 다시 떨어지는 구조네요 전원만 줄거면 건전지로 하면되니 회로도를 바꿔봅니다 사진 : Fritzing 그리고 누르면 켜지도록 소스를 업로드합니다
역시 버튼을 누르면 LED가 켜집니다 근데 언제까지 누르고있을 수는 없으니 누를때마다 LED를 on/off 하도록 수정합니다
이 코드에서 핵심은 sw *= -1; 이 부분입니다 풀어쓰자면 sw = sw * -1 sw값이 1 (on), -1 (off) 되기 때문입니다 쉽죠? 응용하면 3색LED의 색을 바꿔주는 스위치로도 가능합니다 3색 LED- http://zelkun.tistory.com/45 다만 sw를 이용하면 2가지 값만 나오니 카운트를 써서 해야편해요 buttonCnt % 4; 의 나머지 값 구하고 이를 이용해서 swith에서 비교하면 됩니다 뭐 결과적으로는 0 - OFF 1 - R 2 - G 3 - B 이렇게 되겠네요 꺼지기도 해야하니깐요
소스가 길어보이지만 쉬운거에요 배열변수랑 함수로 처리하려다가 참았습니다.. 버튼이 눌리면 buttonCnt 변수가 count가 하나씩올라가고 나머지가 0 ~ 3 일경우에 대해 처리했습니다 LED를 안끄고 사용할거면 swich%3으로 해도 됩니다 물론 case 부분을 수정해야 됩니다 (0~2) 버튼 몇개정도는 그냥 써도 되지만 버튼 개수가 많아지면 논리적인 부분이 들어가는게 좋습니다 논리회로라니.. 3x3 매트릭스 버튼스위치 부분에서 다루게 될것 같네요 6개의 핀으로 9개의 버튼을 이용합니다 근데 library 도 있으니 걱정안해도 됩니다 태그관련글 더보기
|