banner

소식

Sep 15, 2023

검사현미경 해킹

때로는 아주 작은 사물의 사진을 찍을 수 있어야 하는데, 내 똑딱이 카메라의 소위 매크로 모드로는 부족합니다. 그리고 작은 납땜 작업을 위한 검사 범위를 갖고 있는 것도 결코 나쁠 것이 없습니다. 하지만 저는 대부분의 작업에서 한쪽 눈에 간단한 보석 세공용 확대경을 선호합니다. 그래서 저는 절친한 친구인 Alibaba에게 40달러가 조금 넘는 할인을 보냈고, 몇 주 후에는 SD 카드에 스틸 사진이나 비디오를 기록하는 반 정도 사용 가능한 검사 범위의 자랑스러운 소유자가 되었습니다.

불행히도, 지저분한 인터페이스 디자인과 흔들리는 마운트 때문에 절반만 사용할 수 있습니다. 그래서 오후 시간을 보내서 현미경을 분해하고 WiFi와 스크립팅 언어를 갖춘 마이크로컨트롤러로 제어하게 했습니다. 훨씬 낫다! 이제 현미경 타임랩스 촬영을 할 수 있지만 훨씬 더 중요한 것은 흔들리는 장비를 건드리지 않고도 흐릿한 사진을 찍을 수 있다는 것입니다. 재미있는 해킹이었기 때문에 공유하고 싶다고 생각했습니다. 읽어!

범위가 도착하면 정말 재미 있습니다. 이미지는 괜찮으며 대부분의 모든 것이 광고된 대로 작동합니다. 벌레와 꽃을 보는 것은 적어도 몇 시간 동안은 좋았습니다. 그러나 쾌적한 사용자 경험을 제공하는 작은 세부 사항은 모두 실패했습니다.

예를 들어, SD 카드의 간격이 너무 빡빡해서 밀어 넣을 얇은 물체나 손톱이 매우 길지 않으면 삽입하거나 제거할 수 없습니다. 일부 버튼은 큰 초점 손잡이 뒤에서 손이 닿기 어렵습니다. 예를 들어 LED 링 라이트를 켜거나 끄는 메뉴 시스템은 끔찍합니다. 이것은 사소한 문제이고 가격 때문에 나는 그것을 간과할 의향이 있습니다.

하지만 내 목적에 있어서 가장 큰 문제는 스탠드가 너무 흔들리기 때문에 사진을 찍기 위해 "확인" 버튼을 누르는 동작이 거기에 있던 이미지를 흐리게 한다는 것입니다. 비디오 모드에는 "모션 감지" 방법이 있습니다. 카메라가 너무 많이 흔들리기 때문에 항상 물체가 움직였다고 생각하기 때문에 항상 켜져 있습니다. 범인은 젤리 한 그릇처럼 흔들리는 두꺼운 실리콘 흡입 컵으로 끝나는 치즈 프레임입니다. 이것은 삼각대를 디자인하는 방식이 아닙니다.

진동 문제에는 두 가지 해결 방법이 있습니다. 첫 번째는 더 나은 프레임을 만드는 것입니다. 검사 범위는 유용한 장비이기 때문에 결국에는 그렇게 하게 될 것입니다. 다른 해결책은 흔들리는 작은 짐승을 건드리지 않고 노출(및 기타) 버튼을 실행하는 것입니다. 현미경 인터넷에 오신 것을 환영합니다!

케이스를 열었을 때 가장 먼저 발견한 것은 키 패널에 있는 5개의 테스트 포인트 행이었습니다. 그래서 무슨 일이 일어나고 있는지 확인하기 위해 헤더 와이어 몇 개를 납땜했습니다. (쉬웠어요!) GND, VCC, KEY, PWR 및 VBAT라는 라벨이 붙어 있어 상상의 여지가 많지 않습니다. 5개 중 4개가 올바르게 표시되었습니다.

저는 본질적으로 아날로그 해커이고 알 수 없는 신호를 조사할 때 보통 오실로스코프부터 시작하지만 이번에는 로직 프로브로 시작하기로 결정했습니다. 확실히 단일 KEY 라인이 5개의 전면 패널 버튼을 인코딩하고 있었기 때문입니다. 일종의 디지털 코드로 말이죠. 로직 스니퍼에서 버튼을 누를 때마다 동일하게 보였을 때 제가 얼마나 놀랐는지 상상해 보십시오. 다시 태워졌습니다. 신뢰할 수 있는 오실로스코프로 돌아갑니다.

5개의 버튼은 전압 분배기의 하반부 역할을 하는 5개의 서로 다른 저항에 연결되어 있으며 ADC는 이 전압을 읽어 어떤 키를 눌렀는지 알아냅니다. 이는 노란색 스코프 트레이스의 5가지 전압 레벨을 설명합니다.

이것은 고전적인 더티 트릭이며, 패널에 연결되는 전선 수를 반드시 최소화해야 하는 날이 오기를 기다려 왔습니다. 실제 제품에서 이와 같은 해킹적인 것을 보게 될 줄 누가 알았겠습니까?

전원 버튼은 분리되어 있으며 PWR 라인(5V 수직 눈금의 스코프 트레이스에 녹색)을 VBAT 라인으로 당깁니다. 3.3V 전원 공급 장치를 사용한 빠른 테스트를 통해 마이크로 컨트롤러의 GPIO를 사용하여 장치를 켜고 끌 수 있다는 확신을 갖게 되었습니다. 나는 또한 5개의 GPIO 핀을 다른 저항에 연결하고 해당 버튼을 "누를" 수 있다고 확신했습니다. 그래서 개별 저항을 측정하기 위해 패널을 떼어냈습니다.

공유하다