PIMORONI 리니어 진동모터(LRA) + DRV2605 드라이버 모듈 아두이노에서 사용하기

Cover Image

소개 #

이전에 라즈베리파이 5를 사전구매하며 배송비가 아까워 함께 구매했던 모듈입니다.

LRA 방식이라 부르는 리니어 액추에이터가 내장된 모터가 드라이버와 함께 붙어있어 테스트용으로 사용하기에 괜찮아 보였습니다.

IMG_2444.jpeg

도착한 제품을 확인해보니 친절하게도 5V 사용 가능하다는 점과 I2C 주소가 적혀있었습니다. 엄청난 도움이 되는건 아니지만 귀엽네요 ㅎㅎㅎ

모듈 사양 #

전면 사진
PIMORONI 쇼핑몰 이미지, 전면 [링크]
후면 사진
PIMORONI 쇼핑몰 이미지, 전면 [링크]
DRV2605 데이터시트 중 일부
DRV2605 데이터시트 중 일부 [링크]

DRV2605L 드라이버는 LRA, ERM 두 종류의 진동모터를 지원합니다.

immersion의 TouchSense 2200 라이브러리가 내장되어 있어 123가지의 미리 정의된 햅틱을 쉽게 활용할 수 있습니다. (IC에 라이센스 포함됨) Audio-toVibe 기능을 활용하면 IC의 Input 핀을 통해 오디오를 입력받아 진동으로 재생할 수 있다고 하네요. 언젠가 시간이 되면 테스트해서 추가해보겠습니다.

이외에도 미리 햅틱 패턴을 정해두고 IC의 Input핀에 신호를 보내면 자동으로 실행하는 기능이 합니다.

결선 #

납땜 대신 포고핀 클립을 활용했습니다.
납땜 대신 포고핀 클립을 활용했습니다.
아두이노모듈
5VVCC
GNDGND
A4SDA
A5SCL

소스코드 #

라이브러리 #

PIMORONI에서는 라이브러리를 제공하고 있지 않아 Adafruit의 라이브러러리를 사용합니다.

스크린샷 2024-05-01 오후 9.38.17.webp

라이브러리 매니저에서 “Adafruit DRV2605”를 검색해 라이브러리를 설치해주세요.

123가지 햅틱 순차 실행 예제 #

DRV2605 진동모터 드라이버 아두이노 예제 코드 (한국어 주석)

DRV2605 진동모터 드라이버 아두이노 예제 코드 (한국어 주석)

DRV2605 진동모터 드라이버 아두이노 예제 코드 (한국어 주석). GitHub Gist: instantly share code, notes, and snippets.

gist.github.com

앞서 언급한 IC 내장 햅틱을 순차적으로 출력하는 예제 코드입니다.

ERM이 기본값인 기본 예제를 LRA에 맞게 수정하고, 한국어 주석을 추가했습니다.

작동 #