1. Flex sensor

Flex 센서는 휨에 따라 저항 값이 변화함으로써 구부러짐을 측정할 수 있게 해주는 센서입니다. 구조도 간단하고 연결도 간단하지만 가격은 간단하지 않습니다!

Flex 센서처럼 저항값이 변화하는 센서에서 값을 읽기 위해서는 voltage divider circuit을 이용해야 합니다. 매운 간단한 circuit 입니다. 센서와 VCC(GND) 사이에 적당한 저항을 넣고 센서와 저항 사이에 선을 연결해서 아두이노의 analog 핀에 연결합니다. (Voltage divider 모듈이 이와 비슷한 역할을 하는 모듈입니다. Voltage divider 상세내용은 링크를 참고하세요.)

Arduino 5 Minute Tutorials Arduino 5 Minute Tutorials

아날로그 핀에는 0~5V 사이의 입력이 들어옵니다. 아두이노는 이 전압을 Analog to Digital Converter (ADC) 를 이용해서 10 bit ADC (2^10, 0~1024) 값으로 변환해줍니다. 이 값으로 서보 모터, LED 등 원하는 곳에 사용하면 됩니다.

2. 연결 방법

how to connect flex sensor

그림처럼 연결하고 A0핀으로 들어오는 값을 읽으면 됩니다.

3. 소스 코드

int flexPin = 0;

void setup() {
}

void loop(){
  // Adjust the value 128 to 256 to span 4 to 13
  int flexReading = map(analogRead(flexPin), 128, 256, 4, 13);
}

일단 flex 센서를 이리저리 구부려 보시고 max, min 값을 찾으세요. 소스에서는 (128, 256) 값으로 임의로 설정해 두었습니다. 이후 이 값을 자신이 원하는 범위 (소스에서는 4~13)의 값으로 맵핑한 결과를(flexReading) 사용하면 됩니다.