중소기업 UHD TV, 모니터 활용기

큰 모니터에 대한 선호와 중소기업 UHD TV의 가격으로 인해 충동적으로 구매해. 이를 모니터로 활용하기 위한 삽질이 담긴 사용기입니다.

결론부터 이야기 하면 DP 바이패스 제품 나오기 전까지는 비추입니다.

제가 사용중인 TV는 더함의 55인치 커브드 제품입니다. http://prod.danawa.com/info/?pcode=5136696

여담이지만 4K는 최소 50인치는 되야 모니터로 활용할 수 있는 픽셀피치가 나옵니다. 눈을 좀 더 편안하게 하고 싶으면 55인치를 매우 추천합니다.


중소기업이라고 하지만 그냥 특정 중국공장에서 제조되는 제품을 자기 브랜드 스티커만 붙이고 나온제품이 수두룩하기 때문에 MSTAR 3458칩셋을 달고나온 제품에 도움이 될까 싶어서 작성합니다. 하단부 영상과 동일한 UI를 가지고 있는 제품이라면 도움이 될듯 싶습니다.

상단의 엑셀 표에 제가 사용하는 설정 값을 총 정리 하였습니다. 차례대로 버튼을 눌러 메뉴에 진입하면 됩니다. 1147은 팩토리 메뉴에 들어가기 위한 숫자키 입니다. 

위 설정값 대로 설정하면 얼추 모니터로 보기 좋은 결과를 얻을 수 있습니다.  다만 RGB게인 값을 주는 것은 패널마다 색온도의 차이가 발생하기 때문에 별도의 캘리브레이션 장비로 측정하여 맞추는 것을 추천합니다. 백라이트로 적정 조도값을 맞추는 것도 마찬가지입니다.

PWM는 TV패널의 한계인지 응답속도가 느려 이를 줄여보기 위해 임의로 플리커를 줬습니다. 60Hz주사율이기에 120으로 맞췄습니다. 또한 제가 사용한 커브드패널의 특성인지 매우 거슬리는 특이현상이 발생해 어쩔 수 없는 선택이 되었습니다. 상세내용은  https://www.clien.net/service/board/use/11987604


소리 부분도 TV마다 매우 상이하기 때문에 크게 도움이 되지 않습니다만, TV스피커 유닛 특성상 크게 벗어나지 않아 엑셀 표와 같이 설정하는게 도움이 될 것이라 생각합니다. 그렇기에 세부설정인 PC에서 별도의 프로그램으로 EQ를 적용하는 부분은 같은 제품이 아닌이상 적용하지 않는걸 추천합니다. EQ설정 방법은 http://tcom.tistory.com/8

제가 쓰는 모델에서 EQ까지 적용하면 매우 놀라운 소리를 들려줍니다. 책상위에 올려 모니터로 사용하는 특성상 저역대가 어느정도 확보가 되기에 더 그렇게 느껴집니다. 유닛 특성상 (극)저역대는 전멸이라는 것을 고려했을때 입니다.


세팅을 다 하고 만족스러운 화면과 소리가 나오지지만 상당히, 매우, 엄청 치명적인 문제 발생됩니다.

일부 설정이 TV를 껐다켜면 초기화 되는 문제가 있습니다. 그것도 영향을 매우 크게 미치는 부분이 말이죠(특히. 감마값).  TV펌웨어를 뜯어고쳐서 기본값을 아예 변경하고자 했으나 원본 펌웨어도 구할 수 없을 뿐더러.. 벽돌이라도 되면 매우 난감해지기 때문에 정말 무식한 해결방법을 실천했습니다.


아두이노로 하드웨어 매크로를 만들었습니다. PC가 켜지면 자동으로 TV가 켜지고 설정값을 입력하게 됩니다. 이쯤되니 인간승리의 기운이 느껴집니다. 기왕 여기까지 온김에 3D프린터로 케이스를 출력해 이쁘장하게 쓸 생각입니다. (글레어 패널이라 반사되어 영상에 블러 씌우는데 애먹었습니다ㅠ)


영상을 보신 분이면 왜 제가 서론 부분에서 비추를 했는지는 바로 이해하셨을겁니다. TV는 TV인터라 모니터에서 기본적으로 지원되었어야 할 부분들이 빠져 있습니다. 빠져있는 부분이 굉장히 치명적으로 실사용시 매우 큰 불편을 초래합니다. 이 부분을 다른설정으로라도 보완하기 위해 삽질을 하다보니 저 같은 경우에는 일이 너무 커졌습니다.


부록.

기왕 하드웨어 자원까지 소모한김에 아날로그 감성으로 TV볼륨까지 제어하게 만들었습니다. 옛날 사람이라 그런지 역시 음량은 돌리는게 편하네요.


아두이노 회로도와 코드를 추가합니다. IRremote라이브러리가 필요합니다.

#include <IRremote.h>

#define VOLS 13  //볼륨규모 작을수록 범위가 넓어짐

#define VAL analogRead(A0)

#define BTT 18  //버튼누름 유지시간

#define _POWER irsend.sendNEC(0x20DF10EF,32);delay

#define _MENU irsend.sendNEC(0x20DFC23D,32);delay

#define _LEFT irsend.sendNEC(0x20DFE01F,32);delay

#define _RIGHT irsend.sendNEC(0x20DF609F,32);delay

#define _UP irsend.sendNEC(0x20DF02FD,32);delay

#define _DOWN irsend.sendNEC(0x20DF827D,32);delay

#define _1 irsend.sendNEC(0x20DF8877,32);delay

#define _4 irsend.sendNEC(0x20DF28D7,32);delay

#define _7 irsend.sendNEC(0x20DFE817,32);delay

#define _VUP irsend.sendNEC(0x20DF40BF,32);

#define _VDOWN irsend.sendNEC(0x20DFC03F,32);

IRsend irsend;

int val = 0; int vol = 0; byte bt;


void setup(){

pinMode(2, INPUT_PULLUP);

delay(10000);  //PC부팅시간 바탕화면이 뜨는 시간에 맞춰주면 됩니다.

bt = BTT +1;

}

void loop(){

if(digitalRead(2)==0){bt++;}

if(bt > BTT){bt = 0;  _POWER(12810);_MENU(660);_1(60);_1(60);_4(60);_7(2490);_DOWN(30);_DOWN(30);_RIGHT(30);_UP(30);_RIGHT(30);_DOWN(30);_DOWN(30);_DOWN(30);_DOWN(30);_DOWN(30);_LEFT(30);_LEFT(30);_LEFT(30);_LEFT(60);_MENU(30);_MENU(30);_DOWN(30);_DOWN(30);_DOWN(30);_DOWN(30);_RIGHT(270);_UP(30);_UP(30);_UP(30);_RIGHT(90);_LEFT(420);_UP(30);_UP(30);_RIGHT(420);_RIGHT(420);_RIGHT(420);_RIGHT(420);_RIGHT(420);_RIGHT(420);_RIGHT(420);_RIGHT(600);_MENU(90);_MENU;}

//괄호 안은 딜레이로 매크로가 올바르게 동작하지 않는 단계에서 30씩 더해주면 됩니다

val = VAL; delay(43); val -= VAL;

if(0==VAL){vol++;}

if(abs(val)>2){vol += val;}

if(vol>VOLS){vol -= VOLS; _VDOWN}

if(vol<-VOLS){vol += VOLS; _VUP}

}