はじめに
前回の記事に紹介した天気予報ディスプレイの小型バージョンを設計していた間に、ブザーの代わりに触覚(ハプティック)フィードバックを採用したら面白いんじゃない!だと思いましたので、今回の実験で古いスマホから取り外したフィードバックユニットを動かしてみます。
実験体
今回の実験体としては、iPhone 7 PlusのTaptic Engineを使用しています。
普通はリボンケーブルが付いていますけど、取り切った前に写真を撮り忘れた…
入手方法としては、壊れているスマホをばらして抜け出すか、色々のスマホパーツ通販サイトに取り扱ってるようです。(アリエクとかでも安く買えます)
接続方法
リボンケーブルが出ている下面の所の横に黒いテープが貼り付けています。イソプロパノールなどで接着剤を溶かして外すと6個のテストポイントを見えます。
他のテストポイントの使い方がわかりませんけど、外側の2個は内蔵コイルに繋がってるようです。
要らないポイントにカプトンテープをかけると半田付けがやりやすくなります。
※ ちなみにテストポイントの列全体に7mmしかないのでルーペとかがあると便利かもしれません。
半田付け終わってからパターンを取れないようにカプトンなどに巻き込む方がおすすめです。
使用方法
これからの制御は基本的にブザーやスピーカーより変わらないです。試しに3.5mmジャックを接続してみました。
サウンドカードのヘッドホン端子に挿してAudacityからテスト信号を再生します。
先ずは Generate→Tone を選択します。
Tone画面が開いたら設定は以下のように変更します:
・Waveform(波形): Square (方形波)
・Frequency(周波数):10 Hz (サウンドカードにはローパスフィルタが入ってるから10Hz以下はあまり出力できない)
・Amplitude: 1
音量を100%に設定してPreviewを押すと…ちゃんと振動しますね!
周波数をいじってみたら、共振周波数は 175㎐ 前後のようです。175Hzの方形波を再生すると着信のときの「ブー」みたいな強い振動を感じます。
Arduinoなどと使用
Arduino Pro Microのpin 2にTaptic Engineを接続して以下のソースコードで正常に動きました。
// 回路:
// [Arduino]TAPTIC_PIN -> [Taptic Engine] -> GND[Arduino]
#define TAPTIC_PIN 2
void buzz() {
tone(TAPTIC_PIN, 175);
delay(1000);
noTone(TAPTIC_PIN);
}
void setup() {
pinMode(TAPTIC_PIN, OUTPUT);
for(int i = 0; i < 3; i++) {
buzz();
delay(500);
}
}
void loop() {
digitalWrite(TAPTIC_PIN, HIGH);
delay(10);
digitalWrite(TAPTIC_PIN, LOW);
delay(990);
}
起動する時点で3回「ブー」のバイブレーションをして、1秒間隔で少しだけ叩くようになります。
※ 3V3や1V8のマイコンから直接動かすと振動は弱くなるかもしれません。簡単のアンプ回路を作れば解決できると思います。
投稿者の人気記事
-
akasaka
さんが
2024/04/13
に
編集
をしました。
(メッセージ: 初版)
-
akasaka
さんが
2024/04/13
に
編集
をしました。
(メッセージ: タイトル修正)
-
akasaka
さんが
2024/04/13
に
編集
をしました。
(メッセージ: ソースのミス修正)
-
akasaka
さんが
2024/04/13
に
編集
をしました。
ログインしてコメントを投稿する