OLED Display Control

 

우선 OLED Display는 Aliexpress에서 저렴한 item으로 구매하였습니다. (약 1300원)

해상도는 128 x 64이며, PSOC에서는 I2C로 control 합니다.
실제 Display를 control하는 chip은 Solomon Systecho의 SSD1306입니다.

해당 control chip과 관련된 library가 존재 합니다.
ssd1306.zip

PSOC에서 TopDesign은 아래와 같이 단순히 I2C와 VCC/GND만 연결해 줍니다.
VCC는 3.3V~5V를 지원하기에 Digital Output으로 High 값으로 해도 충분 합니다. 20mA Output을 가지니 충분한듯 합니다.
GND는 Low로 설정 하였습니다.

실제 main.c code입니다.

#include "ssd1306.h"
...
    I2COLED_Start();
    CyGlobalIntEnable;
    CyDelay(1000);
    
    display_init(DISPLAY_ADDRESS);    
    for(;;)
    { 
        // clearing display
        display_clear();    
        display_update();    

        // drawing a pixel
        gfx_drawPixel(10, 10, WHITE);    
        display_update();
         ... 
     }

단순하게 I2C component만 Start하고 나머지는 ssd1306의 library를 그대로 사용합니다.

실제 출력한 예제 화면 입니다.