센서 값은 읽을 수 있는데 이걸로 어떻게 제어하지? / 센서 / 제어 / 코드 기초

안녕하세요 메카솔루션입니다.


요즘 블로그에 이런 질문들이 많이 들어오고 있습니다.


센서 값은 읽을 수 있는데 제어는 어떻게 하나요?


사실 정말 간단한 질문들이라 그때 그때 답변 드리곤 했는데 덧글로 설명 해드리는 거라 이해도 부족하고 내용도 짧아서 이번 기회에 블로그 글을 작성 하게 되었습니다.


우선 센서 값을 읽는 부분을 살펴 보도록 하겠습니다.



위와 같이 센서 값들이 측정이 된 후 출력이 되는 구조를 가집니다.


여기서 눈 여겨 보아야 할 것은 


  int sensorValue = analogRead(A0); // 측정부


입니다.


측정 된 센서 값이 sensorValue 라는 변수 저장이 된 것 인데 바로 다음 줄에서 Serial.println()로 꺼내온 것이지요


그런데 내가 사용하는 센서는 좀 다른 센서라서 응용이 안될 것 같다고요? 절대로 아닙니다.



이것은 아날로그 센서만의 규칙이 아닌 모든 센서들에도 적용이 됩니다.


그렇다면 센서의 값이 저장된 공간(이를 변수라 부릅니다.)을 기준으로 값을 읽거나 제어할 수 있게 되는 것입니다.


예를 들어서 값이 500보다 클 경우에 13번 LED를 키고 싶다면


  if(sensorValue > 500){
    digitalWrite(13,HIGH);
  }


위와 같이 소스 코드를 작성할 수 있습니다.


변수를 통해 값을 제어할 수 있다면 다양한 제어 방법을 알 수 있습니다. 이에 대해서는 예전에 정리해둔 글들이 있기 때문에 링크를 걸어보도록 하겠습니다.


http://blog.naver.com/roboholic84/220647979699

http://blog.naver.com/roboholic84/220674812930



감사합니다.

메카리워즈 Image Map


모바일 버전으로 보기