Home » 산딸기 가지고 놀기 » 라즈베리파이 활용강좌 : 제 1부 – 라즈베리파이 미니모니터 제작기 , 2.8” Touch TFT LCD 적용하기(SPI Interface)

라즈베리파이 2.8” Touch TFT LCD 만들기

(* OS Image 는 `14년 01월 07일자 공식 Raspbian으로 테스트 됨)

 

Created Date: 2013.11.10
Modified Date: 2014.04.20
revision 5

안녕하세요 나무꾼 입니다. 현재 저는 TF-LCD를 이용해 라즈베리파이를 사용 중에 있습니다.

 

키보드 와 마우스는 블루투스로 페이링을 통해 이용 중이며, 모니터는 2.8″ TFT-LCD 인 HY28a 제품을 이용해 담배값 크기의 컴퓨터로 활용 중에 있습니다.

hy28a_2

hy28a_1

 

hy28a

0. 라즈베리파이 와 2.8 Inch LCD(HY28A) 결선도

 

0. 진행 전 필수 점검사항

2014년 04 월 20 일 고지사항 : 라즈베리파이 재단 측 Firmware Update 진행과정 변경에 따른 필수 사항 발생.

: 영국 라즈베리파이 재단의 펌웨어 업데이드 시스템 구조 변경에 따른 현상으로 추정되며 아래 과정 없이는 자동스크립트나 이하, FBTFT 가 적용되지 않음.

 

0.1 라즈비안 커널 버젼 확인.

 

아래 명령어를 이용하여 현재의 라즈비안 커널 버젼을 확인 하자.(설치 버전에 따라 차이 발생함)

pi@rasplay ~ $ uname -a

firm_0

 

0.2 라즈비안 펌웨어 업데이트

 

위 과정을 통해 라즈비안의 펌웨어 버전을 확인이 되었다면 다음 과정을 통해 펌웨어를 반듯이 업데이트 하여 주도록 하자.

이 과정이 없이는 ㅆTFT-LCD 설치에 대한 자동 또는 수동 업데이트 과정이 진행 되지 않음을 알고 있어야 한다.

 

pi@rasplay ~ $ sudo wget https://raw.github.com/Hexxeh/rpi-update/master/rpi-update -O /usr/bin/rpi-update && sudo chmod +x /usr/bin/rpi-update
pi@rasplay ~ $ sudo rpi-update

 

업데이트가 완료되었다면 재부팅 후, 아래 사진과 같이 Kernel 버젼이 업데이트 되었는지 반듯이 확인을 해 보도록 한다.

pi@rasplay ~ $ sudo reboot
pi@rasplay ~ $ uname -a

firm_1

 

 

1. 라즈베리파이 UPDATE 및 UPGRADE 하기

fbtft를 사용하기 전에 가장먼저 커널에 HY28A LCD 드라이브를 커널컴파일 해주어야 하지만, 우리는 기존에 컴파일일 완료된 라즈베리파이 펌웨어를 이용할 예정이기 때문에 라즈베리파이 관련 파일들을 업그레이드 만 해 주도록 하자.

pi@rasplay ~ $ sudo apt-get update
pi@rasplay ~ $ sudo apt-get upgrade -y

Reading package lists… Done

Building dependency tree

Reading state information… Done

0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

 

2. 라즈베리파이 wiringPi 설치

LCD를 사용하는 인터페이스는 크게 5가지 종류로 나뉘어지고, 이 중 우리가 사용하는 TFT-LCD는 SPI Interface로 적용이 되어야 하므로 WiringPi를 사전하고, FBTFT로 펌웨어를 업데이트 작업을 해 주어야만 LCD가 정상 구동이 된다.

  • RGB 인터페이스

  • CPU 인터페이스(I80, M68)

  • SPI 인터페이스

  • MDDI 인터페이스

  • MIPI 인터페이스

 

pi@rasplay ~ $ git clone git://git.drogon.net/wiringPi

Cloning into ‘wiringPi’…

remote: Counting objects: 489, done.

remote: Compressing objects: 100% (431/431), done.

remote: Total 489 (delta 341), reused 95 (delta 58)

Receiving objects: 100% (489/489), 209.46 KiB | 159 KiB/s, done.

Resolving deltas: 100% (341/341), done.

pi@rasplay ~ $ cd wiringPi
pi@rasplay ~/wiringPi $ ./build

wiringPi Build script

=====================

WiringPi Library

……

GPIO Utility

[Compile] gpio.c

[Compile] extensions.c

[Link]

[Install]

All Done.

NOTE: This is wiringPi v2, and if you need to use the lcd, Piface,

 Gertboard, MaxDetext, etc. routines then you must change your

 compile scripts to add -lwiringPiDev

 

3. FBTFT Drive Kernel Change(Firmware update)

그럼 사전 준비 마지막 작업으로 FBTFT Drive 가 생성된 커널이미지 교체를 위해선 다음과 같이 firmware를 교체 해 주도록 하자.

 

3-1. 펌웨어 업데이트(Firmware update) 준비

 

pi@rasplay ~ $ sudo wget https://raw.github.com/Hexxeh/rpi-update/master/rpi-update -O /usr/bin/rpi-update && sudo chmod +x /usr/bin/rpi-update

-update -O /usr/bin/rpi-update && sudo chmod +x /usr/bin/rpi-update

–2013-09-22 04:30:01–  https://raw.github.com/Hexxeh/rpi-update/master/rpi-update

Resolving raw.github.com (raw.github.com)… 103.245.222.133

Connecting to raw.github.com (raw.github.com)|103.245.222.133|:443… connected.

HTTP request sent, awaiting response… 200 OK

Length: 6782 (6.6K) [text/plain]

Saving to: `/usr/bin/rpi-update’

100%[======================================>] 6,782       –.-K/s   in 0.002s

2013-09-22 04:30:07 (3.77 MB/s) – `/usr/bin/rpi-update’ saved [6782/6782]

 

3-2. 기존 모듈(module)드라이브 백업

 

pi@rasplay ~ $ sudo mv /lib/modules/$(uname -r) /lib/modules/$(uname -r).bak

 

3-3. FBTFT 드라이브 펌웨어 업데이트(FBTFT kernel image addon)

 

pi@rasplay ~ $ sudo REPO_URI=https://github.com/notro/rpi-firmware rpi-update afe7e2abbf5cd7b8a25931e0eb2ca52a42bab7f6

 

3-4. FBTFT 드라이브 펌웨어 업데이트(FBTFT kernel image addon)

 

FBTFT module drive가 적용된 펌웨어 교체를 방지하기 위해서 아래와 같이 bootloader 가 업데이트 되지 않도록 hold 명령어를 적용 해 주도록 하자.

 

pi@rasplay ~ $ sudo apt-mark hold raspberrypi-bootloader
pi@rasplay ~ $ sudo reboot

 

다음 이 시간에는 TFT-LCD 활성화 및 환경설정을 통해 라즈베리파이에 연결한 TFT-LCD를 세팅 해 보도록 하자.

 

[참고사이트]

http://www.hotmcu.com/28-touch-screen-tft-lcd-with-spi-interface-p-42.html

https://github.com/notro/fbtft/wiki

산딸기마을 포스트 검색

공동제작 공동프로젝트 무상후원 기관

산딸기마을 기부하기

산딸기마을 방문자 현황

Flags Countries Visits Page views
South Korea 626063 1845660
United States 10882 26091
Japan 5011 13204
Germany 2755 5151
India 1897 2902
Canada 1729 4640
United Kingdom 1596 2642
Australia 1240 2901
Russia 1219 1677
China 1077 2239
Total Pageviews: 1936700