Category (Click)
개발보드 덕질하기

[Arduino] PIMORONI 리니어 진동모터(LRA) + DRV2605 드라이버 모듈

 차완기 - @5/1/2024, 10:33:00 PM

소개

이전에 라즈베리파이 5를 사전구매하며 배송비가 아까워 함께 구매했던 모듈입니다.
LRA 방식이라 부르는 리니어 액추에이터가 내장된 모터가 드라이버와 함께 붙어있어 테스트용으로 사용하기에 괜찮아 보였습니다.
도착한 제품을 확인해보니 친절하게도 5V 사용 가능하다는 점과 I2C 주소가 적혀있었습니다. 엄청난 도움이 되는건 아니지만 귀엽네요 ㅎㅎㅎ
진동모터의 방식과 심지어 예제까지도 그럼 글은 왜쓴거지 잘 나와있어 위를 참고하면 좋을것 같습니다.

모듈 사양

PIMORONI 쇼핑몰 이미지, 전면 [링크]
PIMORONI 쇼핑몰 이미지, 전면 [링크]
작동 전압: 2~5 V (3.3, 5 V 호환)
통신 인터페이스: I2C
기본 주소: 0x5A (7b’01011010)
햅틱 드라이버 내장: DRV2605L
LRA 진동모터 내장: ELV1411A
기타: 역전압 보호 기능
DRV2605 데이터시트 중 일부 [링크]
DRV2605L 드라이버는 LRA, ERM 두 종류의 진동모터를 지원합니다.
immersion의 TouchSense 2200 라이브러리가 내장되어 있어 123가지의 미리 정의된 햅틱을 쉽게 활용할 수 있습니다. (IC에 라이센스 포함됨) Audio-toVibe 기능을 활용하면 IC의 Input 핀을 통해 오디오를 입력받아 진동으로 재생할 수 있다고 하네요. 언젠가 시간이 되면 테스트해서 추가해보겠습니다.
이외에도 미리 햅틱 패턴을 정해두고 IC의 Input핀에 신호를 보내면 자동으로 실행하는 기능이 합니다.

결선

납땜 대신 포고핀 클립을 활용했습니다.
아두이노
모듈
5V
VCC
GND
GND
A4
SDA
A5
SCL

소스코드

라이브러리

PIMORONI에서는 라이브러리를 제공하고 있지 않아 Adafruit의 라이브러러리를 사용합니다.
라이브러리 매니저에서 “Adafruit DRV2605”를 검색해 라이브러리를 설치해주세요.

123가지 햅틱 순차 실행 예제

앞서 언급한 IC 내장 햅틱을 순차적으로 출력하는 예제 코드입니다.
ERM이 기본값인 기본 예제를 LRA에 맞게 수정하고, 한국어 주석을 추가했습니다.

작동