실습은 개인 학습을 위해 "주) 엘케이 임베디드" 사이트에서 구매한 아두이노 코딩 배우기 고급 키트를 이용한 학습입니다. 동봉된 책을 기반으로 학습하면서 개인적인 궁금증과 추가 필요한 부분을 정리한 블로그임을 미리 알려드립니다.
< 준비물 >
아두이노 우노 : 1개
USB 케이블 : 1개
점퍼 케이블(숫숫) : 4개가량
브레드 보드 : 1개, 830홀 사용
Ball Switch : 2개
LED : 2개
저항 : 220Ω 2개
이번 실습은 기울기센서인 볼스위치를 이용 LED를 ON/OFF하는 간단한 실습 입니다.
팅커 캐드 링크입니다 : https://www.tinkercad.com/things/5devBOqyiQM
< 참고 지식 >
⦿ 볼 스위치(Ball Switch, SW_520D)
볼 스위치는 기울기 센서 스위치로 기본적인 움직임과 방향을 검출할 수 있는 스위치로 금속 튜브안에는 금속공이 들어 있어 위로 기울리면 동이 글러서 끝 부분에 접촉되어 서로 연결 되는 구조입니다.
⦿ pinMode()에서 INPUT_PULLUP : INPUT_PULLUP을 사용시 아두이노 입/출력 핀을 입력핀으로 사용하면서 PULLUP모드로 사용한다고 지정함. 보통의 경우 스위치를 통한 입력을 받을때 pull-up 저항을 연결해줘야 합니다. 하지만 ATmega168/328의 각 I/O핀에는 pull-up저항 부분이 내장되어 있습니다. 일반적으로는 미사용하고 pinMode() 설정시 INPUT_PULLUP으로 사용가능합니다.
< 실습 코드 >
int LED_A = 3; // LED 출력핀
int LED_B = 2; // LED 출력핀
int BallSW_A = 6; // 스위치 입력핀
int BallSW_B = 5; // 스위치 입력핀
void setup()
{
pinMode(LED_A, OUTPUT); // LED를 출력으로 설정
pinMode(LED_B, OUTPUT); // LED를 출력으로 설정
pinMode(BallSW_A, INPUT_PULLUP); // 볼스위치를 입력핀으로 설정( 내장 Pull-UP 저항 사용)
pinMode(BallSW_B, INPUT_PULLUP); // 볼스위치를 입력핀으로 설정( 내장 Pull-UP 저항 사용)
}
void loop()
{
if(digitalRead(BallSW_A) == LOW) // 볼스위치 A가 ON이되면
{
digitalWrite(LED_A, HIGH); // LED A를 ON
}
else // 볼스위치 A가 ON이 아니면 (OFF 이면)
{
digitalWrite(LED_A, LOW); // LED A를 OFF
}
if(digitalRead(BallSW_B) == LOW) // 볼스위치 B가 ON이되면
{
digitalWrite(LED_B, HIGH); // LED B를 ON
}
else // 볼스위치 B가 ON이 아니면 (OFF 이면)
{
digitalWrite(LED_B, LOW); // LED B를 OFF
}
}
'Arduino > Arduinio기초 실습' 카테고리의 다른 글
10장. 초음파 센서 모듈 실습 (0) | 2022.04.08 |
---|---|
9장. 화재 감지 센서 실습 (0) | 2022.04.08 |
7장. 자이로 센서 모듈 실습 (0) | 2022.04.06 |
6장. 7세그먼트(7 Segment. FND), 스위치 실습 (0) | 2022.04.04 |
5장. 가변저항 10K 실습 (0) | 2022.04.02 |