아두이노로 LCD 사용하기#3

안녕하세요 대짜이찐입니다.

이전에 LCD를 제어하는 방법에 대해 포스팅 한적이 있습니다.


이번에는 128x64 그래픽 LCD를 사용해서
이미지를 출력하는 예제를 한번 보여드리겠습니다.


회로도와 라이브러리는 이전 포스팅과 같습니다. 
 
NO.아두이노그래픽 lcd비고
1GNDGNDGround
2+5VVCCVcc

3


-

VO

Contrast Adjustment
4D10RS(D/I)Resistor Select
5D11R/WRead/Write
6D12EEnable
7D2DB0Data Bus 0
8D3DB1Data Bus 1
9D4DB2Data Bus 2
10D5DB3Data Bus 3
11D6DB4Data Bus 4
12D7DB5Data Bus 5
13D8DB6Data Bus 6
14D9DB7Data Bus 7
15+5VPSBInterface Selection
16-NCNot Connect
17-RSTReset

18


-

VOUT

Output LCD Voltage
19+3.3VBLABack Light Anode

20

GND

BLK

Back Light Cathode


이전 포스팅의 출력 결과입니다.


이번에는 U8Glib라이브러리에 있는 Bitmap이라는 예제를 사용해서
이미지를 출력할 예정입니다.

#include "U8glib.h"

 

// 8Bit Com: D0~D7= 2,3,4,5,6,7,8,9 EN=12, D/I(RS)=10, RW=11

U8GLIB_ST7920_128X64_1X u8g(2, 3, 4, 5, 6, 7, 8, 9, 12, 10, 11); 

 

const uint8_t rook_bitmap[] U8G_PROGMEM = {

 

// graphic code insert

 

};

void setup()

{

  

}

 

void draw(void)

{

  u8g.drawBitmapP( 0, 0, 16, 128, rook_bitmap);

  u8g.setFont(u8g_font_unifont); // font setting

}

 

void loop()

{

  //picture loop

  u8g.firstPage();

  do

  {

       draw();

  }

   while(u8g.nextPage());

}

Colored by Color Scripter

cs


코드는 위의 Bitmap 예제에서 몇가지를 제거한 코드입니다.
graphic code insert 부분에 원하는 이미지의 소스를 넣으면 동작합니다.

원하는 이미지의 소스를 어떻게 얻을까요


LCD Assistant라는 프로그램을 사용하면 됩니다.
해당프로그램은 아래링크에서 다운로드 가능합니다.

다운을 받으셨다면, 원하는 이미지를 그림판으로 열어주세요.


그림판에서 이미지- 크기조정을 통해 픽셀을 가로 128 세로 64로 바꿔줍니다.


그리고 다른 이름으로 저장 -> BMP 그림으로 선택해주세요.


그리고 파일 형식을 단색 비트맵.bmp로 해주시기 바랍니다.

흰색/검은색 두가지 색으로 만들어주는 기능입니다.


이렇게 단색 비트맵파일이 만들어졌다면,


아까 다운로드 한 LCD Assistant 프로그램에서 Load image를 통해 
해당 파일을 불러와주세요


그리고 Byte orientation을 Horizontal로 선택해주시고
                

Save output을 통해 저장해줍니다.

저장한 파일을 메모장을 이용해서 열어보면 이렇게 이미지 소스를 얻을 수 있습니다.

해당 부분을 복사해서 아두이노 코드의 
graphic code insert 부분에 복사 붙여넣기 해주고 업로드 하면 됩니다.


제대로 동작하는것을 확인할 수 있습니다.

본포스팅에 사용된 모든 부품은 디바이스마트에서 구매하실 수 있습니다.
128x64 그래픽 lcd -https://www.devicemart.co.kr/goods/view?no=12500012
감사합니다.

댓글 쓰기

0 댓글