ESP32 C3 Super Mini 힘 센서

Arduino 프로젝트에서 물리적 압력 및 압착을 감지하기 위해 힘 센서(FSR)를 ESP32 C3 Super Mini와 인터페이스하는 방법을 배웁니다. 이 초보자 친화적인 가이드는 힘 민감 저항에서 배선, 코딩 및 아날로그 값 읽기를 안내합니다.

이 튜토리얼에서 배울 내용:

ESP32 C3 Super Mini - 힘 센서

준비물

1×ESP32 C3 Super Mini 아마존
1×USB 케이블 타입-A to 타입-C (USB-A PC용) 쿠팡 | 아마존
1×USB 케이블 타입-C to 타입-C (USB-C PC용) 아마존
1×힘 센서 쿠팡 | 아마존
1×10 kΩ Resistor 아마존
1×브레드보드 쿠팡 | 아마존
1×점퍼케이블 쿠팡 | 아마존
1×(옵션) DC 커넥터 전원 연결 잭 플러그 소켓 쿠팡 | 아마존
공개: 이 포스팅 에 제공된 일부 링크는 아마존 제휴 링크입니다. 이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

Overview of Force Sensor

힘 센서(또는 힘 민감 저항 또는 FSR이라고도 함)는 적용된 압력에 따라 저항이 변하는 구성 요소입니다.

  • 저항 동작: 압력이 증가하면 저항이 감소함
  • 기능: 물리적 압착, 터치 및 압력 감지
  • 출력 유형: 아날로그 신호(ESP32 C3 Super Mini에서 0-4095)
  • 가장 적합한 용도: 터치 감지, 압력 민감 버튼, 그립 센서
  • 이상적이지 않은 용도: 파운드 또는 킬로그램 단위의 정밀한 무게 측정
  • 장점: 사용하기 쉽고, 외부 전원 필요 없음, 아날로그 핀과 작동
  • 초보자 친화적: 저항처럼 두 개의 핀만 사용한 쉬운 배선

힘 센서 핀아웃

힘 센서는 가변 저항처럼 작동하는 두 개의 핀을 가지고 있습니다.

  • 핀 1: 아날로그 입력 또는 분압기 회로에 연결
  • 핀 2: GND 또는 분압기 설정의 저항에 연결

참고: 핀은 상호 교환 가능합니다 - FSR 센서의 극성은 중요하지 않습니다.

힘 센서 핀아웃

힘 센서와 ESP32 C3 Super Mini 사이의 배선 다이어그램

10kΩ 저항을 사용하는 분압기 회로로 힘 센서를 ESP32 C3 Super Mini에 연결합니다.

  • 참고: 10kΩ 저항은 읽을 수 있는 아날로그 값을 생성하는 분압기를 만듭니다
ESP32 C3 Super Mini 힘 배선 다이어그램

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.

Force Sensor Pin 1 GPIO2 (Analog Input)
Force Sensor Pin 2 GND (via 10kΩ resistor)
10kΩ Resistor Between Pin 2 and GND
Power for divider 3.3V to Force Sensor Pin 1

힘 센서를 프로그래밍하는 방법

ESP32 C3 Super Mini는 간단한 전압 측정 원리를 사용하여 아날로그 입력 핀을 통해 힘 센서 값을 읽습니다.

  • 분압기: FSR과 10kΩ 저항이 분압기 회로를 생성합니다
  • 아날로그 읽기: ESP32가 아날로그 핀의 전압을 측정합니다(0-3.3V 범위)
  • 값 범위: analogRead()는 0(압력 없음)부터 4095(최대 압력)까지의 값을 반환합니다
  • 해석: 더 높은 값 = 센서에 더 많은 압력 적용
  • 읽기 방법: 연결된 GPIO 핀에서 analogRead() 함수 사용

ESP32 C3 Super Mini Code

다음 코드는 힘 센서에서 아날로그 값을 읽고 시리얼 모니터에 압력 레벨을 표시합니다.

이 코드가 하는 작업:

  • GPIO2에 연결된 힘 센서에서 아날로그 값 읽기
  • 수치를 압력 레벨로 변환(압력 없음 ~ 큰 압착)
  • 시리얼 모니터에 실시간 힘 센서 값 표시
  • 500밀리초마다 수치 업데이트
  • FSR 감도 및 응답을 이해하는 데 도움
/* * 이 ESP32 C3 Super Mini 코드는 newbiely.kr 에서 개발되었습니다 * 이 ESP32 C3 Super Mini 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/esp32-c3/esp32-c3-super-mini-force-sensor */ #define FORCE_SENSOR_PIN A0 // The ESP32 C3 SuperMini pin connected to the force reistor void setup() { Serial.begin(115200); // set the ADC attenuation to 11 dB (up to ~3.3V input) analogSetAttenuation(ADC_11db); } void loop() { int analogReading = analogRead(FORCE_SENSOR_PIN); Serial.print("The force sensor value = "); Serial.print(analogReading); // print the raw analog reading if (analogReading < 10) // from 0 to 9 Serial.println(" -> no pressure"); else if (analogReading < 200) // from 10 to 199 Serial.println(" -> light touch"); else if (analogReading < 500) // from 200 to 499 Serial.println(" -> light squeeze"); else if (analogReading < 800) // from 500 to 799 Serial.println(" -> medium squeeze"); else // from 800 to 1023 Serial.println(" -> big squeeze"); delay(1000); }

자세한 사용 방법

  • ESP32 C3 Mini가 처음이신가요? 개발 환경을 설정하기 위해 먼저 ESP32 C3 슈퍼 미니 - 시작하기 튜토리얼을 완료하세요.
  • Arduino IDE 설치: ESP32 C3 Super Mini를 처음 사용하는 경우 Arduino IDE에서 ESP32 C3 Super Mini용 환경을 설정하는 방법을 참조하세요.
  • 코드 복사: 위의 코드를 복사하여 Arduino IDE에 붙여넣기합니다.
  • 보드 연결: USB Type-C 케이블을 통해 ESP32 C3 Super Mini를 컴퓨터에 연결합니다.
  • 코드 업로드: Arduino IDE의 업로드 버튼을 클릭하여 ESP32 C3 Super Mini 보드에 코드를 컴파일하고 업로드합니다.
  • 시리얼 모니터 열기: 보드 속도를 115200으로 설정하여 수치를 봅니다.
  • 센서 테스트: 다양한 압력 레벨로 힘 센서를 누릅니다.
  • 결과 관찰: 시리얼 모니터에서 실시간 아날로그 값 및 압력 설명을 확인합니다.
  • 전문가 팁: 다양한 압력 레벨을 시도하여 특정 애플리케이션에 가장 적합한 임계값을 찾습니다.

시리얼 모니터 출력

Newbiely | Arduino IDE 2.3.8
──
File
Edit
Sketch
Tools
Help
ESP32C3 Dev Module
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'ESP32C3 Dev Module' on 'COM15')
New Line
9600 baud
The force sensor value = 0 -> no pressure The force sensor value = 0 -> no pressure The force sensor value = 142 -> light touch The force sensor value = 156 -> light touch The force sensor value = 389 -> light squeeze The force sensor value = 417 -> light squeeze The force sensor value = 623 -> medium squeeze The force sensor value = 798 -> medium squeeze The force sensor value = 934 -> big squeeze The force sensor value = 1002 -> big squeeze The force sensor value = 987 -> big squeeze The force sensor value = 5 -> no pressure The force sensor value = 0 -> no pressure
Ln 11, Col 1
ESP32C3 Dev Module on COM15
2

※ 주의:

이 튜토리얼은 ADC(아날로그-디지털 변환기)에 연결된 센서 또는 구성 요소에서 값을 읽기 위해 analogRead() 함수를 사용합니다. ESP32 C3 Super Mini의 ADC는 높은 정확도가 필요하지 않은 프로젝트에 적합합니다. 그러나 정밀한 측정이 필요한 프로젝트의 경우 다음을 명심하세요:

  • ESP32 C3 Super Mini의 ADC는 완벽하게 정확하지 않으며 올바른 결과를 위해 보정이 필요할 수 있습니다. 각 ESP32 C3 Super Mini 보드는 약간 다를 수 있으므로 각 개별 보드에 대해 보정이 필요합니다.
  • 특히 초보자에게는 보정이 어려울 수 있으며 항상 원하는 정확한 결과를 얻지 못할 수 있습니다.

높은 정밀도가 필요한 프로젝트의 경우 ESP32 C3 Super Mini와 함께 외부 ADC(예 ADS1115)를 사용하거나 보다 신뢰할 수 있는 ADC가 있는 Arduino Uno R4 WiFi 같은 다른 Arduino를 사용하는 것을 고려하세요. 여전히 ESP32 C3 Super Mini의 ADC를 보정하고 싶으면 ESP32 ADC 보정 드라이버를 참조하세요.

응용 아이디어

ESP32 C3 Super Mini 및 힘 센서를 사용하여 다음과 같은 실용적인 압력 감지 프로젝트를 구축합니다:

  • 스마트 초인종: 누군가가 문이나 패널에 누를 때 감지
  • 게이밍 컨트롤러: 맞춤형 게임 컨트롤러를 위한 압력 민감 버튼 생성
  • 로봇 그립 센서: 로봇 집게가 물체를 얼마나 세게 잡는지 측정
  • 악기: 전자 드럼 또는 키보드용 터치 민감 패드 구축
  • 침대 존재 감지: 누군가 의자에 앉거나 침대에 누워 있을 때 감지
  • 악수 강도 측정기: 피트니스 또는 의료 응용을 위한 그립 강도 측정
  • 터치 램프 제어: 터치 압력에 반응하는 조광 조명 생성

비디오 섹션

아래 비디오를 보고 이 프로젝트에 대한 시각적 안내를 받으세요.

도전해보세요

다음 도전으로 이 ESP32 C3 Super Mini 힘 센서 프로젝트를 향상시켜 기술을 테스트합니다:

  • 쉬움: 압력이 임계값을 초과할 때 켜지는 LED 추가
  • 쉬움: 아날로그 값 대신 "누름" 및 "릴리즈" 메시지 표시
  • 중간: 여러 힘 센서를 사용하여 여러 위치의 압력을 동시에 감지
  • 중간: 특정 힘 레벨에서 트리거되는 압력 활성화 경보 시스템 생성
  • 고급: 타임스탬프를 사용하여 시간 경과에 따른 압력 패턴을 기록하는 데이터 로깅 시스템 구축
  • 고급: 힘 센서를 서보 모터와 결합하여 압력 강도에 따라 움직임 제어

관련 튜토리얼