055_압력센서FSR_누르는힘측정 🌡️🧪

도로시와 지니가 함께하는 압력 감응 저항(FSR)의 물리적 원리, 전압 분배 회로 및 가변 터치 감도 측정 실습
- 👧 도로시: “교수님! 지니야! 동그란 센서 패드를 손가락으로 살짝 건드렸을 때랑 온 힘을 다해 꾹 눌렀을 때를 아두이노가 어떻게 구별해?”
- 👨🏫 이호진 교수님: “누르는 물리적인 힘(Force)의 세기에 반비례하여 전기 저항이 뚝 떨어지는 FSR(Force Sensing Resistor) 압력 센서 덕분이란다!”
-
🐶 토토: “바우! 전자 드럼 패드를 세게 치면 큰 소리가 나는 원리와 똑같다 멍!”
- 🖥️ 강의 슬라이드: slides.md
1. FSR(Force Sensing Resistor) 센서의 외형과 구조

🐾 3층 샌드위치 필름 구조
- 상부 전도성 패턴 필름: 빗살 모양의 미세한 은(Silver) 전극 라인이 서로 닿지 않게 인쇄되어 있습니다.
- 하부 압력 감응 반도체 필름: 압력을 받으면 입자 사이의 저항이 변하는 특수 고분자 전도성 폴리머(Polymer) 시트입니다.
- 스페이서(Spacer): 외력이 가해지지 않을 때는 두 필름이 서로 닿지 않도록 미세한 공기 간극을 유지해 줍니다.
- 무극성(Non-polarized) 2단자: 극성이 없어 2개의 핀 중 어느 쪽을 5V나 신호선에 꽂아도 완벽히 동일하게 동작합니다.
2. 작동 메커니즘: 압력과 저항의 반비례 관계 (Logarithmic Curve)

🔬 힘을 가할수록 전도 경로가 폭발적으로 증가!
- 외력이 없을 때 (No Pressure):
- 스페이서에 의해 두 필름이 격리되어 있으므로 전기가 통하지 않습니다 (저항: 무한대 $\infty$, 수 MΩ 이상).
- 가볍게 터치했을 때 (Light Touch, 약 20g ~ 100g):
- 미세한 돌기들이 살짝 접촉하며 전도가 시작됩니다 (저항: 약 50kΩ ~ 100kΩ).
- 강하게 꾹 눌렀을 때 (Heavy Press, 1kg ~ 10kg 이상):
- 전도성 고분자 입자들이 강한 압력으로 압축 밀착되어 무수히 많은 미세 전도 통로가 열립니다 (저항: 수백 $\Omega$ 이하로 급감).
3. 전압 분배 회로(Voltage Divider)의 결선과 수학 공식

⚡ $R_{\text{FSR}}$ 저항 변화를 아날로그 전압 $V_{\text{out}}$으로 변환
아두이노 A0 핀은 저항을 직접 읽을 수 없으므로 10kΩ 기준 저항과 직렬로 연결합니다:
\[V_{\text{out}} = 5\text{V} \times \frac{10\text{k}\Omega}{R_{\text{FSR}} + 10\text{k}\Omega}\]- 누르지 않았을 때: $R_{\text{FSR}} \approx \infty$ 이므로 $V_{\text{out}} \approx 0\text{V}$ (ADC 측정값 0 부근).
- 약하게 눌렀을 때: $R_{\text{FSR}} \approx 50\text{k}\Omega \rightarrow V_{\text{out}} \approx 0.83\text{V}$ (ADC 측정값 약 170).
- 강하게 눌렀을 때: $R_{\text{FSR}} \approx 200\Omega \rightarrow V_{\text{out}} \approx 4.9\text{V}$ (ADC 측정값 약 1000).
4. 팅커캐드 시뮬레이터 배선 연결

🔌 브레드보드 연결 체크리스트
- FSR 단자 1: 아두이노 5V 레일에 연결.
- FSR 단자 2: 브레드보드 동일 열에서 아두이노 A0 핀에 연결.
- 10kΩ 고정 풀다운 저항: A0 노드와 GND 사이에 연결.
- PWM 출력 LED: 아두이노 9번 핀 ➡️ 220Ω 저항 ➡️ LED 애노드(+) ➡️ 캐소드(-) ➡️ GND.
5. 실습 전체 코드: 압력 감응형 스마트 무드등 (Arduino C++)
💻 누르는 힘의 세기에 비례하여 LED 밝기를 정밀 조절하는 펌웨어
// 핀 번호 상수 정의
const int FSR_PIN = A0; // FSR 전압 분배 회로가 연결된 아날로그 입력 핀
const int LED_PIN = 9; // PWM 아날로그 출력이 가능한 디지털 핀
// 센서 측정 임계치 (환경에 따라 보정 가능)
const int FSR_MIN_THRESHOLD = 50; // 가벼운 노이즈를 필터링하는 최솟값
const int FSR_MAX_THRESHOLD = 900; // 최대 압력 기준값
void setup() {
// PC 시리얼 모니터 통신 시작 (9600 bps)
Serial.begin(9600);
// LED 핀을 출력 모드로 설정
pinMode(LED_PIN, OUTPUT);
Serial.println("=========================================");
Serial.println(" FSR Pressure Sensor & PWM LED Ready! ");
Serial.println("=========================================");
}
void loop() {
// 1. A0 핀에서 아날로그 전압 측정 (0 ~ 1023)
int fsrRaw = analogRead(FSR_PIN);
int brightness = 0;
// 2. 최소 압력 이상일 때만 반응하도록 노이즈 컷오프 적용
if (fsrRaw > FSR_MIN_THRESHOLD) {
// 측정된 ADC 범위를 0 ~ 255 LED PWM 범위로 매핑
brightness = map(fsrRaw, FSR_MIN_THRESHOLD, FSR_MAX_THRESHOLD, 0, 255);
// 0 ~ 255 범위를 벗어나지 않도록 안전 제한
brightness = constrain(brightness, 0, 255);
}
// 3. LED에 계산된 밝기 출력
analogWrite(LED_PIN, brightness);
// 4. 시리얼 모니터 디버깅 출력
Serial.print("FSR Raw Value: ");
Serial.print(fsrRaw);
Serial.print(" -> LED Brightness: ");
Serial.println(brightness);
// 0.1초 지연 후 다음 루프 실행
delay(100);
}
6. 코드 상세 해설 및 노이즈 필터링 원리

🔍 노이즈 컷오프(Deadband)와 비례 제어 분석
if (fsrRaw > FSR_MIN_THRESHOLD):- 센서 표면이 공기 중에 노출되어 있을 때 정전기나 미세한 기계적 접촉으로 인해 0~30 사이의 불필요한 노이즈가 발생할 수 있습니다.
FSR_MIN_THRESHOLD(50)이상으로 확실하게 손가락이 닿았을 때만 LED를 켜도록 하여 불필요한 미세 깜빡임을 완벽히 차단합니다.
- 선형 보간과
constrain():- FSR의 저항 변화는 실제로는 비선형(로그 곡선)이지만,
map()과constrain()을 통해 인간의 눈에 가장 자연스러운 선형 밝기 변화로 매끄럽게 매핑합니다.
- FSR의 저항 변화는 실제로는 비선형(로그 곡선)이지만,
7. 실생활 속 압력 센서의 다양한 응용 사례

- 전자 악기 (MIDI Touch Sensitive Keyboards & Drums):
- 피아노 건반이나 전자 드럼 패드를 세게 치면 큰 소리(Velocity), 살살 치면 부드러운 소리를 내는 다이내믹 터치 감도 구현.
- 로봇 그리퍼 (Robotic Soft Gripper):
- 로봇 팔이 두부나 달걀, 유리잔처럼 깨지기 쉬운 물체를 잡을 때 물체가 으스러지지 않도록 정밀한 파지력 제어.
- 스마트 헬스케어 방석 & 깔창:
- 의자에 앉은 자세의 좌우 균형을 분석하여 거북목이나 척추 측만 교정 알림 제공.
🌟 도로시와 지니의 핵심 요약 노트!
| 비교 항목 | 플렉스(Flex) 센서 | 압력(FSR) 센서 |
|---|---|---|
| 감지 대상 | 휨 각도 및 곡률 | 수직으로 누르는 힘 (Weight / Pressure) |
| 저항 변화 | 구부릴수록 저항 증가 ($\uparrow$) | 누를수록 저항 급감 ($\downarrow$) |
| 핵심 회로 | 10kΩ 풀다운 전압 분배기 | 10kΩ 풀다운 전압 분배기 |
| 출력 신호 | 아날로그 전압 (0 ~ 5V) | 아날로그 전압 (0 ~ 5V) |
- 👧 도로시: “누르는 힘에 따라 저항이 쑥 떨어져서 전압 분배로 손가락의 미세한 힘까지 측정할 수 있구나!”
- 👨🏫 이호진 교수님: “맞아! 이 압력 센서로 토토의 발바닥 도어 매트를 만들면 토토가 문 앞에 왔을 때 자동으로 차임벨을 울려줄 수 있단다.”
- 🐶 토토: “바우! 다음엔 빛을 감지하는 포토 인터럽터 센서를 만나러 가자 멍!”
서브목차