Posts

Showing posts with the label 컴퓨터 주변기기

ASRock BC-250 보드 RAZER CORE X CHROMA 에 설치하기 5

주문 제작 하였던 브라켓이 도착하였다.  재질은 철이 아니고 알루미늄이라 그런지 상당히 가볍고 잘못하면 휘어질 것 같은 느낌이 든다. 제작하고 수령하기 까지 거의 3주라는 긴 시간이 걸렸다. 원래 이렇게 까지 걸리진 않는데 원인은 가공 엔지니어로 부터 온 메일을 확인하지 않고 3일이나 흐른 뒤에 답장을 하였고, 연말 기간도 걸려서 늦어져 버렸다. BC-250 카드에 기존 브라켓을 제거하고 새로 설계한 브라켓을 달아보니 아주 잘 맞았다. 버튼도 잘 눌리고 이더넷, USB, DP 포트 모두 사용에 문제가 없다. 이렇게 보고 나서 알아차린 부분이지만 하단 쪽에 고정 다리를 추가한다는 것을 빼먹었다. 다시 만드는 건 금액도 만만치 않았기 때문에 수정해서 발주를 다시 넣지는 않을 예정이고 튼튼하게 고정하기 위해 다른 솔루션을 찾아 보려고 한다. 사실 브라켓을 설계한 건 설치 문제도 있지만 완성된 시스템이 외관상으로 봤을 때 튀는 부분 없이 완성도가 높아 보이길 원했기 때문이다. 이렇게 보니 모양도 그럴싸하고 원래 이런 제품일지도 모른다는 착각도 든다. 타공 모양도 벌집 모양으로 했으면 더 완벽했겠지만 만드는 동안에는 그런 생각 없이 만들었기 때문에 큰 후회는 없다. 장착 되어있던 USB 허브 보드 대신 사용될 PCB도 도착하였다. 기존 허브 보드와 비교하자면 사이즈만 많이 커졌지만 브라켓과 호환이 되는지 확인하였고 장착하는 데는 문제가 없을 것으로 예상하고 있다.  지금 보니 오디오 앰프가 꼭 있어야 했는지 살짝 욕심이 과했다는 생각도 든다. 조립에 사용될 부품들은 아직 수급 중이며 차근차근 조립을 해 나갈 예정이다. 먼저 설계했던 PSU 전원 컨트롤 보드는 다음과 같이 장착 되었고 주요 동작에는 큰 이상이 없으나 몇 가지 수정 사항이 생겼다. 수정 사항은 허브 보드을 새로 설계하면서 발생한 것으로 두 보드 간에 별도의 통신 선이 연결된다. 사실 이렇게 기능을 분리할 필요는 없었는데 첫 번째로 만든 보드에서 하드웨어 적으로 누락된 기능이 있기 때문에 허...

[Raspberry Pi] - 라즈베리 파이 3 B+ 에서 아두이노 IDE 사용하기

데스크탑 PC 를 사용하지 않고 아두이노 프로그래밍을 해보고 싶었는데 아쉽게도 나에게 노트북이 없다. 되도록이면 노트북에 리눅스 환경이면 좋겠다고 생각해 한 동안 잘 사용했었던 라즈베리파이의 신제품을 찾아봤다. 성능이 올라간 만큼가격도 올라간건지 전 보다 1만원정도 더 들여서 라즈베리파이 3 B + 모델을 선택했다. 사실 똑같이 구형을 구입하려 했으나 듀얼 밴드가 상당히 매력적이어서 최신 버전으로 구매 했다. 이번에는 정성스럽게 사용할 예정이다. 이번에는 딱히 라즈베리파이에 센서와 엑추에이터를 달아서 뭔가로 만들기 보다는 아두이노 프로그래밍 용도로 사용하기위해 구매했다. 아두이노 IDE는 윈도우 뿐만아니라 ARM 버전도 있기때문에 라즈베리 파이에서 사용할수 있다. 첫번째 방법 아두이노는 다음의 명령어로 설치 할 수 있는데 설치가 완료되면 개발 항목에 추가가된다. sudo apt-get install arduino 만약 사용자가 시스템 언어를 한글로 사용하고 있다면 시스템에 한글이 정상적으로 나타나는 상황이라도 아두이노를 설치를 완료하고 실행해보면 한글이 깨질수가 있는데 이는 폰트가 없어서 그런것이다. 나눔 폰트가 무난하고 좋다. sudo apt-get install fonts-nanum 하지만 이 방법은 구버전이 설치되고 라이브러리 매니저가 없다. 두번째 방법 최신버전을  아두이노  에서 ARM 버젼을 받으면 된다. 이 글을 작성하는 시점에서 최신버전은 1.8.9  버전이다. 참고로 라즈비안은 32비트 운영체제이다. 설치방법은 다음과 같다. 터미널에 순서대로 입력하면된다. mkdir Arduino cd ~/Downloads cp ./arduino-1.8.9-linuxarm.tar.xz ~/Arduino cd ~/Arduino tar xvf arduino-1.8.9-linuxarm.tar.xz cd arduino-1.8.9 ./install ...

리얼텍 드라이버 뻘짓과 블루투스 이야기

Image
원래 매인보드 제조사에서 제공하는 드라이버를 설치하면 리얼텍 HD 드라이버와 오디오 콘솔 유틸리디가 함께 설치가 됐었다. 그런데 오늘 다채널 스피커를 구성하려고 오디오 콘솔을 찾는데 이상하게도 사라져있었다. 고민의시작 아무리 재설치해도 버전 바꿔봐도 드라이버만 설치되고 매니저 프로그램은 설치되지 않았다. 사실 매니저가 없어도 스피커 구성 마법사를 실행하면 되지만 어떻게 해결해보고 싶었다. 원래 사람이 안되면 되게 하고 싶은 법이다. 여러 시도 끝에 리얼텍 오디오 콘솔은 설치가 되었다. 너무 많은 설치와 제거가 반복되다보니 확실하진 않지만 기가바이트 앱센터에서 드라이버를 설치하니 된것 같다. 부질없는짓 왜 이런 일을 벌이냐면 사용하던 소니 DAV-S800 앰프가 덩치가 너무커서 방에서 치워버리고 매인보드 센터/우퍼 단자에 유닛을 직접 연결하여 사용 할 수 있지 않을까 해서 시도 해보았다. 그런데 곰곰히 생각해보니 DAV-S800 의 스피커 유닛은 앰프에 물려 사용하는 녀석이기 때문에 메인보드에서 나오는 출력으로 작동할리가 없었다. 뭐 하나 이루어낸 것도 없지만 다 필요없어졌다. 하루종일 리얼텍 드라이버로 헛 짓거리만 한 샘이다. 비어있는 내 뱃속, 어질러진 내 방, 잃어버린 내 시간. 갑자기 내 자신에게 화가나기 시작했다. 차선책 어차피 음악 감상을 위한 스피커이기 때문에 블루투스 앰프에 물려 사용하기로 했다. 유선이면 좋겠지만 블루투스 앰프만 있다. 사용한 앰프는 TDA7492P 이다. 1만원대 중에선 쓸만한 제품이라 생각된다. AUX 출력과 2채널 스테레오 25W+25W 단자가 있다. 블루투스 4.0 이 사용되고 8~24V 에서 작동된다. 이 작은 앰프에 프론트, 리어 스피커 까지 사용하는건 무리기 때문에 좌우 출력을 묶어서 센터/우퍼 유닛에 연결했다. 예상치못한 복병 TDA7492P를 구입하기에 앞서 주의할점이 있는데 만약 당신이  인텔 ...

[AD보드] - 맥북 패널을 모니터로 만들기 ( LP154WP4-TLA1 )

Image
고장난 맥북의 패널을 모니터로 쓰기 위해 뜯어냈다. 분해하면서 대학시절 동거동락하던 추억들이 떠올랐지만 앞으로의 일 만 생각하기로 마음잡고 분해했다. 물론 애플 제품을 분해하는건 약간의 용기가 필요하다. 지금까지 분해해본 노트북 중에 커넥터가 가장 오밀 조밀하고 나사도 엄청 많고 심지어 크기도 너무 작다. 거기다 비싸기까지 하다. 이런 점들이 애플 제품의 분해를 망설이게 만드는 부분이다. 분해 디스플레이를 완전이 뜯어내는건 처음이었기 때문에 디스플레이 교체 영상 을 참고 했다. 히팅건은 없고 대신 가스 인두기를 사용해 접착 부분을 느슨하게 만들고 기타 피크를 밀어넣으니 쉽게 제거 할 수 있었다. 모니터 부분에서 제거 할 부분은 카메라와 안테나 케이블 그리고 lvds 케이블이다. 이 곳의 나사들은 매우 작고 연약하기 때문에 힘 조절을 잘 해야 한다. 디스플레이를 분해한 이유는 패널의 명칭과 lvds 커넥터를 확인하기 위함이였다. 맥북 프로 15-인치, Mid 2010 의 패널 이름은 LP154WP4-TLA1이고 커넥터는 20474-040E-12 이다. 난관의 시작 여기서 부터가 난관이였다. 국내에서 해당 패널에 맞는 AD보드와 케이블을 세트로 구매하려고 했지만 커넥터 핀배열을 직접 해야한다는 답변만 받을 수 있었다. 어쩔수 없이 직접 해보려고 데이타 시트도 찾고 핀배열도 찾아보니 해볼만 한 것 처럼 보였다. 그랬는데..아무리 봐도 이상하다. 내가 이해 못하는건가? 분명 데이타 시트에는 40핀이라 되어있는데 연결되어있는 선들은 40가닥이 아니네? 그라운드가 묶여있는건가? 그리고 어디가 1번이라는 건지 생각 할 수록 혼란스러웠다. 이 후에 케이블을 잘라보고나서야 이해 할 수 있었다. 케이블을 자세히 보면 다른 선들보다 두꺼운 선들이 있다. 그 녀석들의 피복을 벗겨보면 안쪽에 더 작은 선들이 두 가닥이 나온다. 이 두꺼운 선들은 배열상 데이터선으로 보인다. 두 가닥 정도 작업하다가...

[AD보드] - 맥북 모니터 사용

Image
두달 전 맥북 패널로 모니터를 만들면 이쁠 것 같아서 AD보드를 구매했다. 내 맥북의 패널은 LP154WQ4-TLA1 이다. 국내에서 AD보드는 구하기 쉽지만 이 패널과 연결하기 위한 lvds 케이블은 따로 팔지않았다. 자주 사용하던 이베이에서 알맞는 케이블과 AD보드를 구매했다. 2주만에 받았지만 판매자가 상품을 잘못 보내 다시 2주를 기다려 모든 상품을 받아 볼 수 있었다. 일단 부품은 모두 받았으니 모니터를 물려 보았으나 아래 사진의 메시지만 나오고 아무런 변화가 없었다. 빅스비 비전으로 번역해보니 out of range 였다. 아무래도 컨트롤러의 펌웨어가 내 패널에 맞지 않는것 같다. 상품이 이상하다고 연락하니 자기가 실수 했고 다시 보내주겠다고 말 한지 벌써 한달이 넘었다. 보냈다고 했지만 아마 안보낸 것 같다. 결국 옥션에서 다시 단품으로 구입했다. 최근 업데이트 :  맥북 패널을 모니터로 만들기

[Apple] - 오래된 맥북의 처분

Image
나도 한 동안 맥북을 사용하던 시절이있다. 맥북 프로 2010 mid 15' 지금은 커널패닉 때문에 사용 할 수 없는 수준이 되어버렸다. 커널패닉 내용을 보면 특정 그래픽 메모리 주소 접근시 무조건 커널 패닉이 발생한다. 아마도 GPU나 그래픽 메모리에 문제가 있는것 같다. GPU관련 이슈는 오븐에 굽거나 드라이어기 히팅건 등으로 집에서 해결을 봤다는 분들도 있는데, 정말 위험한 발상이라고 생각한다. 물론 고쳐질 수도 있지만 리스크가 높고, 다른 소자들이 떨어져 나가 는 일이 발생하면 큰일이다. GPU 커널 패닉 이슈의 경우 드라이버를 제거하여 효과를 볼수도 있다 하지만 최신 버전에서는 SIP(시스템 무결성 정책)이라고 시스템 파일을 임의로 바꿀수 없다. 1. 제거를 위해서는 우선 부팅시 리커버리 모드(command + R) 로 집입해야한다. 2. 리커버리모드로 들어오면 유틸리티 > 터미널 을 열어 " csrutil disable "을 입력해 SIP(시스템 무결성 정책)를 비활성 시킬 수 있다. 3. 재부팅 후 System/Library/Extensions 로 이동하여 외장그래픽 관련 kext 를 제거 하면 된다. 이러면 커널패닉은 발생하지 않았지만 동영상도 원활히 볼수 없는 수준이 된다. 그래픽 드라이버가 내외장 하나로 되어있는지 이런식으로 드라이버를 제거하면 매끄럽지 못한 부분이 상당히 많다. 워드는 충분히 할수 있다. 한 때 사설 수리라도 받을까 했지만, 오래된 제품이라 고쳐쓰는게 손해라고 생각했다. 이미 메모리나 하드 CD롬도 다른 컴퓨터 부품으로 입양 간 상황이다. 이제 남은건 디스플레이와 키보드 자판이다. 디스플레이는 휴대용으로 만들어 쓰면 좋을것 같다는 생각이 문득 떠올랐다. 맥북 프로 유니바디의 강화유리는 접착되어있기 때문에 열로 살살 녹이며 기타피크 같은 애들로 긁어주면 쉽게 분리가 된다. 깨지지 않게 조심해야한다. 분리 후 패널을 들어내면 뒷면...

[Arduino] - 피버시노가 연결된 포트 자동 탐색기능 추가 (피버시노 v.1.1.3)

Image
USB 포트가 바뀌어도 프로그램이 피버시노를 자동으로 찾을 수 있도록 해보자. Bluno Link와 Bluno Beetle은 아두이노 IDE 보드 정보에서 시리얼 넘버가 출력되지 않는다. 그래도 무언가 나오지 않을까 해서 파이썬으로 시리얼 넘버를 읽어보았다. 다음은 현재 컴퓨터에 연결된 모든 COM 포트 리스트를 출력해준다. import  serial.tools.list_ports   # For listing available serial ports dev  =  serial.tools.list_ports.comports() ports = [] for  d  in  dev:     ports.append((d.device, d.serial_number)) print ( '\nDetected serial ports:' ) for  d  in  ports:      print ( "Port:"   +   str (d[ 0 ])  +   "\tSerial Number:"   +   str (d[ 1 ])) cs 포트 넘버와 시리얼 넘버가 중요하기 때문에 이 둘 만 출력하도록 했다. 결과는 다음과 같다.  여기서 내가 찾아 할 디바이스는 COM27에 있다. 결과과 딸랑 '6'만 나왔다. 과연 이게 시리얼 넘버인가? "장치 관리자"에서도 시리얼 넘버를 알 수 있는지 확인해보았다. 지난번에도 말했지만 디바이스의 시리얼 넘버는 장치관리자 > 포트(COM & LPT) > 장치속성 > 이벤트 탭 에서 볼 수 있다. CO...

[Logitech] - MX Maser 마우스 logiOption에 디바이스가 표시 안되는 문제 해결됨

Image
MX Maser는 지금까지 사용해본 마우스 중에서 가장 훌륭 한 마우스라고 생각한다. 수시로 고장나는 싸구려 마우스의 내구도에 신물나서 홧김에 구입한 고가의 마우스였다. 때는 2017년  구입한지 2년이 되어가는 시점이었다. logiOption 소프트웨어를 업데이트했더니 아무리 가다려도 디바이스가 표시되지 않았다. 매킨토시를 오랜기간동안 사용해서그런지 윈도우의 휠 스크롤 방향은 매우 불편했었다. 소프트웨어에서 인식되지 않으니 스크롤방향도 못 바꾸고 배터리 시간도 알수 없었다. 때문에 logiOption 소프트웨어는 꼭 필요했다. 로지텍 포럼에서 해당 이슈를 찾아보니 많은 사람들이 같은 문제를 격고 있었다. 대부분 사용자들이 6.60와 6.40을 사용해야지만 정상적으로 사용이 가능했다. 그러나 그것 마저도 사용자마다 결과가 다 달랐다. 2018년 11월 16일 아직도 해결이 되지 않았고 3년도 안된 제품을 이렇게 버리는건지 몇 천원 몇 만원짜리도 아니고 10만원이 넘는 고가의 마우스인데 짜증이 나서 고객센터에 문의를 올렸다. 몇 일 후 스크롤 방향은 레지스트리를 편집해서 바꾸고, logiOption는 지워버렸다. 배터리 잔량은 마우스에도 LED로 표시가 되지만 배터리가 다 되어 꺼져서야 LED가 빨간색인 걸 보고 "아~ 배터리가 다 된거구나" 했다. 그냥 사용 할 때에는 괜찮지만 게임 할 때 이러면 진지하게 짜증난다. 휠 스크롤 방향보다 중요한건 사전에 배터리 부족 알림을 받을 수 없다는 것이였다. 2019년 1월 혹시나 하고 소프트웨어를 설치해보니 정상적으로 인식이되었다. 매일을 확인해보니 2018년 11월 26일에 문의내용을 본사에 전달하겠다는 답변이 달려있었다. 최신버전 이 2018년 11월 18일인 것을 보면 문제가 있다는걸 알고 있었나보다. 이제 배터리 부족 알림을 받을 수 있다. 다시 정상사용이 가능해서 기쁘다.

[피버시노] - 피버시노 문제점 해결방향 (피버시노 v.1.1.2)

Image
떠오르는 문제를 나열 해보았다. 지금까지 발견된 문제점 모니터가 유휴상태에서 복귀하거나 전원 상태에 따른 모니터 회면상태 채크가 필요하다. 시리얼 포트가 바뀌면 프로그램의 코드를 직접 변경해주어야 사용가능하다. 전원 공급원에 대한 새로운 방법이 필요하다.  1번의 경우 큰 문제없이 해결 할 수 있다. 2번의 경우 자동으로 아두이노가 연결된 포트를 찾을 수 있어야 한다. 각각의 블루투스 모듈을 사용해 아두이노 끼리 통신을 하고 수신을 받은 아두이노 쪽에서 PC와 유선 통신으로 작동하는 방식이라면 문제가 없다. "툴" -> "보드정보"를 보면 이렇게 시리얼 넘버를 알 수 있다. VID와 PID도 있지만 목적은 특정 장비만 찾는것이기에 적합하지 않다. 시리얼 넘버는 "장치관리자"에서도 찾을 수 있다. 다음 소스 코드를 확인해보자 import  serial.tools.list_ports def  findTo(serial_number):      for  arduino  in  serial.tools.list_ports.comports():          if  arduino.serial_number  = =  serial_number:              return  (arduino.device)      raise  IOError( "There was no such thing." )          sn...

[Arduino] - 디스플레이 오토피벗 디바이스 "피버시노" 파이썬 프로그램 업데이트 (피버시노 v.1.1.2)

Image
"피벗이노"는 화면 방향을 전환할때 display.exe  라는 외부 프로그램을 사용해왔다. 문제는 핵심적인 기능을 담당하는 이 프로그램에 문제가 생기면 아무것도 하지 못한다. 이렇게 프로그램이 분산되어 있으면 결손, 손상, 수정에 어려움이있다. MDSN에서 개발자들에게 제공해주는 DEVMODE 를 이용하면 연결된 디스플레이 정보를 가져와 컨트롤 패널의 디스플레이 설정을 프로그래밍으로 만져볼 수 있다. 실제로 디스플레이와 관련된 응용프로그램이나 드라이브를 운용하기위한 드라이버를 만들때 사용된다. DEVMODE를 이용해  rotateTO  함수를 만들었다. rotateTO 함수 작동방식은 오토피벗 기능을 사용할 디스플레이 넘버를 지정해주고 모니터의 현재 방향에 따른 너비와 높이 값 교환 및 회전이다. 이 함수를 이용하면 display.exe에 의존하지 않아도 된다. 파이썬 에서는 win32api를 이용해 DEVMODE를 사용할수 있다. win32api를 사용하려면 라이브러리가 있어야한다. pip install pypiwin32 이 함수는  Rotating the Screen in C#  을 참고하여 작성되었다. Mapping the APIs 의  NativeMethods 클래스에 화면 방향에 따른 상수 값이 정해져 있다. 여기서 봐야 할 값들은 다음과 같다. DMDO_DEFAULT = 0; DMDO_90 = 1; DMDO_180 = 2; DMDO_270 = 3; 이 상수값들이 디스플레이의 회전 방향을 결정해준다. # Changing Screen Orientation Programmatically def  rotateTO(rotateDic):    display_num  =   0   # display 1 ...

[Arduino] - 피버시노 비정상 작동 해결 (피버시노 v.1.1.1)

Image
오늘 아침 " 피벗이노v.1.1 "가 작동을 하지 않았다. 시리얼 전송값을 확인해보니 디바이스가 재시작 될때 확률적으로 읽을 수 없는 시리얼 값을 전송하는 것이 확인되었다. 프로그램을 재실행 및 모든장비를 PC에 재연결 해주어야 정상작동을 했다. 이건 해경 방법이 아니다. 이 디바이스는 사용자가 컴퓨터를 사용하고 있을때 전원만 들어와 있다면 어떤 상황에도 정상작동을 해야한다. 그만큼 안전성과 신뢰도가 중요한 디바이스다. dfrobot WiKi 를 확인하니 무선 프로그래밍 환경을 이용할때 디바이스 baud rate를 115200 로 사용할 것을 권장하고 있었다. 유선도 아니고 무선이니 데이터 전송의 안정성을 위한것으로 보인다. 실제로 디바이스 통신이 재연결 될때 3번중 1번은 시리얼 데이터가 읽을 수 없는 상태로 전송되어 프로그램이 정상작동하지 않았다. 시리얼 통신 안정성을 높이기 위해 디바이스의 baud rate를 수정했다. 이 후로 디바이스 연결이 끊어지게되는 어떠한 상황이 와도 재연결 되었을때 정상작동하는 것이 확인되었다. 업데이트 버전 ===================================================== 피버시노 v1.0 피버시노 v1.1 피버시노 v1.1.1 피버시노 v1.1.2 피버시노 v1.1.3

[Arduino] - 시리얼 통신을 이용한 디스플레이 오토피벗 (피버시노 v.1.1)

Image
지난번 에 모니터 상태에 따라 디스플레이 출력 방향을 자동으로 바꿔주는 오토피벗 장치를 만들어보았다. 테스트 용이라 크기도 크기지만 케이블이 자꾸 결려서 파손위험이 있었다. 이번에 만든 피버시노v.1.1은 BlunoBeetle을 이용해서 케이블 과 크기를 해결했다. BlunoBeetle 은 작은 크기의 아두이노 이다. 예전에 키패드 를 만들때 사용한 Beetle 과 비슷하지만 BlunoBeetle에는 블루투스가 추가로 탑재 되어있고 Beetle은 레오나르도로 인식하여 HID 장비로 사용할수 있지만 BlunoBeetle은 아두이노 우노로 작동한다. 물론 AT커맨드를 이용해 HID 무선 장비로 사용 할 수 있다. 그러나 내 개발 환경의 문제인지 데스크탑 PC에서는 BlunoBeetle 을 찾지 못하는 문제가 발생했다. 블루투스 스피커중에 모바일이나 테블릿과는 문제가 없지만 내 컴퓨터랑 연결이 안되던 제품이 있었는데 그거랑 같은 문제같다. 아마도 블루투스 드라이버나 서비스 지원 문제로 보인다. 그러나 BlunoBeetle은 두대가 있으면 마스터 슬레이브를 부여해 무선환경에서 데이터 링크기능을 이용할 수 있다. BlunoLink 가 이렇게 빛을 보게 되었다. 무선 모드 사용법 1. 시리얼 모니터를 열고 "+++" 입력 2. "Both NL & CR" 로 변경 3. AT커맨드 "AT+FSM=FSM_TRANS_USB_COM_BLE" 를 이용해 transparent mode로 바꿔주고 한 쪽은 "AT+SETTING=DEFPERIPHERAL" 을 다른 한 쪽은 "AT+SETTING=DEFCENTRAL" 로 상태를 바꿔준다. 4. "AT+EXIT" 종료 연결 확인은 BlunoBeetle의 "LINK" Led 가 초록색으로 점등되면 성공이다. 이...

[Arduino] - 시리얼 통신을 이용한 디스플레이 오토피벗 구현 (피버시노 v1.0)

Image
시작하며 인텔 그래픽을 사용하는 컴퓨터는 ctrl + alt + 방향키로 디스플레이 화면을 돌릴 수 있다. 하지만 지포스 같은 외장그래픽 사용자는 컨트롤 패널에서 직접 설정해주어야만 가능하다. 모니터를 물리적으로 회전시키면 디스플레이 화면도 회전시켜주는 무언가가 필요하다. 그래서 생각한 것이 피버시노 프로젝트 이 프로젝트의 목적은 피벗 모니터의 디스플레이 화면을 자동으로 회전 시키는 것에 있다. 물론 시중에 이러한 오토피벗 기능을 내장한 모니터가 판매되고 있지만 전문가용이거나 대부분 고가의 제품들이다. 이 장비를 이용하면 오토피벗 기능이 없는 저렴한 모니터에서 추가적인 설정 없이 모니터를 돌리기만 해도 아두이노가 대신 디스플레이를 회전시켜준다. 아두이노, 가속도센서, 파이썬 만으로 구현 할 수 있으며 소형화도 가능하다. 하드웨어 이 프로젝트에서 사용한 가속도 센서는  MMA7361 이다. 사용방법이 궁금하다면 라이브러리에 예제가 포함되어있다. 아두이노 우노에 적층 할 수 있도록 만들었다. 각 핀의 이름은 다음과 같다. 5V, 3V3, GND, g-Selec(10pin), selfTest(12pin) x(A0pin), y(A1pin), z(A2pin), Sleep(13pin), 0g(11pin), 전원은 5V를 사용하였다. 본인이 사용할 핀들만 연결해주어도 된다. 아두이노 코드 이 프로그램은 현재 상태를 가속도 센서로 감지하여 변화하였을때 시리얼 값을 출력한다. 작동원리는 P[0]에는 과거의 값이 P[1]에는현재의 값이 지속적으로 저장된다. 이 두 값을 아두이노가 반복적으로 비교 하여 시리얼 신호를 보낼지 말지를 결정한다. 이러한 구조를 가지게 된 이유는 상태가 변화하지 않고 있을 때에도 신호를 보내게 되면 수신측(컴퓨터)에서 지속적으로 처리를 해주어야 하기 때문에 자원의 낭비가 발생하게된다. 자원의 낭비는 곧 성능 하락으로 이어지기 때문에 필요한 상황에서만 작동하도...

Popular posts from this blog

[POE] - 패스 오브 엑자일 획득키 F 의 사용법 (Path of Exile)

[AD보드] - 맥북 패널을 모니터로 만들기 ( LP154WP4-TLA1 )

짱구개미 사육장에 위치한 브리기테 동상