본문 바로가기

메이킹/아두이노

저항없이 버튼 활용하기(LED, 모터 제어하기-선풍기 모듈)

반응형

오늘은 10k옴 저항없이 버튼을 활용하여 LED와 모터를 제어하는 방법에 대해 알아보겠습니다. 저항없이 버튼을 활용하는 방법은 풀업 저항을 활용하는 것입니다. 아두이노에서는 자체적으로 pinMode()에서 INPUT과 OUTPUT외에도 INPUT_PULLUP이라는 소프트웨어적인 풀업모드를 제공합니다.

 

따라서 pinMode(pinNum, INPUT_PULLUP) 를 선언해서 저항없이 버튼을 사용할 수 있습니다.

 

준비물

- 아두이노 우노

- LED

- 버튼

- 브레드 보드

- 점퍼선

- 선풍기 모듈

 

 

1) 버튼으로 선풍기 모듈과 LED제어하기

회로도

버튼 INPUT_PULLUP으로 LED와 모터 제어하기

소스코드

int pushButton = 7;
int led=3;
int fan_A=8, fan_B=9;
int state=0;

void setup() {
  Serial.begin(9600);
  pinMode(pushButton, INPUT_PULLUP); //INPUT_PULLUP모드 적용
  pinMode(led, OUTPUT);
  pinMode(fan_A, OUTPUT);
  pinMode(fan_B, OUTPUT);
}

void loop() {
  int buttonState = digitalRead(pushButton);
  Serial.println(buttonState);

  if(buttonState==LOW){
    	if(state==0){
        	state=1;
        }
        else if (state==1){
        	state=0;
        }
    }
    
    if (state==1){
    	digitalWrite(led, HIGH);
        digitalWrite(9,HIGH); // 9번 핀에 High 신호를 보내면 팬모터의 INB와 연결되어 있기 때문에 B방향으로 회전함
        digitalWrite(8,LOW);
	}
    else{
    	digitalWrite(led, LOW);
        digitalWrite(9,LOW);        
        digitalWrite(8,LOW);        
	}  
 }
반응형