아두이노 나노 ESP32 힘 센서
힘 센서는 힘 민감 저항기, 힘 감지 저항기 또는 FSR이라고 불립니다. 이 튜토리얼에서는 힘 센서를 사용하여 아두이노 나노 ESP32를 사용하는 방법에 대한 지침을 제공합니다. 구체적으로, 우리는 다음을 배울 것입니다:
- 힘 센서가 어떻게 작동하는지.
- 힘 센서를 Arduino Nano ESP32에 연결하는 방법.
- 힘 센서에서 값을 읽기 위해 Arduino Nano ESP32를 프로그래밍하는 방법.
준비물
1 | × | 아두이노 나노 ESP32 | 아마존 | |
1 | × | USB 케이블 타입-C | 쿠팡 | 아마존 | |
1 | × | 힘 센서 | 쿠팡 | 아마존 | |
1 | × | 10kΩ 저항기 | 아마존 | |
1 | × | 브레드보드 | 쿠팡 | 아마존 | |
1 | × | 점퍼케이블 | 쿠팡 | 아마존 | |
1 | × | (옵션) DC 커넥터 전원 연결 잭 플러그 소켓 | 쿠팡 | 아마존 | |
1 | × | (추천) 아두이노 나노용 스크루 터미널 확장 보드 | 쿠팡 | 아마존 | |
1 | × | (추천) 아두이노 나노용 브레이크아웃 확장 보드 | 쿠팡 | 아마존 | |
1 | × | (추천) 아두이노 나노 ESP32용 전원 분배기 | 쿠팡 | 아마존 |
공개: 이 섹션에서 제공된 링크 중 일부는 제휴 링크입니다. 이 링크를 통해 구매한 경우 추가 비용없이 수수료를 받을 수 있습니다. 지원해 주셔서 감사합니다.
힘 센서에 관하여
힘 센서는 주어진 힘의 크기에 반비례하여 저항이 변하는 저항기입니다. 센서에 더 많은 힘이 가해질수록 센서의 저항은 더 작아집니다. 힘 센서는 물리적인 압박, 압력을 감지하는 어플리케이션에 적합합니다. 그러나 몇 파운드의 무게를 찾는 어플리케이션에는 적합하지 않습니다.
힘 센서 핀배열
힘 센서는 두 개의 핀을 가지고 있습니다. 저항기처럼, 이 핀들을 구분할 필요가 없습니다.
![힘 센서 사용법 핀아웃](https://newbiely.kr/images/tutorial/force-sensor-pinout.jpg)
힘 센서와 아두이노 나노 ESP32 간의 배선도
![아두이노 나노 ESP32 force 연결 배선도](https://newbiely.kr/images/tutorial/arduino-nano-esp32-force-sensor-wiring-diagram.jpg)
이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
힘 센서 프로그래밍 방법
저항은 전압에 비례합니다. ESP32의 아날로그 입력 핀을 사용하여 전압을 측정할 수 있습니다.
힘 센서의 핀을 아날로그 입력 핀에 연결함으로써 핀에서 아날로그 값을 읽을 수 있으며, 이는 전압 ⇒ 저항 ⇒ 힘(모두 상대값으로) 순으로 변환됩니다.
아두이노 나노 ESP32 코드
/*
* 이 아두이노 나노 esp32 코드는 newbiely.kr 에서 개발되었습니다
* 이 아두이노 나노 esp32 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다.
* 상세한 지침 및 연결도에 대해서는 다음을 방문하세요:
* https://newbiely.kr/tutorials/arduino-nano-esp32/arduino-nano-esp32-force-sensor
*/
#define FORCE_SENSOR_PIN A0 // 힘 저항기에 연결된 아두이노 나노 ESP32 핀
void setup() {
Serial.begin(9600);
}
void loop() {
int analogReading = analogRead(FORCE_SENSOR_PIN);
Serial.print("The force sensor value = ");
Serial.print(analogReading); // 원시 아날로그 읽기 값을 출력합니다.
if (analogReading < 10) // 0부터 9까지
Serial.println(" -> no pressure");
else if (analogReading < 200) // 10부터 199까지
Serial.println(" -> light touch");
else if (analogReading < 500) // 200부터 499까지
Serial.println(" -> light squeeze");
else if (analogReading < 800) // 500부터 799까지
Serial.println(" -> medium squeeze");
else // 800부터 1023까지
Serial.println(" -> big squeeze");
delay(1000);
}
사용 방법
아두이노 나노 ESP32를 처음 사용하는 경우, 아두이노 나노 ESP32 - 소프트웨어 설치을 참조하세요.
- 위의 코드를 복사하여 아두이노 IDE에 붙여넣으세요.
- 아두이노 IDE에서 Upload 버튼을 클릭하여 코드를 아두이노 나노 ESP32 보드에 컴파일하고 업로드하세요.
- 힘 센서를 누르세요
- 시리얼 모니터에서 결과를 확인하세요. 아래와 같이 보일 겁니다:.
COM6
The force sensor value = 0 -> no pressure
The force sensor value = 0 -> no pressure
The force sensor value = 132 -> light touch
The force sensor value = 147 -> light touch
The force sensor value = 394 -> light squeeze
The force sensor value = 421 -> light squeeze
The force sensor value = 607 -> medium squeeze
The force sensor value = 791 -> medium squeeze
The force sensor value = 921 -> big squeeze
The force sensor value = 987 -> big squeeze
The force sensor value = 0 -> no pressure
The force sensor value = 0 -> no pressure
Autoscroll
Clear output
9600 baud
Newline
동영상
비디오 제작은 시간이 많이 걸리는 작업입니다. 비디오 튜토리얼이 학습에 도움이 되었다면, YouTube 채널 을 구독하여 알려 주시기 바랍니다. 비디오에 대한 높은 수요가 있다면, 비디오를 만들기 위해 노력하겠습니다.