새로운 보조기기나 개조/제작 방법 및 기술, 뉴스 등을 전반적인 정보를 자유롭게 공유하는 게시판입니다.
※ 플랫폼의 성격에 어긋나거나 문제가 있는 게시물은 삭제될 수 있습니다.
|
DIY 호흡 스위치(Sip-and-puff)로 조작하는 장난감 만들기
2025.11.19
|
경기도재활공학센터
|
40
|
||
|---|---|---|
| DIY 호흡 스위치(Sip-and-puff)로 조작하는 장난감 만들기 | ||
| 첨부파일 | ||
Sip-and-puff 방식은 손을 사용하지 않고도 기기를 조작할 수 있는 여러 방법 중 하나이며, 특정 장애가 있는 분들에게 매우 유용한 조작 방식입니다.
시중에는 이러한 sip-and-puff 방식의 다양한 제품이 있지만, 가격이 비싸거나 원하는 대로 맞춤 제작하기 어려운 경우가 많습니다.
우선 첫 번째 예시에서는 ‘puff(불기) → 장난감이 앞으로 이동’, ‘sip(빨기) → 장난감이 뒤로 움직이며 왼쪽으로 회전’하도록 설정했습니다.
두 번째 예시에서는 조작 방식을 더 다양하게 설정했습니다. - puff → 오른쪽 회전 - sip → 왼쪽 회전 - 두 번 puff → 앞으로 가기 시작하거나 정지 - 두 번 sip → 뒤로 가기 시작
Sip과 Puff 동작을 감지하는 방식은 압력 센서를 사용합니다. 이번 프로젝트에서는 MPXV7007G 센서를 사용했습니다.
이 센서는 입력 압력 −1psi부터 +1psi까지를 5V 전원에서 구동했을 때 출력값 0.5V ~ 4.5V 범위로 변환합니다. 즉, 강한 Sip부터 강한 Puff까지 전체 범위를 안정적으로 감지할 수 있으면서, 부드럽고 약한 Sip·Puff도 구분해낼 수 있습니다. 프로토타이핑을 쉽게 하기 위해 센서에 4핀 수헤더를 납땜한 뒤, 기계적 지지를 위해 글루건으로 고정했습니다. 아래 사진은 그 모습입니다.
아래는 첫 번째 구성에서 사용된 조종기 사진들입니다.
이 조종기는 약 3.3V(AAA 배터리 2개) 로 동작하며, 버튼을 동작시키려면 해당 버튼 라인을 3.3V로 풀업해야 했습니다.
이를 위해 저는 3.3V Adafruit Trinket(ATtiny85) 을 선택했지만, 사실 어떤 3.3V 보드라도 사용할 수 있습니다.
추가 작업을 조금 더 한다면 5V 보드도 사용할 수 있으며, 장난감 조종기의 회로 설계에 따라서는 조종기 자체를 5V로 구동하는 것도 가능할 수 있습니다. 이 조종기는 버튼이 눌리지 않은 상태에서 해당 버튼 라인이 반드시 부동(floating) 상태여야 정상적으로 작동합니다. 그래서 Trinket의 두 개 제어 핀을 open-source(오픈 소스 출력) 방식으로 설정했습니다.
총 4개의 지점(GND, Vcc, Forward(전진), Reverse-Turn(후진/좌회전))에 납땜했습니다
여기서 Vcc는 조종기와 추가 회로를 같은 배터리 전원으로 함께 구동하기 위해서만 연결했습니다.
아래는 두 번째 구성의 사진들입니다.
이 조종기 역시 약 3.3V(AA 배터리 2개) 로 동작하지만, 이번 조종기는 버튼을 활성화하려면 버튼 라인을 그라운드(GND) 쪽으로 끌어내리는(pull-down) 방식이었습니다.
저는 아두이노를 사용하면서, 조종기를 제어하기 위해 필요한 4개 핀을 오픈 드레인(open-drain) 방식으로 설정했습니다.
총 6개의 지점(GND, Vcc, Forward(전진), Reverse(후진), Left(좌회전), Right(우회전))을 이 조종기에 납땜했습니다:
Vcc는 조종기와 추가 회로(마이크로컨트롤러)를 같은 배터리로 함께 구동하기 위해서만 연결했습니다.
이러한 모든 커스터마이징 과정에서 가장 중요한 것은 사용자가 어떤 방식이 가장 편하고 선호하는지 파악하는 것입니다.
또한 각 기능은 순간형(momentary) 또는 토글형(toggle) 중 하나로 동작하도록 설정할 수 있습니다.
- 순간형(momentary): Sip 또는 Puff를 하는 동안에만 기능이 활성화됨 - 토글형(toggle): Sip 또는 Puff를 한 번 하면 동작이 시작되고, 또 한 번 하면 동작이 멈춤(마우스의 더블클릭 토글과 유사)
저는 이 장치를 사용할 때 회전 동작을 시작·정지 동작보다 더 자주 사용할 것이라는 점을 알고 있었기 때문에, 회전은 단순한 Sip 또는 Puff 1회로 바로 작동하도록 설정했습니다.
반면, 전진/후진 시작·정지 기능은 그보다 조금 덜 정밀해도 되므로 각각을 더블 Puff 토글(toggle) 로 설정했습니다.(마우스 더블클릭과 비슷한 방식) 물론 반대로, 강한 Puff를 “전진 시작”, 가벼운 Sip·Puff를 “조향(좌/우)” 기능에 매핑하는 것도 충분히 가능합니다.
🔗 아두이노 코드 두 가지 버전에서 사용한 아두이노 코드는 아래에서 확인할 수 있습니다:
출처: BOB'S ELECTRONICS PROJECTS(https://bobparadiso.com/2016/05/31/diy-sip-and-puff-controlled-toys/) |
||
댓글 0개
돋보기 기능을 위해 캡처 중입니다.....