행복한 하루

라즈베리파이 제로 프로젝트(8) – Adafruit 5inch(800x480) TFT HDMI Backpack 설정하기 본문

RaspberryPi/Raspberry Pi Zero

라즈베리파이 제로 프로젝트(8) – Adafruit 5inch(800x480) TFT HDMI Backpack 설정하기

변화의 물결 2020. 10. 28. 11:18

 

 

안녕하세요.

 

  라즈베리파이 제로 제품으로 UI 프로그램이 지원되기 때문에 무겁지 않은 프로그램 같은 경우 UI 프로그램을 개발 가능할 것으로 보입니다. 그리고 외부에서 입력/출력이 되려면 터치가 되는 LCD가 좋은 선택이 되리라 생각됩니다. 그래서 이번에 5인치 터치 모델을 테스트해보게 되어서 내용 공유해봅니다.

 

 1. 간략 설명

  TI사의TFP401 칩이 적용되어 있고, 저항막 타입의 터치패널 드라이버 AR1100 USB를 지원합니다.  TFP401 TTL 디스플레이를 DVI/HDMI 디코더로 암호화되지 않은 비디오를 받아 raw 24 bit 컬러 픽셀 데이터로 출력합니다.

  기본적으로 1,080p까지의 25-126MHz 픽셀 클럭의 어떤 해상도도 디코딩이 가능합니다. 모듈에는 백라이트(Backlight) 드라이버와 TTL 디스플레이 패널을 동작시키는데 필요한 보조 회로들이 추가되어 있습니다.

2. 준비사항

  라즈베리파이 제로에 있는 mini HDMI 단자를 HDMI 단자로 변환해주는 젠더와 micro USB USB로 변환해주는 젠더가 필요합니다. 그리고 일반 모니터에 사용하는 HDMI 케이블과 USB로 충전할 때 사용하는 micro USB 단자 케이블 이렇게 4가지가 필요합니다.

 

  그러나 젠더 필요 없이 바로 mini HDMI에서 HDMI 연결해주는 케이블과 micro USB에서 micro USB로 연결해주는 케이블이 있다면 2개만 있으면 됩니다.

mini HDMI, micro USB 젠더

3. 환경파일 설정

  아마 그냥 사진과 같이 연결하면 화면이 불량인 것처럼 한쪽이 잘려서 나타납니다. 그래서 라즈베리파이 제로 부팅 시 사용되는 설정 파일에서 LCD 해상도를 바꿔주어야 합니다.

잘려진 화면과 케이블연결

 

- 환경 파일 수정 (/boot/config.txt)

 pi@raspberrypi:~ $ vim /boot/config.txt

 

- HDMI 관련된 부분을 수정해줍니다. 그리고 재부팅하면 화면에 맞게 부팅이 되고 화면이 나오는 것을 확인할 수 있습니다. 라인 번호는 다를 수 있습니다

 

25번 줄 : hdmi_force_hotplug=1    (# 삭제)

28번 줄 : hdmi_group=2

          hdmi_mode=89

          hdmi_cvt=800 480 60 6 0 0 0

 

# uncomment if you get no picture on HDMI for a default "safe" mode
#hdmi_safe=1

# uncomment this if your display has a black border of unused pixels visible
# and your display can output without overscan
#disable_overscan=1

# uncomment the following to adjust overscan. Use positive numbers if console
# goes off screen, and negative if there is too much border
#overscan_left=16
#overscan_right=16
#overscan_top=16
#overscan_bottom=16

# uncomment to force a console size. By default it will be display's size minus
# overscan.
#framebuffer_width=1280
#framebuffer_height=720

# uncomment if hdmi display is not detected and composite is being output
hdmi_force_hotplug=1
# uncomment to force a specific HDMI mode (here we are forcing 800x480!)
hdmi_group=2
hdmi_mode=89
hdmi_cvt=800 480 60 6 0 0 0
hdmi_drive=1
max_usb_current=1

# uncomment to force a HDMI mode rather than DVI. This can make audio work in
# DMT (computer monitor) modes
#hdmi_drive=2

# uncomment to increase signal to HDMI, if you have interference, blanking, or
# no display
#config_hdmi_boost=4
# uncomment for composite PAL
#sdtv_mode=2

#uncomment to overclock the arm. 700 MHz is the default.
#arm_freq=800

# for more options see http://elinux.org/RPi_config.txt

 

 

 

정상적인 화면 출력

4. 터치패널

  타 회사 5인치 터치패널과 달리 패널에 장착된 USB로 전원과 데이터 신호로 사용하고 있습니다.

  라즈베리파이 제로 micro USB와 LCD의 micro USB 포트가 연결되어 있다면 AR1100 USB touch driver 로 인식하여 라즈베리파이 제로는 USB 마우스처럼 인식해서 바로 사용할 수 있습니다.

  (PC에 연결할 경우 정확하지는 않지만 마우스처럼 이동이 가능합니다. 그러나 추천하지 않습니다. ^^;)

 

  큰 아이콘 터치는 문제는 없지만, 터치 좌표가 약간 오차가 있어서 작은 아이콘 UI 프로그램 개발한다면 보정(Calibration) 작업이 약간 필요해 보입니다.

 

5. 기타사항

 1) 라즈베리파이 제로에 전원 공급은 2A 지원하는 파워서플라이(어댑터) 사용할 것을 권장하고 있습니다

    테스트는 PC USB 포트로 테스트했을 때는 문제가 없었습니다. 그러나 다른 제어나 회로가 추가되면 전원 부족으로 꺼질 수 있으니 안정된 전원 공급을 추천합니다. USB 허브를 사용할 경우도 전원 공급이 별도로 되는 것을 권장하고 있습니다.

 

  2) EEPROM Backlight Control도 가능하다고 합니다. 이 부분을 사용하려고 한다면 첨부한 자료를 참고해보시면 도움이 될 것입니다.

 

adafruit-5-800x480-tft-hdmi-monitor-touchscreen-ba-932828.pdf
1.62MB

 

감사합니다.

 

 

Comments