akasaka が 2024年04月13日13時05分15秒 に編集
初版
タイトルの変更
iPhoneの触覚フィードバックユニット(Taptic Engine)のDIP化方法
タグの変更
振動モータ
スマホパーツ
触覚フィードバック
メイン画像の変更
記事種類の変更
セットアップや使用方法
ライセンスの変更
(CC BY 4+) Creative Commons Attribution CC BY version 4.0 or later
本文の変更
# はじめに [前回の記事](https://elchika.com/article/b9f39c29-64aa-42ab-8f73-e6e27a72bd0e/)に紹介した天気予報ディスプレイの小型バージョンを設計していた間に、ブザーの代わりに触覚(ハプティック)フィードバックを採用したら面白いんじゃない!だと思いましたので、今回の実験で古いスマホから取り外したフィードバックユニットを動かしてみます。 # 実験体 今回の実験体としては、iPhone 7 PlusのTaptic Engineを使用しています。 ![キャプションを入力できます](https://camo.elchika.com/24e8e7725b6f89d5d382994ec9d4bcd5d26a2b3c/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f32613133303739382d616230632d343266652d383562632d3565623962353566363661312f61613331653162662d363966302d343238362d626363392d343139346163376333653532/) 普通はリボンケーブルが付いていますけど、取り切った前に写真を撮り忘れた… 入手方法としては、壊れているスマホをばらして抜け出すか、色々のスマホパーツ通販サイトに取り扱ってるようです。(アリエクとかでも安く買えます) # 接続方法 リボンケーブルが出ている下面の所の横に黒いテープが貼り付けています。イソプロパノールなどで接着剤を溶かして外すと6個のテストポイントを見えます。 ![キャプションを入力できます](https://camo.elchika.com/dc48f22c67452f7571e51b532bfd290ac6ddd65e/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f32613133303739382d616230632d343266652d383562632d3565623962353566363661312f66386638626639342d326666392d343066622d623134622d313539666565656331376164/) 他のテストポイントの使い方がわかりませんけど、外側の2個は内蔵コイルに繋がってるようです。 要らないポイントにカプトンテープをかけると半田付けがやりやすくなります。 ![キャプションを入力できます](https://camo.elchika.com/9458db6a74cefc368474a509ee51ea96db4e494a/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f32613133303739382d616230632d343266652d383562632d3565623962353566363661312f39393031616562372d373038662d343938352d383063652d643633636533366231313766/) ※ ちなみにテストポイントの列全体に7mmしかないのでルーペとかがあると便利かもしれません。 半田付け終わってからパターンを取れないようにカプトンなどに巻き込む方がおすすめです。 ![キャプションを入力できます](https://camo.elchika.com/c7d3f1f48f949fb92fcefe3dacf4752cc0f1ba0b/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f32613133303739382d616230632d343266652d383562632d3565623962353566363661312f39306535653639362d363864302d346336332d623838372d613836313966323339663465/) # 使用方法 これからの制御は基本的にブザーやスピーカーより変わらないです。試しに3.5mmジャックを接続してみました。 ![キャプションを入力できます](https://camo.elchika.com/b8667fcd73fcc04210b64dd55eea0e88d32fc4b4/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f32613133303739382d616230632d343266652d383562632d3565623962353566363661312f38343636323733662d636536632d343163652d623234352d353233343437656237366438/) サウンドカードのヘッドホン端子に挿してAudacityからテスト信号を再生します。 先ずは Generate→Tone を選択します。 ![キャプションを入力できます](https://camo.elchika.com/6582f55140f68631fca56a162202ffb49d51b89f/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f32613133303739382d616230632d343266652d383562632d3565623962353566363661312f35646231306562622d306266612d343462652d393336312d643933663237646137653333/) Tone画面が開いたら設定は以下のように変更します: ・Waveform(波形): Square (方形波) ・Frequency(周波数):10 Hz (サウンドカードにはローパスフィルタが入ってるから10Hz以下はあまり出力できない) ・Amplitude: 1 ![キャプションを入力できます](https://camo.elchika.com/19c4d0e81bfcb791f1e5d4ec1107fd5b9b59ad52/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f32613133303739382d616230632d343266652d383562632d3565623962353566363661312f39303666383937372d316330322d343865382d393463332d306666623264333366373936/) 音量を100%に設定してPreviewを押すと…ちゃんと振動しますね! 周波数をいじってみたら、共振周波数は 175㎐ 前後のようです。175Hzの方形波を再生すると着信のときの「ブー」みたいな強い振動を感じます。 # Arduinoなどと使用 Arduino Pro Microのpin 2にTaptic Engineを接続して以下のソースコードで正常に動きました。 ```arduino // 回路: // [Arduino]TAPTIC_PIN -> [Taptic Engine] -> GND[Arduino] #define TAPTIC_PIN 2 void buzz() { tone(TAPTIC_PIN, 175); delay(1000); noTone(2); } 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のマイコンから直接動かすと振動は弱くなるかもしれません。簡単のアンプ回路を作れば解決できるだと思います。