스티브 잡스가 살아생전 ‘one more thing’을 외치며 꺼냈던 맥북 에어, 백라이트조차 없던 그 노트북을 사용하기에 아직도 큰 문제가 없다. 이제는 강력한 M1 칩으로 무장한 그 노트북을 홈페이지에서만 보며 오랜 기간 동경해왔던 나에게 아내가 묻는다.

 

“나 돈 들어오는데 애플 워치 사줄까?”

 

 잠시 고민에 빠진다. 특별히 잘못한 것은 없다. 사소한 일도 그렇고. 무언가 나에게 바라는 것이 있는가 조금 더 생각의 범위를 확장해 본다. 하지만 쥐구멍에도 볕 들 날이 있듯 이번엔 무척이나 기분 좋은 다른 대화가 이어진다. 1년 넘게 이어진 아내의 사업이 드디어 성과를 낸 것이었다. 그 성과의 첫 번째 결실이 바로 나에게 주려는 선물이었다.


 탁자 위를 오랜 시간 장식하고 있는 1세대 애플워치는 방치된 지 일 년이 넘어가고 있었다. 아마도 그것 때문에 애플 워치 얘기를 꺼냈다고 생각했다. 마음속에서 애플 워치와 아이패드, 그리고 맥북 에어. 그리고 에어팟이 서로 자신을 택해 달라며 순위 경쟁을 벌였다. 새로 나온 아이맥까지 자신을 잊지 말라며 존재감을 드러냈다.

 

 이미 2019년형 16인치 맥북 프로가 있고 혼수로 산 2017년형 아이맥과 떡하니 책상 위에서 버티고 있는 상황에서 노트북을 추가할 이유는 없었다. 그리고 방치된 애플 워치 옆에 더 오랜 시간 방치되어 있던 아이 패드 미니 1세대(액정 자가 수리 후 더는 화면이 나올지 않는)와 그 옆에 함께 방치된 아이패드 에어 1세대(액정이 깨진)가 눈에 어른거렸다.

 

 고민의 고민을 거듭하고 가격과 옵션을 비교한 끝에 내린 결론은 아이패드 프로 11인치 (3세대)였다. 매직 키보드와 애플 펜슬(2세대)까지 추가하니 맥북 에어쯤은 거뜬히 살 수 있는 가격이 되었다. 물론 이 가격이면 맥북 프로도 살 수도 있다. 아내의 결정적 한마디가 최종 구매 품목을 결정하는 데 도움을 주었다.

 

“살 때 제일 좋은 걸로 사야 나중에 후회 없다. 다시 살려면 돈 더 들어간다.”

 

 사게 되면 그동안 미뤄둔 글과 블로그에 열심히 매진하겠다는 다짐을 하며 애플 공홈에 접속했다. 지금까지 한 번도 선택해 본 적 없던 각인 옵션과 선물 메시지까지 입력하며 구매에 열의를 다했다.

 

 하지만 애플이 내게 보여준 서비스는 상상을 초월했다. 각각의 배송일이 상이한 것, 여기서 더 의문이 드는 것은 도착 예정일이었다. 순서대로 매직 키보드, 애플 펜슬(2세대), 그리고 아이패드였다. 그것도 매직 키보드와 아이패드의 도착 예정일 차이는 1주였다. 아이패드 기준으로 한 번에 보내주지 않는 상황도 준비되는 대로 개별 발송하는 상황 그 어떤 것도 마음에 들지는 않았다. 결제 이후 그렇게 며칠이 지났다.


‘Apple Store: 오늘이 바로 기다리시던 그날입니다.’

 

가슴 설레는 휴대전화의 메시지 알림 후 정말로 키보드가 먼저 도착했다.

아이패드가 없으면 무용지물.
보호와 키보드의 편의는 충분히 제공한다. 하지만 아이패드만 들고 따로 쓰려면 불편도 함께 제공한다.

‘Apple Store: 오늘이 바로 기다리시던 그날입니다.’

 

그로부터 며칠 후 혹시나 했지만 역시나 애플 펜슬만 도착했다.

 

 

계속해서 펜을 잡고 무언가를 쓰고 싶게 만든다.
둘째를 기원하며 애플 제품 중 처음으로 새겨 본 각인. 물론 아이패드와 함께 새겼지만 애플 펜슬이 먼저 왔으니 처음.

 

‘Apple Store: 오늘이 바로 기다리시던 그날입니다.’

 

 드디어 오랜 기다림을 끝낼 문자메시지가 도착했다. 메시지는 퇴근 시간마저 앞당겼다. 집에 도착한 나를 반기는 택배 상자는 앞의 것들이 그랬듯이, 하지만 조금 더 큰 크기로 나를 반겼다.

 

배터리 내장 제품이라 그런지 위협적인 그림의 스티커를 붙여준다.
영롱한 외장을 보면 나도 언젠가 저런 그림을 그릴 수 있을 것만 같다.
생각보다 가볍다. 그리고 잘 보이지 않는 두 번째 각인. 그마저도 매직 키보드를 붙이면 완전히 가려진다.

 생김새는 이미 기사나 홈페이지를 통해 충분히 확인한 후였지만 생각보다 가벼운 무게는 충분히 인상적이었다. 그러나 필름을 먼저 붙인 후 키보드를 부착하니 무게가 상당하다. 아마도 맥북에어보다 조금 더 무거운 느낌이라는 생각이 든다.

M1을 이렇게라도 느껴보자.
노트북도 그렇다고 태블릿도 아닌 것 같은 애매모호한 느낌. 그리고 스페이스 바를 오른손으로만 치는 것은 안 비밀.

 일렉트로 마트를 뻔질나게 드나들면서 체험해본 애플 펜슬을 직접 사용해보니 또 다른 느낌이다. 부드럽게 밀려 나가고 실제 펜과 큰 이질감 없는 필기감은 써보지 않으면 알 수 없는 느낌이다. 그리고 아마도 돌을 앞둔 우리 아이는 책보다 이런 전자기기를 통해 세상을 배우는 데 익숙해지지 않을까 하는 생각이 든다. 그러나 누군가는 종이의 종말을 예언했고 누군가는 책의 종말을 예언했지만 우리는 아직 종이를 사용하고 책을 본다.

 

 그런 의미에서 아이패드는 확고한 위치를 고수하고 있다. 책을 보고 영상을 즐기며 나아가 게임까지 할 수 있는, 그것도 커다란 화면이 주는 사용감은 다른 제품과 비교할 수 없다. 그리고 그것은 노트북이 채워주기 어려운 부분이다. 물론 요즘은 태블릿과 노트북 일체형이 나오지만 개인적으로 성에 차지 않는다.

 

 거의 모든 애플 제품을 사용하고 있으며 그 생태계에서 주는 편안함에 빠져 있기에 더욱 그러리라는 생각이 든다. 지금도 애플 키보드를 사용해 타이밍을 하고 있지만 조금의 이질감도 없다. 타건감은 애플 무선 키보드와 맥북 프로의 키보드, 그 중간쯤 되는 느낌이다. 좁은 배열이지만 오타 없이 타이밍을 하는데 전혀 문제가 없다. 또한 맥 환경에 익숙한 나이기에 맥의 단축키를 그대로 사용할 수 있다는 점은 또 하나의 장점이다.

 

 다만 사악한 가격은 구매를 망설이게 하는 끊임없는 걸림돌이다. 그러나 애플의 장인 정신이 매년 선사하는 새로운 제품들은 언제나 내 지갑 앞에서 군침을 흘린다. 그리고 나는 언제나 망설임의 끝에서 그 앞에 지갑을 열어 보이고 만다.

 

 

좋은 신발만큼 개발자에게 좋은 마우스가 필요한 이유

 좋지 않은 습관이 있다. 마우스나 키보드를 사용할 때 오른쪽 손바닥 바깥쪽 뼈를 책상에 짓누른다. 그것이 잠깐이라면 크게 문제 될 것이 없을 것이다. 하지만 직업이 프로그래머이고 취미가 글쓰기인 나에게 습관은 참기 어려운 통증을 가져다주었다.

 

 은퇴를 고민할 만큼의 통증은 점점 나를 괴롭혔다. 물론 해결책은 있었다. 손목 패드를 사용하는 것. 그러나 그것은 한계가 있었다. 마우스와 키보드를 번갈아 사용하다 보면 어느샌가 손목은 책상과 맞닿아 있다. 뒤따르는 통증에 미간을 찌푸리다 결국 찾아본 것이 인체공학 키보드.

 

 가장 마음에 들었던 것은 Kinesis. 하지만 50만 원대의 사악한 가격에 마음을 접었고 합리적인 가격의 마이크로소프트의 스컬프트 라인을 선택했다.

 

 장점은 키보드의 손목 받침 부분을 높일 수 있다는 것. 그래서 손목이 자연스럽게 허공에 떠있게 되어 좋지 않은 습관에서 손쉽게 해방되었다. 문제는 마우스에 있었다. 오랫동안 사용하니 휠이 뻑뻑해지며 휠을 둘러싼 고무가 마모되었다. 급기야 휠을 돌려도 한 번씩 인식하지 못하는 상황이 발생하기 시작했다. 그래서 여러 가지 대안을 찾다 도착한 선택지는 Apple Magic Mouse2다.

 


마우스야 네가 아무리 잘나봤자 내가 딴 거 쓰나 애플 쓰지

 맥북과 아이맥을 사용하며 트랙패드에 익숙한 나로서는 Magic mouse를 사용하며 느낀 좋은 경험을 확장하고 싶었다. 단점은 사용해야 할 환경이 윈도우라는 것. 찾아보니 이런저런 유틸을 사용하면 맥 환경에 가깝게 사용할 수 있지만 완전한 경험은 불가능했다.

 

 와이프도 허락을 했겠다, 정 안되면 집에서 사용하면 된다고 생각하고 과감하게 주문을 강행했다. 그리고 얼마 지나지 않아 택배가 도착했다.

 애플답게 포장은 깔끔했다. 단출한 구성과 매끈한 디자인은 여전하다. 마우스 본체, 충전 케이블, 매뉴얼이 전부다. 물리 휠이 없어 제스처로 휠 동작을 인식한다. 물론 윈도우에서는 별도 유틸 없이 뒤로 가기와 앞으로 가기 제스처가 동작하지 않지만.

 

 혹시나 충전이 필요할까 싶어 급속 충전기에 잠시 꽂은 후에 맥에 잠시 연결해 보았다. 전원만 켜도 바로 인식이 되고 심지어 앞에 충전이 필요 없을 정도로 완충 상태다.

 이제 회사의 마우스를 교체할 차례이다. 연결에 필요한 블루투스 동글은 예전에 몇천 원 주고 산 제품을 이용했다. 윈도우10에서 막힘없이 연결이 잘 된다. 휠 기능 사용을 위해 부트 캠프 드라이버도 설치했다. 이질감이 있지만 적응하기 어렵진 않았다.

 가장 큰 문제는 PC를 껐다 켤 때마다 블루투스를 재 연결해 줘야 한다는 것. 내적 갈등이 시작되었지만 제스처로 사용하는 휠 기능이 주는 매력을 쉽게 포기할 생각은 없다. 덕분에 회사 PC는 당분간 전원 꺼질 일이 없을 듯하다.

 

 

 지난번 수유등 만들기 프로젝트에서 밝기 조절 기능을 빼서 눈부심에 시달렸던 문제가 있었다. 그래서 이번 프로젝트에서는 밝기 조절 기능을 추가했다. 밝기 조절이 가능한 애플 스타일 수유등 만들기 프로젝트는 다음의 순서로 진행했다. 개선 프로젝트이므로 기존 진행 단계에서 몇 가지 단계를 제외했다.

 

●사양 정의

●구현

●제품 디자인

●제작 및 시연

 

*지난번 수유등 만들기 프로젝트는 다음 글을 참고한다.

2020/10/16 - [BerryMixLab/Arduino Project] - 아두이노 프로젝트 - 간단한 수유등(무드등) 만들기

 

아두이노 프로젝트 - 간단한 수유등(무드등) 만들기

“이거 왜 이러지?”  아내가 물었다. 잘 쓰던 수유등에 불이 들어오지 않는다. 아내는 USB 케이블을 의심했지만 여지없이 침대에 달린 USB 포트가 나갔다. 수유등도 망가졌다. 수유등이 USB 포트

berrymixstreet.tistory.com


* Version1 : 이전 프로젝트에서 진행한 ON/OFF 기능만 있는 무드등

**Version2 : 이번 프로젝트에서 밝기 조절 기능을 추가한 무드등

 

1. 사양 정의

 

Version1에서 사용했던 사용했던 모든 부품을 재사용했다. 거기에 밝기 제어를 위한 touch 센서를 추가했다. 아래는 사용한 부품 목록이다.

 

· Arduino Uno

· WS2812B LED(원형)

· 18650 배터리(3.7V)

· USB 충방전 보드

· Switch

· Touch sensor


2. 구현

 각 센서 배선은 별도로 명시하지 않는다. 관련 내용은 다른 블로그에 상세하게 잘 설명되어 있다. 구현이 필요한 기능은 아래와 같다. 실 사용 환경이 수유등(무드등)에만 의존한 환경임을 고려했다.

 

● 4단계 밝기 조절 (수유 시에 사용자 편의에 따라 변경)

● 최소 <-> 최대 밝기 조절 (기저귀 교체 등에 빠른 변경이 필요할 경우 사용)

 

다음 코드를 참고한다.

 

/** 타이머 인터럽트로 이벤트를 처리하는 게 깔끔하지만 
어차피 touch sensor 값만 읽을 것이기 때문에 별도로 고려하지 않았다. 
*/ 
void loop() 
{ 
	buttonState = digitalRead(buttonPin); //PWM PIN에 달린 touch sensor 값을 읽는다. 
/** 
1. touch가 일정 시간 이상 지속되면 최소 <-> 최대 밝기 조절을 처리한다. 
최소 LED 1 ON 나머지 OFF 
최대 LED 8 ON 일정 시간 : 약 3초.
(최초 시간 계산에서는 시간이 더 짧았지만 코드 수정 중에 애매하게 시간이 변경되었다.) 
*/ 
	if (buttonState == HIGH) 
    { 
    	loopCnt++; 
        if(loopCnt>8) // 일정 시간 이상 touch가 지속되었을 경우 
        { 
        	switch(ledCnt) 
            { 
            	case 1: 
                	ledCnt=8; 
                break; 
                case 8: 
                	ledCnt=1; 
                break; 
                default : 
                	ledCnt=1; 
                break; 
            } 
            //LED ON 
            for(int i=0; i<ledCnt; i++) 
            { 
            	strip.setPixelColor(i, 0xf5, 0x7f, 0x17); 
                // (A,R,G,B) A번째 LED를 RGB (0~255) 만큼의 밝기로 켭니다. 
            } 
            //LED OFF 
            for(int j=ledCnt; j<8; j++) 
            { 
            	strip.setPixelColor(j, 0x00, 0x00, 0x00); 
                // (A,R,G,B) A번째 LED를 RGB (0~255) 만큼의 밝기로 켭니다. 
            } 
            strip.show(); //LED 변경 사항 반영 
            loopCnt=0; 
            delay(250); //touch 해제 후 불필요한 동작을 막기 위한 딜레이 
        } 
    } 
    /** 2. touch 동작을 해제할때 4단계 밝기 조절을 처리한다. 
    1 단계 LED 1 ON 나머지 OFF 
    2 단계 LED 3 ON 나머지 OFF 
    3 단계 LED 6 ON 나머지 OFF 
    4 단계 LED 8 ON 
    */ 
    else 
    { 
    	if(loopCnt>1 && loopCnt<=4) // 오동작을 막기 위해 일정 시간 touch가 유지되었을 경우에만 
    	{ 
    		switch(ledCnt) 
            { 
            	case 1: 
                	ledCnt=3; 
                break; 
                case 3: 
                	ledCnt=6; 
                break; 
                case 6: 
                	ledCnt=8; 
                break; 
                case 8: 
                	ledCnt=1; 
                break; 
                default : 
                	ledCnt=1; 
                break; 
            } 
            //LED ON 
            for(int i=0; i<ledCnt; i++) 
            { 
            	strip.setPixelColor(i, 0xf5, 0x7f, 0x17); 
                // (A,R,G,B) A번째 LED를 RGB (0~255) 만큼의 밝기로 켭니다. 
            } 
            //LED OFF 
            for(int j=ledCnt; j<8; j++) 
            { 
            	strip.setPixelColor(j, 0x00, 0x00, 0x00); 
                // (A,R,G,B) A번째 LED를 RGB (0~255) 만큼의 밝기로 켭니다. 
            } 
            strip.show(); //LED 변경 사항 반영 
            loopCnt=0; 
            delay(250); //touch 해제 후 불필요한 동작을 막기 위한 딜레이 
         } 
     } 
     delay(400); 
     /* touch 제어 처리를 위한 딜레이다. 
     딜레이가 없으면 불필요하게 짧은 시간 동안 touch 값을 읽는다. 
     */ 
 }

3. 제품 디자인

Version1의 기와 디자인에서 다음과 같이 디자인을 변경했다.

 하지만 사용 중에 부분 파손이 발생했고 광확산 아크릴이 빠지는 문제가 있어 디자인을 일부 변경했다. 다음은 현재 최종 디자인으로 예전 맥북의 로고를 오마주 했다.

 


4. 제작 및 시연

https://youtu.be/jF1ggOwn3ow

 

수유등을 완성한 후 아내를 불렀다.

“진짜 예쁘다. 그런데 이제 좀 쓸만하다.”

이제 좀?


 

Trouble shooting

밝기 1단계에서 불규칙한 주기로 LED가 깜빡인다.

▶ LED가 깜박일 때 USB 충방전 보드의 전원 LED가 깜박이는 것으로 보아 배터리 전원 계통의 문제로 생각된다.

▶ 정확한 이유는 알 수 없지만 밝기 2단계 이후로는 정상 동작하므로 개선할 계획은 없다.

 

+ Recent posts