인투피온 강좌/아두이노 팁(Tip)

아두이노 스위치 사용하기

인투피온 2021. 12. 20. 13:44

 

 

안녕하세요.

오늘은 아두이노 스위치를 사용해 보겠습니다~!

 

;스위치는 풀업저항 또는 풀다운저항을 사용해줘야 되는데

만약 사용하지 않을 경우 플로팅 현상으로 인해 정확한 값을 나타내지 못하게 돼요.

그래서 저희는 아두이노 내부에 있는 풀업저항을 사용할 예정이에요.

 

 

 

준비물

 

※ 클릭 시 구매링크로 이동합니다.

아두이노 R3 보드
브레드보드 400핀
아두이노 택트 스위치
LED 5파이
220R 저항

 

 

스위치 작동하기

 

 

 

이렇게 간단하게 연결해주시고

아래의 소스를 업로드 해주세요.

 



  int SWITCH =11;
  
  void setup()
  {
    Serial.begin(9600);
    pinMode(SWITCH, INPUT_PULLUP); //꼭 풀업으로 하셔야 되요
  }
  
  void loop()
  {
    int SW = digitalRead(SWITCH);
    Serial.println(SW);
    delay(100);
  }

 

 

시리얼 모니터를 확인해보면 누르지 않았을 때 '1' 눌렀을 때 '0' 이 되는 것을

확인할 수 있어요. 만약 pinMode(SWITCH, INPUT_PULLUP); 여기서 풀업이 아닌

pinMode(SWITCH, INPUT); 인풋으로 하시면

플로팅 현상으로 인해 스위치를 눌러도 정확한 출력이 나오지 않아요.

그럼 이제 여기에 LED를 추가해 볼게요.

 

 

 

스위치로 LED 켜기

 

 

 

LED ( + )는 우노의 디지털 핀으로, ( - )는 저항 220R을 거쳐 GND로 연결해 주세요.

 

 

int Switch1= 12;
int Switch2= 11;
int Switch3= 10;
int RedPIN = 6;
int GreenPIN = 4;
int YellowPIN = 2;

void setup() {
   Serial.begin(9600);
   pinMode(Switch1, INPUT_PULLUP);
   pinMode(Switch2, INPUT_PULLUP);
   pinMode(Switch3, INPUT_PULLUP);  
   
   pinMode(RedPIN , OUTPUT);
   pinMode(GreenPIN , OUTPUT);
   pinMode(YellowPIN , OUTPUT);
}

void loop() 
{
  int SW1 = digitalRead(Switch1);
  int SW2 = digitalRead(Switch2);
  int SW3 = digitalRead(Switch3);
  digitalWrite(RedPIN, LOW); 
  digitalWrite(GreenPIN, LOW); 
  digitalWrite(YellowPIN, LOW);

   
  if(SW1 == LOW){
    Serial.print("Switch : ");
    Serial.println("RED");
    digitalWrite(RedPIN, HIGH); 
    delay(100);
  }
  if(SW2 == LOW){
    Serial.print("Switch : ");
    Serial.println("GREEN");
    digitalWrite(GreenPIN, HIGH); 
    delay(100);
  }
  if(SW3 == LOW){
    Serial.print("Switch : ");
    Serial.println("YELLOW");
    digitalWrite(YellowPIN, HIGH); 
    delay(100);
  }

}

 

 

이렇게 하시면 아래처럼 해당하는 스위치를 눌렀을 때

각각 LED 가 점등되는 것을 볼 수 있어요.

 

 

 

오늘은 아두이노 스위치 사용법에 대해서 알아봤어요.

다음에는 서보모터 구동에 대해서 알아볼게요.

 

 

 

 

전자부품 전문 쇼핑몰 인투피온입니다.
필요한 자재에 관한 문의는 홈페이지를 통한 견적 신청, 혹은 전화나 메일로 주시면 빠른 회신을 드릴 수 있도록 하겠습니다.

▶ 홈페이지: http://intopion.com/
▶ 전화: 02-2615-7278
▶ FAX : 02-6124-4242
▶ 메일: intopion@hanmail.net