본문 바로가기

아두이노

NodeMCU를 이용한 Limit Switch 제어

회로 구성은 다음과 같다. 

참고로 이전 포스팅에서 NodeMCU에서 사용 가능한 핀에 대해 언급한 적이 있는데, 시험 결과 SD3핀은 전기 신호를 받을 수 있어 해당 핀을 사용했다. 

 

한 가지 중요한 것은 GND 사이에 저항인데, 스위치가 연결되었을 때, 5V와 GND가 직접적으로 맞닿는 것을 방지해 준다. 다시 말해, 쇼트를 방지하기 위해 일부러 부하를 집어넣은 것이다. 

이것이  풀다운 저항인데, 관련해서 정리가 잘 된 블로그가 있어 첨부한다. 

 

풀업(Pull-up)저항,  풀다운(Pull-down)저항

아두이노와 같은 메이커들를 위한 플랫폼은 물론이고,  임베디드 개발 영역에 꼭 필요한게 전자회로 관련 지식인데요. 저 같은 소프트웨어 개발자 출신들이 이 분야에 들어서서 막막한게 바로

blog.xcoda.net

그리고 소스코드이다. 

const uint16_t kLimitSWPint = 10;    // GPIO 10 is SDD 3 pin

void setup() {
  // put your setup code here, to run once:
  pinMode(kLimitSWPint, INPUT);
  
  Serial.begin(115200);
}

int switchState = 0;

void loop() {
  // put your main code here, to run repeatedly:

  switchState = digitalRead(kLimitSWPint);
  Serial.println(switchState);

  delay(100);

}

스위치를 누를 때마다 1이 출력된다.