CAFE

한국직업능력교육원

[스크랩] [Arduino 실습 46] Arduino I2C OLED U8G2 LIBRAY 포팅하기-1

작성자송명규|작성시간26.06.10|조회수25 목록 댓글 0

2단계 인 U8G2 라이브러리 Arduino 보드에 포팅을 해보고자 한다.

더 나아가 ESP32에도 포팅이 가능하리라 본다.

ARM MCU 부분은 제가 이미 3-4년전에 포팅을 완료하였다.

차후 MCU 수업할때 맛보기로하고...

2단계도 크게 어려울게 없을 거 같다.

본인이 주로 사용하는 라이브러리이므로...

 

여기서 조금 수정하면 바로 ESP32에도 포팅할 수 있습니다.

이 부분은 ESP32 수업시간에 같이 해보도록 하겠습니다.

 

1. Arduino용 U8G2 LIB 설치 == ESP32에서도 적용

2. OLED 초기화

 설치 후 예제코드를 불러와 실행하면 아무것도 실행안되고 빌드에러만 난다.

우리는  HW I2C IF이므로 다음과 같이 수정한다

둘중 하나일 것이다. 해당 라인을 찾아서 맨 앞 //을 제거한다.

 

//  HW I2C ==  U8G2 용

U8G2_SSD1306_128X64_NONAME_F_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE);

          // U8G2_R0 ~ U8G2_R3 까지 있습니다.  표시 방향이 상하좌우가 바꾸어 집니다.

 

// HW I2C == u8x8용

U8X8_SSD1306_128X64_NONAME_HW_I2C u8x8(/* reset=*/ U8X8_PIN_NONE);

 

// SW I2C == U8G2용

U8G2_SSD1306_128X64_NONAME_F_SW_I2C u8g2(U8G2_R0, 2, 3 /* reset=*/ );

 

3. 예제소스 실행

    3.1 u8x8용 그래픽 표시

   3.2 u8g2용 그래픽표시

 

3.3 u8g2 Logo 표시

 

전반적으로 초기화만 할줄 알며는 아주쉽게 잘 동작하는 거 같다.

처음에 초기화 할줄 몰라서 빌드에러는 냈지만....

하드웨어 IF에 맞게 설정만 해주면 u8x8 라이브러리이든, u8g2 라이브러리이든 잘 동작하는 걸 확인할 수 있다.

참고로 u8x8 라이브러리는 업그레이드가 중지되고, u8g2 라이브러리로 대체되었으나

u8g2 라이브러리에는 u8x8 라이브러리도 통합되어 지원한다.

 

아래링크 참고

https://github.com/olikraus/u8g2

https://github.com/olikraus/u8g2/wiki

 

다음검색
현재 게시글 추가 기능 열기

댓글

댓글 리스트
맨위로

카페 검색

카페 검색어 입력폼