0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

100円のイヤホンでバイブコーディング用のマイクを作る

0
Last updated at Posted at 2026-06-02

はじめに

こんなのを作ります

しくみ

100均で売っているイヤホンのマイク-Common間は-2.2V程度の電位差があり、ボタンを押すと0Vになるしくみのようです。
これを利用して、Common-マイク間の電圧をArduinoから監視し、値が小さくなったら音声入力ショートカット(Win+H)を押すことでマイク入力を実現します(Macだとマイクボタンを押すことでMusicアプリが立ち上がってしまうようです)。
image.png

準備するもの

  1. まずは100均で
    ・端子が4か所(4極)に分かれている
    ・マイク部分にボタンが1つだけついている
    イヤホン購入してください。
    USBのものや端子が3極のものは今回の方法は使用できません
    IMG_6318.png
  2. Arduinoはキーボード化できるものであれば大丈夫です。

作り方(ハードウェア)

  1. 端子に近い場所でコードの被膜を剥き、4極のうち下2か所につながっている線を取り出します。
    ※何種類かのヘッドホンを試してみましたが、いずれも赤い線がCommon、無色がマイクでした。

  2. 次に、4極目のCommon(赤)をアナログ入力に、3極目のMicをGNDに接続します。
    Mic-Common間に-2.2V程度出ているので、Commonのほうをアナログに入力します。
    ※今回はA0ピンをアナログ、D1ピンをLOWに落としてGND代わりにしました
    IMG_6316.jpeg

  3. 接続した部分はマスキングテープやグルーガンなどで補強しておきます
    IMG_6317.jpeg

作り方(ソフトウェア)

今回はXIAO RP2040を使用しましたが、他のArduinoを使う場合はアナログ値の解像度(最大値が1024,2048等)にあわせてBUTTON_THRESHOLDを変更してください

#include <Arduino.h>
#include <Keyboard.h>

#define ANALOG_READ_PIN A0 // Commonをつないだピン
#define GND_PIN D1 // Micをつないだピン(GNDの代わり)
#define BUTTON_THRESHOLD 64 // Analog値がこれ以下でボタンが押されたとする

void toggleMicButton() {
  Keyboard.press(KEY_LEFT_GUI);
  Keyboard.press('h');
  //Serial.println("Sending key for win (LeftGUI+h)");
  delay(30);
  Keyboard.releaseAll();
}

void setup() {
  pinMode(GND_PIN, OUTPUT);
  digitalWrite(GND_PIN, LOW); // Ensure GND pin is LOW to provide a common   analogReadResolution(12);
ground reference for the button
  Serial.begin(1150200);
  Keyboard.begin();
  delay(1000);
}

void loop() {
  static bool wasPressed = false;
  int val = analogRead(ANALOG_READ_PIN);
  bool isPressed = (val < BUTTON_THRESHOLD);
  if (isPressed && !wasPressed) {
    toggleMicButton();
  }

  wasPressed = isPressed;
  delay(33);
}

以上です!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?