스마트폰의 버튼을 눌렀을 때 느껴지는 "톡" 하는 진동, 게임 컨트롤러의 피드백, 웨어러블 기기의 알림 기능은 단순히 모터를 켜고 끄는 것만으로 만들어지는 것이 아닙니다.

사람이 손으로 느끼는 촉각(Haptic)은 생각보다 매우 섬세합니다. 단순한 진동보다는 클릭, 두 번 두드리는 느낌, 점점 강해지는 진동, 짧고 강한 충격 등 다양한 형태의 피드백이 사용자 경험을 크게 향상시킵니다.

오늘은 이러한 햅틱 효과를 손쉽게 구현할 수 있도록 도와주는 Adafruit의 DRV2605L Haptic Motor Controller를 소개하겠습니다.

 

 

왜 일반 모터 드라이버로는 부족할까?

일반적인 모터 드라이버는 진동 모터에 전원을 공급하거나 차단하는 정도의 기능만 제공합니다.

예를 들어 다음과 같은 동작은 가능합니다.

  • 진동 켜기
  • 진동 끄기
  • PWM으로 진동 강도 조절

하지만 실제 제품에서 사용하는 정교한 촉각 효과를 구현하려면 훨씬 복잡한 제어가 필요합니다.

예를 들어:

  • 버튼 클릭 느낌
  • 알림 진동
  • 경고 진동
  • 성공/실패 패턴
  • 점점 강해지는 진동
  • 점점 약해지는 진동

이러한 기능을 직접 MCU에서 구현하려면 상당한 개발 시간이 필요합니다.

DRV2605L은 이러한 문제를 해결하기 위해 설계된 전용 햅틱 모터 드라이버입니다.


DRV2605L의 핵심 기능

1. 다양한 햅틱 효과 지원

DRV2605L에는 이미 다양한 촉각 효과가 내장되어 있습니다.

예를 들어:

  • Click 효과
  • Double Click 효과
  • Strong Buzz
  • Soft Buzz
  • Ramp Up
  • Ramp Down

개발자는 단순히 효과 번호만 지정하면 됩니다.

즉,

"진동을 직접 설계하는 것"이 아니라

"원하는 효과를 선택하는 것"

에 가까운 방식입니다.


2. 오디오를 진동으로 변환

DRV2605L의 가장 흥미로운 기능 중 하나는 Audio-to-Vibration 기능입니다.

음악이나 오디오 신호의 강약에 맞춰 진동 모터가 반응하도록 만들 수 있습니다.

예를 들어:

  • 음악 비트에 맞춰 진동
  • 게임 효과음에 맞춰 진동
  • 음성 신호 기반 촉각 피드백

등의 응용이 가능합니다.

웨어러블 장치나 인터랙티브 전시 작품을 제작할 때 매우 유용한 기능입니다.


3. 효과 시퀀스 저장 기능

여러 개의 햅틱 효과를 메모리에 저장해 순차적으로 실행할 수 있습니다.

예를 들어:

  1. 짧은 클릭
  2. 강한 진동
  3. 약한 진동

과 같은 패턴을 하나의 이벤트로 실행할 수 있습니다.

이를 이용하면 스마트폰의 알림 패턴과 유사한 복합 진동 효과를 구현할 수 있습니다.


어떤 모터를 사용할 수 있을까?

DRV2605L은 두 종류의 햅틱 모터를 지원합니다.

ERM (Eccentric Rotating Mass)

가장 흔히 볼 수 있는 진동 모터입니다.

모터 내부의 무게추가 회전하면서 진동을 발생시킵니다.

예:

  • 휴대폰 진동 모터
  • 소형 진동 팬케이크 모터

LRA (Linear Resonance Actuator)

최근 스마트폰에서 많이 사용되는 방식입니다.

자기장과 공진 구조를 이용하여 보다 정교하고 빠른 촉각 피드백을 제공합니다.

장점:

  • 응답 속도 빠름
  • 전력 소모 감소
  • 더 자연스러운 촉감

DRV2605L은 두 종류 모두 지원하기 때문에 프로젝트 요구사항에 맞게 선택할 수 있습니다.


연결은 얼마나 쉬울까?

DRV2605L은 I2C 인터페이스를 사용합니다.

따라서 필요한 신호선은 단 두 개입니다.

  • SDA
  • SCL

그리고

  • VCC
  • GND

를 연결하면 됩니다.

ESP32, Arduino, Raspberry Pi 등 대부분의 개발 보드와 쉽게 연결할 수 있습니다.


STEMMA QT 지원

최근 Adafruit 제품의 특징 중 하나인 STEMMA QT 커넥터도 탑재되어 있습니다.

이를 사용하면:

  • 납땜 불필요
  • 플러그 앤 플레이
  • 빠른 프로토타이핑 가능

특히 초보자에게 매우 편리합니다.

물론 브레드보드에서 사용할 수 있도록 일반 핀 헤더도 함께 제공됩니다.


소프트웨어 지원

Arduino

Adafruit에서 공식 라이브러리를 제공합니다.

대표적인 사용 환경:

  • Arduino UNO
  • Arduino Mega
  • ESP8266
  • ESP32

몇 줄의 코드만으로 햅틱 효과를 실행할 수 있습니다.

CircuitPython / Python

Python 라이브러리도 제공됩니다.

따라서:

  • Raspberry Pi
  • Linux SBC
  • CircuitPython 보드

에서도 쉽게 사용할 수 있습니다.


프로젝트 응용 예시

DRV2605L은 생각보다 활용 범위가 넓습니다.

스마트 화분

토양 수분이 부족할 때:

  • 짧은 진동 알림

배터리가 부족할 때:

  • 경고 패턴 진동

을 제공할 수 있습니다.

웨어러블 장치

  • 스마트 밴드
  • 헬스케어 기기
  • 자세 교정 장치

에서 화면 없이 촉각으로 정보를 전달할 수 있습니다.

게임 컨트롤러

  • 총 발사
  • 충돌
  • 아이템 획득

등을 서로 다른 진동 패턴으로 표현할 수 있습니다.

교육용 프로젝트

ESP32와 결합하면:

  • 촉각 인터페이스
  • 시각장애인 보조 장치
  • 인터랙티브 전시물

등을 쉽게 제작할 수 있습니다.

마무리

진동 모터는 단순한 출력 장치처럼 보이지만, 실제로는 사용자 경험을 크게 향상시키는 중요한 인터페이스입니다.

DRV2605L은 단순히 모터를 켜고 끄는 수준을 넘어 다양한 촉각 효과를 손쉽게 구현할 수 있도록 도와주는 전문 햅틱 드라이버입니다.

ESP32, Arduino, Raspberry Pi와 쉽게 연결할 수 있으며, 복잡한 햅틱 알고리즘을 직접 구현하지 않아도 수준 높은 사용자 경험을 제공할 수 있다는 점이 큰 장점입니다.

만약 여러분이 웨어러블 기기, IoT 장치, 게임 컨트롤러, 스마트 알림 시스템을 개발하고 있다면 DRV2605L은 매우 흥미로운 선택지가 될 것입니다.

+ Recent posts