반응형
ESP32 에는 자기장을 감지하는 홀센서(Hall Sensor) 가 내장되어 있다. 홀센서는 미국의 물리학자인 홀이 발견한 홀효과(Hall Effect)를 이용한 센서이다. 홀효과는 도체가 자기장 속에 놓여 있을 때 그 자기장에 직각방향으로 전류를 흘려주면 자기장과 전류 모두에 수직인 방향으로 전위차가 발생하는 현상이다. 홀효과에 대한 자세한 사항은 여기를 참고한다.
ESP32 아두이노 개발환경을 설치하는 방법은 지난 번 포스팅을 참고한다.
■ 스케치
소스는 간단하다. 자기장이 감지되면 ESP32 개발보드에 내장된 LED를 켜고 나이면 끈다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | int LED_BUILTIN=2; void setup() { pinMode(LED_BUILTIN, OUTPUT); Serial.begin(115200); } void loop() { int measurement = 0; measurement = hallRead(); Serial.print("Hall sensor measurement: "); Serial.println(measurement); if (measurement >= 20) { digitalWrite(LED_BUILTIN, HIGH); } else { digitalWrite(LED_BUILTIN, LOW); } delay(500); } | cs |
시리얼모니터 상에서 평상시에는 20을 넘지 않아 자기장 감지의 기준을 20으로 정했다. 감도는 정해진 것이 아니므로 감지할 자기장의 세기에 따라 감도값을 조절하면 될 것이다.
막대자석을 ESP32칩 부분에 가까이 가져가면 자기장을 감지해서 LED가 켜지고 아니면 꺼지는 것을 볼 수 있다.
이걸 어떤 곳에 이용할 수 있을까? 일반적으로 홀센서는 모터의 회전속도를 감지하는데 많이 쓰인다고 하는데 ESP32의 경우 블루투스나 인터넷 통신이 가능하므로 자기장 감지 시 스마트폰 같은 장치로 알려주는 기능도 만들 수 있을 것이다. 아무튼 이번에는 ESP32에 내장된 센서를 테스트 해 봤다는 데에 의의를 두어본다.
반응형
'ESP32' 카테고리의 다른 글
[ESP32] 내장된 온도센서의 사용 (2) | 2018.10.17 |
---|---|
[ESP32] NTP 서버를 통한 현재시간 구하기 (0) | 2018.10.12 |
[ESP32] 터치센서의 이용 (0) | 2018.10.11 |
[ESP32] 아두이노 IDE 에서 개발환경 만들기 (0) | 2018.09.05 |
[ESP32] ESPRESSIF ESP32 오버뷰 (ESP32 Overview) (0) | 2017.09.25 |