Home » 산딸기 가지고 놀기 » 라즈베리파이 활용강좌 : 제 2부 – 라즈베리파이 미니모니터 제작기 , 2.8” Touch TFT LCD 모듈 활성화

라즈베리파이 미니모니터 제작기 , 2.8” Touch TFT LCD 모듈 활성화

Created Date: 2013.11.19
Modified Date: 2014.02.09
revision 3.0

안녕하세요 산딸기마을 이장 나무꾼 입니다.

 

오늘은 ” 라즈베리파이 미니 모니터 제작기 제 1부 ” 에 이어서  TFT-LCD에 화면을 띄우는 방법에 대한 내용을 기술 하겠습니다.

 

4. TFT-LCD Drive 및 touch Module 활성화 등록

 

4.1 LCD Drive module 등록하기(부팅 시 TFT LCD 모듈 자동활성화)

 

pi@rasplay ~ $ sudo nano /etc/modules
modprobe fb_ili9320 dma
fbtft_device name=hy28a rotate=270 speed=48000000 fps=20#rotate 는 자신에게 맞도록 설정
ads7846_device pressure_max=255 y_min=190 y_max=3850 gpio_pendown=17 x_max=3850 x_min=230 x_plate_ohms=100 swap_xy=1 verbose=3
ads7846

* 위 붉은색 부분을 6번항목의 모델에 맞추어서 변경을 해 주면 notro 님이 제공한 모든 제품을 이용이 가능하다.

 

TIP : HY-28B 모델의 경우에는 아래와 같이 modules 에 등록 하세요.

modprobe fb_ili9325 dma
fbtft_device name=hy28b rotate=270 speed=48000000 fps=20 rotate 는 자신에게 맞도록 설정
ads7846_device pressure_max=255 y_min=190 y_max=3850 gpio_pendown=17 x_max=3850 x_min=230 x_plate_ohms=100 swap_xy=1 verbose=3
ads7846

아래와 같이 spi 포트를 통신이 가능하도록 활성화 해 주도록 하자.

pi@rasplay ~ $ sudo nano /etc/modprobe.d/raspi-blacklist.conf

#blacklist spi-bcm2708
#blacklist i2c-bcm2708

 

4.2 LCD로 콘솔 활성화

hy28a_2

라즈베리파이가 부팅 후에 console 화면을 볼 수 있도록 cmdline 에 폰트크기와 화면을 설정 해 주도록 하자.

 

pi@rasplay ~ $ sudo nano /boot/cmdline.txt
fbcon=map:10 fbcon=font:ProFont6x11 # 가장 마지막 줄에 추가
pi@rasplay ~ $ sudo reboot

라즈베리파이를 재부팅 후에 TFT-LCD에 콘솔 창을 띄우기 위해 아래 명령어를 입력 해 주도록 하자.

* 주의사항 : 재 부팅이 되지 않은 상태에서 아래 명령어를 수행 시에 아래와 같은 오류 메세지가 출력된다.

ioctl FBIOPUT_CON2FBMAP: Invalid argument

pi@rasplay ~ $ con2fbmap 1 1
pi@rasplay ~ $ con2fbmap 1

 

5. X11 LCD Drive 및 Touch drive 적용

hy28a_1

5-0. X11 에서 touch module 적용하기

 

가장 먼저 아래와 같이 몇 가지 TFT-LCD에  있는 터치 모듈을 제어 할 수 있는 소프트웨어를 설치해 주도록 하자.

pi@rasplay ~ $ sudo apt-get install libts-bin evtest xinput python-dev python-pip

 

5-1. X11 에서 startx 로 적용하기

 

아래 명령어를 입력하여 포인트 조정프로그램을 설치하고 터치 스크린에 포인트 조정을 합니다.

pi@rasplay ~ $ sudo pip install evdev
pi@rasplay ~ $ sudo TSLIB_FBDEVICE=/dev/fb1 TSLIB_TSDEVICE=/dev/input/event0 ts_calibrate

 

5-1-1. TFT-LCD에 startx 적용하기

pi@rasplay ~ $ sudo nano /etc/X11/xorg.conf
Section “Device”
Identifier “uga”
driver “fbdev”
Option “fbdev” “/dev/fb1”
Option “ShadowFB” “off”
EndSectionSection “Monitor”
Identifier “monitor”
EndSectionSection “Screen”
Identifier “screen”
Device “uga”
Monitor “monitor”
EndSection
Section “ServerLayout”
Identifier “default”
Screen 0 “screen” 0 0
EndSection
 sudo nano /usr/share/X11/xorg.conf.d/99-fbturbo.conf

Option          “fbdev” “/dev/fb0” : # 반듯이 주석 처리 할 것

5-1-2. X11에 Touch module 적용하기

 

[5-1-1]을 통해 TFT-LCD에 X11를 스크린을 띄울 수 있는 작업을 해 보았다.

하지만 우리가 사용한 LCD는 Touch 방식의 모듈이 탑재된 제품인 만큼 Touch Moudule을 이용해 X11을 사용 할 수 있도록 다음과 같이 적용해보자.

 

pi@rasplay ~ $ sudo nano /etc/X11/xinit/xinitrc
#!/bin/sh
# /etc/X11/xinit/xinitrc## global xinitrc file, used by all X sessions started by xinit (startx)
# Touch module add
DISPLAY=:0 xinput –set-prop ‘ADS7846 Touchscreen’ ‘Evdev Axis Inversion’ 0 1
# invoke global X session script. /etc/X11/Xsession

 

5-1-3. TFT-LCD에 X11 띄우기

pi@rasplay ~ $ FRAMEBUFFER=/dev/fb1 startx

6. 라즈베리파이 적용가능 TFT-LCD 정보

 

아래 TFT-LCD 모델은 별도의 드라이버 개발 없이  현재의 강좌 내용을 기준으로 적요잉 가능한 모델들입니다.

raspberryPi_lcdraspberryPi_lcd

lcd_1

lcd_2

[참고사이트]

o https://github.com/notro/fbtft/wiki/LCD-Modules#itdb02-28
o https://github.com/notro/fbtft/wiki/How-it-works
o https://github.com/notro/fbtft/wiki/FBTFT-image-build-process
o http://www.whence.com/rpi/

산딸기마을 포스트 검색

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

산딸기마을 기부하기

산딸기마을 방문자 현황

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