라즈베리파이 활용강좌 : 제 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로 콘솔 활성화
라즈베리파이가 부팅 후에 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 적용
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
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 모델은 별도의 드라이버 개발 없이 현재의 강좌 내용을 기준으로 적요잉 가능한 모델들입니다.
[참고사이트]
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/