아두이노 압력센서 원리 - adu-ino ablyeogsenseo wonli

아두이노 압력센서 원리 - adu-ino ablyeogsenseo wonli

[아두이노 강좌] 압력 센서를 이용한 서보모터 제어하기

아두이노 압력센서 원리 - adu-ino ablyeogsenseo wonli

2017. 6. 20. 18:04

아두이노 압력센서 원리 - adu-ino ablyeogsenseo wonli

 안녕하세요 에듀이노 입니다.
이번에는 압력센서를 이용해서 서보모터를 제어해보겠습니다.




1.    압력 센서(FSR)?

아두이노 압력센서 원리 - adu-ino ablyeogsenseo wonli

          ▶FSR(Force Sensing Resistor)이라는 이름으로 알려져 있는 저항방식 센서는 압력이 가해지면               저항이 달라지는 특성을 이용한 센서 입니다.
              FSR을 이용해 가해진 힘의 크기를 정확하게 측정하는 등에는 적합하지 않지만, 힘의 세기나

              접촉의 유무 등에 사용하기에 적합합니다

아두이노 압력센서 원리 - adu-ino ablyeogsenseo wonli

아두이노 압력센서 원리 - adu-ino ablyeogsenseo wonli

      ▶ 그림과 같이 압력 센서는 4개의 레이어로 구성되어 있습니다. Electrode의 면적 중
          Semi-Conductor에 닿는 면적이 증가하면 저항이 줄어드는 원리로써 약간의 힘을 가하면
          약100KΩ의 저항이 발생하며, 힘을 더 가할수록 센서의 저항값이 감소합니다.
          얇은 필름 방식으로 제작된 압력센서로서 간단한 접촉의 압력 측정이 가능하며,센서 영역에
          얼마나 많은 압력이 가해졌느냐에 따라 저항 값이 변하게 됩니다.






3. 압력 센서(FRS)를 이용한 서보모터 제어
     ▶ 아두이노에 압력 센서와 서보 모터를 연결하여 센서에 압력을 가했을 때, 서보 모터가 움직이는              것을 확인해보겠습니다. 아두이노를 통해 압력 센서의 출력값에 따라 서보 모터의 각도를 조절                할 수 있습니다.
 
    
3.1 준비물
           실습에 앞서 준비물이 필요합니다.
               (링크를 클릭하면 해당 제품 페이지로 이동합니다.)
            
아두이노 우노 보드(DIP) : 링크클릭
            
브레드보드 400(불투명) : 링크클릭
            
압력 센서 0.5인치 FSR402링크 클릭
            저항 : 링크클릭
            SG90 서보 모터 : 링크 클릭
            
점퍼케이블 : 링크 클릭


    3.2 실습하기
        1) 아두이노와 연결하기
              - 먼저 아래 결선도와 같이 아두이노와 압력 센서, 서보모터를 연결합니다.

아두이노 압력센서 원리 - adu-ino ablyeogsenseo wonli

아두이노 압력센서 원리 - adu-ino ablyeogsenseo wonli





        2) 코딩 예제
           ▶ 아두이노 보드와 PC를 연결하고, 아두이노 IDE를 실행시켜 아래 코드를 아두이노 스케치에    
               입력 후 업로드 해줍니다

#include <Servo.h> //서보모터 라이브러리 호출 Servo myservo; //서보모터 제어문 int sensor = A2; //압전 센서핀을 A2번으로 설정 int servo = 11; //서보모터핀을 11번으로 설정 void setup(){ Serial.begin(9600); //시리얼 통신, 속도는 9600 myservo.attach(servo); //모터 시작 } void loop(){ int val = analogRead(sensor); //압전 센서의 데이터 받아오기 int angle = map(val, 0, 1023, 0, 180); //압력센서 값을 모터값으로 변환 Serial.println(angle); //모터값을 시리얼 모니터로 출력 myservo.write(angle); }

    ※ 참고
       ▶ 코딩예제의 ’map(value, fromLow, fromHigh, toLow, toHigh)’ 함수는 fromLow                          fromHigh 사이의 값인 value 값을 toLow toHigh 사이의 값으로 바꿔 주는 기능을
            제공합니다. 바꾸고자 하는 범위의 값을 toLow toHigh에 넣고 현재 값을 value에 그리고
           현재 값의 최소 값을 fromLow, 최대 값을 fromHigh에 넣고 호출하면 toLow toHigh
           사이의 값으로 변환하여 돌려 줍니다.

아두이노 압력센서 원리 - adu-ino ablyeogsenseo wonli

아두이노 압력센서 원리 - adu-ino ablyeogsenseo wonli

           위 사진들을 비교해보면 압력 센서에 압력을 가하기 전 서보 모터는 정지 상태에 있습니다.
               그러나 곧 압력을 가해주자 서보 모터가 구동 되기 시작합니다.
               예제 코드 속 map함수가 적용되어 압력 센서에 입력되는 압력에 따라 서보 모터의 각도가
               달라지는 것 또한 확인 할 수 있습니다.

    4.4 동영상
        위 실습 결과를 아래 영상으로 확인합니다.          

여기까지 ' 압력 센서를 이용한 서보모터 제어하기 ' 였습니다.
읽어주셔서 감사합니다.

아두이노 압력센서 원리 - adu-ino ablyeogsenseo wonli

  • #아두이노
  • #에듀이노
  • #Arduino
  • #eduino
  • #fsr
  • #압력센서
  • #압전센서