전체상품목록 바로가기

본문 바로가기


현재 위치
  1. home
  2. community
  3. 기술문의 :)

기술문의 :)

기술문의 게시판 입니다.

상품 게시판 상세
subject [Q&A]softPot 비접촉시 입력값이 계속변합니다
writer 아트로봇 (ip:)
  • date 2011-06-12 22:23:01
  • like 추천하기
  • view 195
rating 0점

아래의 예제는 sketch 기본예제 Examples >  1.Basics > AnalogReadSerial 입니다.

A0아날로그 입력핀에 입력되는 전압값을 시리얼 모니터로 출력해주는 용도로 사용가능하며,

SoftPot 입력 테스트용으로 사용 가능합니다.

 

Q.문제

그런데, 본 예제를 수행하시면,  센서가 접촉되지 않은상태에서 감지되는 전압값이 계속 변화하는것을 볼 수 있습니다.  이상태로는 감지여부를 파악하기가 힘들어집니다.  어떻게 해야하나요?

 

/*
  AnalogReadSerial
 Reads an analog input on pin 0, prints the result to the serial monitor
 
 This example code is in the public domain.
 */

void setup() {
  Serial.begin(9600);
}

void loop() {
  int sensorValue = analogRead(A0);
  Serial.println(sensorValue, DEC);
  delay(100);
}

 

A. 해결방법:

아두이노의 IO핀에는 PullUp기능이 있습니다.  즉, 모드를 입력모드로 설정한 상태에서 이 핀에 HIGH값을 출력하면, 내부저항을 통해 VCC에 연결이 되게 됩니다. 이상태에서 외부 입력이 없는 상태에서 입력값을 읽어보면,  디지탈핀의 경우 HIGH로 감지되고, 아날로그 핀의 경우 Vcc(입력최대값)에 근사한 값이 감지되게 됩니다.

위 소스에서 2줄을 추가하여 PullUp을 시킨 아래예제를 참고하시기 바랍니다.

 

 

/*
  AnalogReadSerial
 Reads an analog input on pin 0, prints the result to the serial monitor
 
 This example code is in the public domain.
 */

void setup() {
  Serial.begin(9600);
  pinMode( A0, INPUT);  //입력모드에서,
  digitalWrite( A0, HIGH); // HIGH값을 출력하면,  PullUp이 되어 외부입력이 없을경우 HIGH 입력값이 감지됨.
}

void loop() {
  int sensorValue = analogRead(A0);
  Serial.println(sensorValue, DEC);
  delay(100);
}

 

Note. 원리는 무엇인가?

SoftPot센서는 일종의 가변저항이지만,  외부접촉이 없을경우엔 출력핀에 어떤전압도 걸리지 않으므로

입력핀측에서는 플로팅상태가 되어 값을 예상할 수 없는 상태가 됩니다.

이를 막기위해 입력핀을 PullUp 시켜서 문제를 해결할 수 있게됩니다. 

PullUp의 개념은 디지탈전자회로 관련서적을 참고하시기 바랍니다.

 

 

추가정보.  SoftPot센서는 일반 가변저항과 그 사용법이 유사하지만, 주의할 점이 있습니다.

기준전압 생성을 위해 5V와 GND를 연결하실때 5V전원을 곧바로 연결하지 마시고 1K옴 정도의 보호저항을 통해서 연결하시기 바랍니다.  이는 접촉지점의 끝지점에서 내부저항없이 접촉이 이뤄지는 경우가 있기때문입니다.

 

file
password 삭제하려면 비밀번호를 입력하세요.
댓글 수정

password :

/ byte

비밀번호 : 확인 취소

댓글 입력

commentsname : password : 관리자 답변 보기

/ byte

왼쪽의 문자를 공백없이 입력하세요.(대소문자구분)

회원에게만 댓글 작성 권한이 있습니다.

관련 글 보기

관련글 모음
번호 상품명 제목 작성자 작성일 조회
164 [TSS8680] 위치감지센서 - 5Cm (SoftPot Membrane Potentiometer - 50mm) [Q&A]softPot 비접촉시 입력값이 계속변합니다 아트로봇 2011-06-12 195