ESP32에서 VEML 7700 조도 센서 사용하기

ESP32에서 VEML 7700 조도 센서 사용하기

VEML 7700 조도센서

앞서 라즈베리 파이 피코 보드에 적용(https://kongyine.com/223265950064) 했었는데, 이 VEML7700 조도계 센서를 ESP32보드에도 적용해 보고, 마이크로 파이썬으로 동작시켜 보면서 동작 여부, 라이브러리 적합성 등을 살펴보았다.

​

VEML은 I2C 방식 통신을 하는 소자로, 조명의 밝기를 측정하는 데 사용되는 디지털 센서로, 수천 원 정도로 구입이 가능한데,

​

또한, 전원으로 3.3V 또는 5V 모두 사용할 수 있어서,

3.3V 단자만 제공하는 ESP32에서도 사용하는데 문제가 없다.

​

ESP32보드와 연결

VEML7700의 3.3V와 GND를 ESP32의 3.3와 GND에 연결하고,

​

통신용으로 SDA와 SCL을 다음과 같이 ESP32보드의 GP21, GP22에 각기 연결했다.

​

VEML 7700 라이브러리

VEML7700동작을 위해 필요한 라이브러리를 Github에서 찾았으며,

​

다음 라이브러리 파일을 다운로드해 ESP32보드에 미리 저장해 두었다.

참고로 해당 라이브러리 파일을 첨부해둔다.

첨부파일

veml7700.py

파일 다운로드

 

​

Code 및 작동 모습

그리고 라즈베리 파이 피코 보드에서 사용했던 동작 코드를 그대로 가져다가, SDA 및 SCL 핀 번호만 바꾸어 동작시켜본다.

from machine import Pin, I2C
import utime
import veml7700

i2c = I2C(0, scl=Pin(22), sda=Pin(21), freq=10000)

veml = veml7700.VEML7700(address=0x10, i2c=i2c, it=100, gain=1/8)
while True:
    lux_val = veml.read_lux()
    print (lux_val)
    utime.sleep(0.3)

그리고, 다음과 같은 형태로 휴대폰의 조도계 앱에서 측정되는 값과 비교해 보았다.

​

동작하는 모습은 다음과 같으며, 화면에 나오는 VEML7700 센서의 측정값과, 휴대폰 조도 측정 앱과 큰 차이가 나지 않는 것을 볼 수가 있다.

​