iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 17
0
IoT

homekit+pixhawk系列 第 17

QMK加上震動回饋吧!

  • 分享至 

  • xImage
  •  

在幾年前蘋果提出了iphone 7,用震動回饋來代替了實體的home鍵,一直到iphone 8出現,都使用著震動回饋的home鍵,如今,可以將震動回饋反應至鍵盤上,可以讓紅軸或是黑軸等線性軸得到震動的回饋,震動時代表著有按鍵被觸發或是釋放,也就是常見的壓下以及放開,QMK讓鍵盤可以使用DRV2605L的馬達驅動模組來驅動震動馬達,當然震動馬達有分成兩種,一種是比較旋轉馬達(Eccentric Rotating Mass vibration motors, ERM),透過轉動偏心的重物來提供震動,另一種則是比較貴的x軸線性馬達(Linear resonant actuators, LRA),透過彈簧以及磁鐵來提供震動,在此將介紹兩種不同的馬達以及測試可以用的馬達。

馬達挑選

QMK的官網特別提供了兩種測試可用的馬達,一種是LV061228B-L65-A,是一種LAR震動馬達,另一種是Mini Motor Disc,是一種ERM馬達,照片分別如下所示

  1. LV061228B-L65-A
    LV061228B-L65-A
  2. Mini Motor Disc
    Mini Motor Disc

驅動版

QMK 使用DRV2605L來驅動馬達,或者可以透過一隻單獨的接腳來控制馬達(但要記得提供馬達電源,需搭配合適的驅動電流),因此建議使用DRV2605L來驅動馬達,比較不需擔心電流問題。DRV2605L使用I2C與鍵盤的控制器連接,因此需把鍵盤控制器32u4上的I2C接腳空出來,不然無法接上此控制板。

config

使用DRV2605L來驅動馬達時,需要在rules.mk加入下列這行

HAPTIC_ENABLE += DRV2605L

然後在config.h裡面加上這一些,分為ERM以及LRA的版本,兩種版本都要了解所使用的馬達的合理驅動電壓,若不參照所使用的馬達的datasheet時,則後果自負

  1. ERM版本
#define FB_ERM_LRA 0
#define FB_BRAKEFACTOR 3 /* For 1x:0, 2x:1, 3x:2, 4x:3, 6x:4, 8x:5, 16x:6, Disable Braking:7 */
#define FB_LOOPGAIN 1 /* For  Low:0, Medium:1, High:2, Very High:3 */

/* Please refer to your datasheet for the optimal setting for your specific motor. */
#define RATED_VOLTAGE 3
#define V_PEAK 5
  1. LRA版本
#define FB_ERM_LRA 1
#define FB_BRAKEFACTOR 3 /* For 1x:0, 2x:1, 3x:2, 4x:3, 6x:4, 8x:5, 16x:6, Disable Braking:7 */
#define FB_LOOPGAIN 1 /* For  Low:0, Medium:1, High:2, Very High:3 */

/* Please refer to your datasheet for the optimal setting for your specific motor. */
#define RATED_VOLTAGE 2
#define V_PEAK 2.8
#define V_RMS 2.0 
#define V_PEAK 2.1
#define F_LRA 205 /* resonance freq */

keycode設定

keycode 描述
HPT_ON 開啟震動模式
HPT_OFF 關閉震動模式
HPT_TOG 震動開關
HPT_RST 恢復成預設的震動模式
HPT_FBK 設定按下按鍵震動還是釋放按鍵震動還是按下按鍵或是釋放按鍵都震動
HPT_MODI 下一個DRV2605L震動模式
HPT_MODD 前一個DRV2605L震動模式
HPT_CONT 連續震動開關
HPT_CONI 增加DRV2605L震動強度
HPT_COND 減少DRV2605L震動強度

DRV2605L提供許多震動模式,可藉由在config.h裡面加入來設定預設的震動模式,震動模式的名稱以及代碼可見這裡的詳細說明

#define DRV_MODE_DEFAULT *sequence name or number*

上一篇
QMK鍵盤加上背光吧!
下一篇
幫QMK鍵盤加上RGB背光吧!
系列文
homekit+pixhawk30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言