이번에 외주 개발 의뢰를 받았다.
waveshare 사의 EPD 즉 전자잉크 디스플레이를 사용한 제품 개발이었어서 처음사용해보는 김에 정리를 해보려 한다.
일단 ESP32 나 ESP8266 이나 아두이노등 대부분의 MCU와 라즈베리파이에서 waveshare의 전자잉크 디스플레이를 사용할 수 있다.
다만 SPI 통신으로 사용해야 하는데, 귀찮기 때문에 waveshare의 전용 커넥터와 통신칩을 이용하는 것이 편하긴 하다.
본 포스팅에서는 ESP32 로의 사용을 다루고 있으며, 전용 커넥터를 이용하여 편하게 개발하는 상황을 담고있다.
사용된 부품 목록
1.54 인치의 전자잉크 디스플레이 E-INK raw display
>> 해외 구매로 진행되었다.
<구매주소>
https://www.waveshare.com/product/displays/e-paper/epaper-3/1.54inch-e-paper.htm
waveshare 에서 기존의 esp32 보드에 디스플레이 제어용 칩셋 드라이버를 내장시킨 esp32 개발보드이다.
이 esp32 개발보드와 전자잉크 디스플레이만 있으면 작동구현을 할 수 있다.
<구매주소>
https://www.waveshare.com/e-paper-esp32-driver-board.htm
다만 처음 개발 할 때에는 개발이 편해야 하기 때문에 연장 커넥터도 추가로 있으면 좋다.
케이블을 연장하지 않고 사용한다면 불편할 수 밖에 없다.
연장하게 된다면 위의 사진처럼 세팅하여 개발을 시작하게 된다.
1. Arduino IDE 개발환경 세팅
우선 아두이노로 ESP32 개발이 처음이신 분들은 ESP32 개발 세팅을 마쳐야한다.
https://diyver.tistory.com/203
개발 환경 세팅이 안된 경우 위에서 세팅을 마치고 오면 된다.
기존에 한번이라도 ESP32 코딩해서 업로드 했던 경험이 있다면 위의 작업은 생략해도 된다.
2. 관련 라이브러리 설치
<공식 홈페이지 라이브러리 제공 url>
https://www.waveshare.com/w/upload/5/50/E-Paper_ESP32_Driver_Board_Code.7z
위의 링크로 라이브러리를 다운 받아도 되고,
아래의 필자가 올린 파일을 다운 받아도 된다.
파일을 다운받아 압축을 풀고,
압축 풀린 폴더 안을 보면 "esp32-waveshare-epd" 라는 폴더를 자신의 아두이노 설치된 폴더로 가서 libraries 폴더에 붙여넣으면 된다.
보통 문서 >> arduino >> libraries 에 있으므로 그렇게 확인하면 되겠다.
이렇게 하면 사용하기에 대부분의 준비가 끝난 것이다.
이제 코딩만 해서 업로드 해주면 사용 가능하다.
3. 구동 테스트
waveshare 에서 제공한 예제파일로 테스트를 해보자.
필자의 경우 1.54인치 raw EPD이므로 해당 디스플레이에 맞는 예제를 선택한 것이다.
다른 디스플레이를 갖고있다면 다른 코드로 테스트 해야할 것이다.
코드를 업로드 하기전에 확인해야 할 것이 있다.
ESP32 보드에 보면 해당 트리커 조절 스위치가 있는데,
트리거가 A 와 ON에 위치하게 해야한다.
A는 작은 해상도 용이고, B는 큰 해상도 용으로 보면 되고,
ON 과 OFF는 코드 업로드 제어관련 스위치 이다.
ON이 되어 있어야 코드 업로드가 된다는 것이다.
여기까지 된 것을 확인하고 코드를 업로드하면
EPD에 화면이 들어오는 것을 확인할 수 있다.
이렇게 화면이 들어오면 정상 작동 하는 것이다.
이 때 몇번의 깜빡거림이 있을 수 있으며, EPD 의 정상적인 작동 방식이다.
전자잉크는 적은 전기에너지로 작동해서 좋지만, OLED나 다른 LCD 처럼 화면이 빠르게 작동하지 않는 문제가 있다.
컬러 구현에 있어서도 당연히 OLED 나 LCD 처럼 깔끔하게 출력 되지는 않는다.
전자잉크 디스플레이는 단지 초저전력 제품 개발에 의미가 있는 제품이다.
몇 번 더 사용해보고 블로그에 기록 남길만한 사항들을 추가적으로 남겨보도록 하겠다.
'코딩 > 아두이노' 카테고리의 다른 글
아두이노 바코드 리더기로 바코드 찍는 방법 GM-65 (4) | 2022.09.07 |
---|---|
waveshare 전자잉크 폰트크기 변경하는 방법 (0) | 2022.09.07 |
아두이노 delay 없이 1초마다 작동하는 코드 (1) | 2022.07.18 |
LOLIN D32 코드 업로드 오류(fatal error) 뜰 때, 해결 방법 (0) | 2022.06.09 |
ESP8266 외부인터럽트 에러 해결 방법 (2) | 2022.05.30 |
댓글