Flex sensor (bend/stretch 센서)
페이지 정보
작성자
본문
1. Flex sensor
Flex 센서는 휨에 따라 저항 값이 변화함으로써 구부러짐을 측정할 수 있게 해주는 센서입니다. 구조도 간단하고 연결도 간단하지만 가격은 간단하지 않습니다!
Flex 센서처럼 저항값이 변화하는 센서에서 값을 읽기 위해서는 voltage divider circuit을 이용해야 합니다. 매운 간단한 circuit 입니다. 센서와 VCC(GND) 사이에 적당한 저항을 넣고 센서와 저항 사이에 선을 연결해서 아두이노의 analog 핀에 연결합니다. (Voltage divider 모듈이 이와 비슷한 역할을 하는 모듈입니다. Voltage divider 상세내용은 링크를 참고하세요.)
아날로그 핀에는 0~5V 사이의 입력이 들어옵니다. 아두이노는 이 전압을 Analog to Digital Converter (ADC) 를 이용해서 10 bit ADC (2^10, 0~1024) 값으로 변환해줍니다. 이 값으로 서보 모터, LED 등 원하는 곳에 사용하면 됩니다.
2. 연결 방법
그림처럼 연결하고 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) 사용하면 됩니다.
댓글목록
김달영님의 댓글
김달영 이름으로 검색 작성일최고관리자님의 댓글

위 소스는 프로그램 뼈대에 측정하는 부분만 표시한 겁니다. PC에서 시리얼 모니터로 확인하려면 시리얼 통신으로 출력해주는 코드를 넣어줘야 합니다.
int flexPin = 0;
void setup() {
Serial.begin(9600);
}
void loop(){
// Adjust the value 128 to 256 to span 4 to 13
int flexReading = map(analogRead(flexPin), 128, 256, 4, 13);
Serial.print("Flex reading = ");
Serial.println(flexReading);
}
김달영님의 댓글
김달영 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 작성일최고관리자님의 댓글


모터 제어 방법은 따로 공부를 하셔야 합니다. 아래 링크가 도움이 될 듯 합니다.
http://www.hardcopyworld.com/gnuboard5/bbs/board.php?bo_table=tech_motor&wr_id=4
yjyun0님의 댓글
yjyun0 이름으로 검색 작성일
재미있는 내용 감사합니다...
노트북에 표현되는 데이타 값은 어떠한 프로그램을 사용하는 건가요?? 조언부탁드리겠습니다..
최고관리자님의 댓글


글쎄요.. 영상에 표시되는 프로그램은 제작자가 직접 만든 프로그램 같습니다. 프로세싱 같은 언어루요