', { cookie_domain: 'auto', cookie_flags: 'max-age=0;domain=.tistory.com', cookie_expires: 7 * 24 * 60 * 60 // 7 days, in seconds }); 타오바오 구매물품 정리 - 128*64 SPI 흑백 LCD :: MakerLee's Workspace
728x90

https://item.taobao.com/item.htm?spm=a1z09.2.0.0.67002e8dykevhK&id=719496047532&_u=b20ahlk00s4047 

 

https://item.taobao.com/item.htm?_u=b20ahlk00s4047&id=719496047532&spm=a1z09.2.0.0.67002e8dykevhK

 

item.taobao.com

128*64 SPI 흑백 도트 그래픽 LCD.

개당 500원 정도 

 

 

 

 

 

 

Wemos D1 그래픽 LCD
GPIO4(D2) BUSY
GPIO2(D4) RESET
GPIO0(D3) DC
GPIO15(D8) CS
GPIO14(D5) = SCLK SCK(CLK)
GPIO13(D7) = MOSI DIN(SDI)
GND GND
3.3V VCC

모듈의 케이블은 9가닥으로 

1-CS,2-RST,3-DC,4-SCK,5-SDA,6-VCC+3V,7-Gnd,8-Led-,9-Led+3V 순입니다. 

 

 

 

U8G2 라이브러리에서 ST7565를 사용하면 됩니다. 

 

//U8G2_ST7565_ERC12864_F_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 15, /* dc=*/ 0, /* reset=*/ 2);
//U8G2_ST7565_NHD_C12864_F_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 15, /* dc=*/ 0, /* reset=*/ 2);
//U8G2_ST7565_ERC12864_ALT_F_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 0, /* reset=*4/ 2);
//U8G2_ST7565_JLX12864_F_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 0, /* reset=*/ 2);

위 라이브러리들을 테스트해봤는데 모두 동일한 증상이 있습니다. 

 

 

 

 

 

컨트라스트가 매우 흐리고 시작 좌표가 중간쯤부터 시작이 됩니다. 

 

 

 

 

 

 

컨트라스트 문제는 U8g2 명령어인

u8g2.setContrast(250);

를 쓰니 해결되었습니다. 

하드웨어에 따라 콘트라스트 수치는 직접 적당하게 수정해야 합니다. 

 

 

다만 좌표가 이상하게 나오는 문제는 해결되지 않았습니다. 

https://github.com/olikraus/u8g2/issues/123

 

Support for Adafruit St7565 · Issue #123 · olikraus/u8g2

It appears the Adafruit version of the ST7565 is not supported. This was the U8GLIB_LM6059 constructor in U8glib. The U8G2_ST7565_EA_DOGM128_1_4W_SW_SPI starts rendering the display about halfway d...

github.com

검색해 보니 비슷한 케이스에서 라이브러리를 수정해 X좌표를 옮길 수 있는 것 같습니다. 

다만 제 실력으론 Y좌표까지 라이브러리에서 수정하기는 힘든 것 같고 스케치 상에서 오프셋을 적용시켜

Y좌표에 +32를 해 주니 정상적으로 출력은 됩니다. 

 

728x90

+ Recent posts