?>

Hard Copy World

HCW

Q&A

Home > Forum >

Q&A

OLED 드라이버에 대한구동.

페이지 정보

작성자 meta 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 작성일16-08-24 13:31 조회775회 댓글3건

본문

안녕하십니까

비전공자로서 정말 많은 도움을 얻고 있습니다. 

정말 감사한 마음이 한가득입니다.

 

아두이노는 많이 만져 본 편인데 몇가지 질문이 생겨 고견 부탁드립니다.

크게 두가지 질문입니다.

 

1.i2c방식을 통해 2개의 디스플레이 (0.96)을 시리얼 통신으로 동시에 제어하는 것을 서칭을

통해 해결하였지만, 아두이노(나노)의 메모리 한계 때문인지 두번째 디스플레이가 버벅이는

문제가 발생합니다.메모리 버퍼를 각 디스플레이마다 지정하여 사용할 수 있는지요? 

 

2. 제가 사용하려 하는 oled (256 x 64 2.08") 의 드라이버가 sh1122 인데

아두이노에서 지원하는 라이브러리엔 포함되어있지 않은듯 합니다 (대부분 ssd 시리즈..)

혹시 아두이노에서 쉽게 사용할 수 있는 방법이 없는지 궁금하며

다른 방식으로 개발하게 된다면 어디에서 부터 출발하는게 좋을지요?

데이터 시트는 가지고 있습니다.

 

짧게라도 의견을 주시면 정말 감사하겠습니다.

 

 

댓글목록

최고관리자님의 댓글

최고관리자 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 작성일

1. 그래픽 버퍼는 아두이노 RAM 을 사용하게 됩니다. 128x64 사이즈면 화면 하나당 1KB를 잡아먹고 아두이노 우노 보드의 램이 2KB 입니다. 따라서 아두이노 메가나 32비트 보드를 사용하셔야 합니다. 만약 u8glib 를 사용한다면 램 사용량이 1/4~1/8 정도로 줄일 수 있습니다. 하지만 2개의 디스플레이를 사용할 경우 화면 리프레시 속도가 많이 느려질겁니다. (I2c 통신으로 각각 제어한다면 두 개의 디스플레이 I2C 주소 값을 다르게 사용해야 하는데 이 문제는 해결된 것으로 보겠습니다.)

2. SH1106 드라이버의 경우 전용으로 수정된 라이브러리가 있습니다.
http://www.hardcopyworld.com/gnuboard5/bbs/board.php?bo_table=lecture_tip&wr_id=31
해당 드라이버가 맞지 않는 경우 u8glib 가 사용 가능한지 확인해보세요.

최고관리자님의 댓글

최고관리자 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 댓글의 댓글 작성일

1. 아두이노 자체적으로 필요로 하는 메모리가 있고 I2C 또는 Serial 통신을 사용한다면 버퍼가 필요하기 때문에 메모리를 잡아 먹습니다. 현재 메모리 여유분이 거의 없기 때문에 문제의 소지가 있습니다. 리프레시 속도는 방법이 없습니다. 화면에 출력을 적게 하는 수 밖에요.

2. 일단 해당 라이브러리를 지원할 수 있는 32비트 보드를 찾아봐야 할 것 같습니다. teensy, ESP8266 기반 node MCU 보드 등에서 사용 가능한지 구글 검색해보세요. 정히 안되면... 그냥 라즈베리 파이에 붙이는 것도 좋을것 같습니다;;;