Grove - アナログマイク
この文書は AI によって翻訳されています。内容に不正確な点や改善すべき点がございましたら、文書下部のコメント欄または以下の Issue ページにてご報告ください。
https://github.com/Seeed-Studio/wiki-documents/issues
Grove - アナログマイクは、高性能な SiSonic MEMS 技術を基盤としており、オープンソースハードウェア業界に向けて、極めて低ノイズ、低消費電流、信頼性が高く、コンパクトなマイクを提供します。また、厳しい条件下での性能が向上しています。
Grove - アナログマイクは、優れた音声性能が求められる音センサーに最適な選択肢です。最大20dBのゲインを提供できるほか、低消費電流と最大RF保護機能を備えており、ArduinoやRaspberry Piに最適なマイクです。当社の注目製品であるReSpeaker Core v2.0もMEMS技術を採用しており、Grove - アナログマイクと同じマイクを使用しています。高品質なマイクをお探しなら、こちらが最適です。
特徴
- 高性能なSiSonic MEMS技術
- 極めて低ノイズ、低消費電流、信頼性の高い設計
- コンパクトで洗練されたデザイン
この音センサーは周囲に音があるかどうかを検出するためのものであり、音声信号を収集するためのモジュールとして使用しないでください。例えば、音声制御ランプを作るためには使用できますが、録音デバイスとしては使用できません。
応用例
- 音センサー
- 音声信号の収集
- 音声認識
- 録音
仕様
項目 | 値 |
---|---|
寸法 | 20mm x 20mm |
動作電圧 | 3.3V |
動作電流 | 5mA |
動作温度範囲 | -40 °C ~ 100 °C |
Groveモジュールの詳細については、[Grove System](https://wiki.seeedstudio.com/ja/Grove_System/)をご参照ください。
対応プラットフォーム
Arduino | Raspberry Pi | |||
---|---|---|---|---|
![]() | ![]() | ![]() | ![]() | ![]() |
上記で対応プラットフォームとして記載されているものは、モジュールのソフトウェアまたは理論的な互換性を示しています。ほとんどの場合、Arduinoプラットフォーム向けのソフトウェアライブラリやコード例のみを提供しています。すべての可能なMCUプラットフォーム向けにソフトウェアライブラリやデモコードを提供することはできません。そのため、ユーザー自身でソフトウェアライブラリを作成する必要があります。
はじめに
Arduinoを初めて使用する場合は、開始前に[Arduinoの使い方](https://wiki.seeedstudio.com/ja/Getting_Started_with_Arduino/)をご覧になることを強くお勧めします。
Arduinoで遊ぶ
ハードウェア
Seeeduino V4.2 | Base Shield | Grove-アナログマイクロフォン |
---|---|---|
![]() | ![]() | ![]() |
今すぐ購入 | 今すぐ購入 | 今すぐ購入 |
- ステップ 1. Grove-Sound SensorをGrove-Base ShieldのポートA0に接続します。
- ステップ 2. Grove-Base ShieldをSeeeduinoに差し込み、USBケーブルを使用してSeeeduinoをPCに接続します。
Grove Base Shieldがない場合は、以下のようにGrove-Sound SensorをSeeeduinoに直接接続することもできます。
Seeeduino | Grove-Sound Sensor |
---|---|
5V | 赤 |
GND | 黒 |
A1 | 白 |
A0 | 黄 |
ソフトウェア
- ステップ 1. 以下のコードをArduino IDEにコピーしてArduinoにアップロードしてください。コードのアップロード方法がわからない場合は、コードのアップロード方法をご確認ください。
/*
アナログ入力、アナログ出力、シリアル出力
アナログ入力ピンを読み取り、その結果を0から255の範囲にマッピングし、
結果を使用して出力ピンのパルス幅変調(PWM)を設定します。
また、結果をシリアルモニタに出力します。
*/
// これらの定数は変更されません。使用するピンに名前を付けるために使用されます。
const int analogInPin = A0; // ポテンショメータが接続されているアナログ入力ピン
const int analogOutPin = 9; // LEDが接続されているアナログ出力ピン
int sensorValue = 0; // ポテンショメータから読み取った値
int outputValue = 0; // PWM(アナログ出力)に出力する値
void setup() {
Serial.begin(9600); // シリアル通信を9600 bpsで初期化
}
void loop() {
sensorValue = analogRead(analogInPin); // アナログ入力値を読み取る
outputValue = map(sensorValue, 0, 1023, 0, 255); // アナログ出力の範囲にマッピング
analogWrite(analogOutPin, outputValue); // アナログ出力値を変更
Serial.println(outputValue); // 結果をシリアルモニタに出力
// アナログ-デジタルコンバータが最後の読み取り後に安定するまで2ミリ秒待機
delay(2);
}
- ステップ 2. シリアル > プロッタをクリックして、センサーの変化曲線を取得します。音を立てて値の変化を確認してください。
Wio Terminalで遊ぶ
ハードウェア
Wio Terminal | Grove-アナログマイクロフォン |
---|---|
![]() | ![]() |
今すぐ購入 | 今すぐ購入 |
ハードウェア接続
ステップ 1 Grove-アナログマイクロフォンをGroveケーブルを介してWio Terminalに接続し、USBケーブルを使用してWio TerminalをPCに接続します。
ステップ 2 デモコードをArduino IDEにコピーしてアップロードします。
ソフトウェア
#include "seeed_line_chart.h" // ライブラリをインクルード
TFT_eSPI tft;
#define LINE_DIS 0X00
#define STRING_DIS 0X01
#define max_size 30 // データの最大サイズ
doubles data; // データを格納するためのdoubles型を初期化
int brightness;
TFT_eSprite spr = TFT_eSprite(&tft); // スプライト
const int MIC = A0; // マイクアンプ出力がピンA0に接続されている
int adc;
int dB, PdB; // マイクから読み取った値を保持する変数
uint8_t mode = LINE_DIS;
void setup()
{
Serial.begin(9600); // ボーレートを9600に設定して、シリアルモニタでマイクが取得する値を確認
pinMode(A0, INPUT);
pinMode(WIO_KEY_C, INPUT_PULLUP);
pinMode(WIO_BUZZER, OUTPUT);
tft.begin();
spr.createSprite(TFT_HEIGHT, TFT_WIDTH);
spr.setRotation(3);
tft.setRotation(3);
}
void loop() {
if (digitalRead(WIO_KEY_C) == LOW) {
mode ++;
if(mode > STRING_DIS ) mode = LINE_DIS;
while(!digitalRead(WIO_KEY_C));
}
display(mode);
}
void display(uint8_t mode)
{
adc = analogRead(MIC); // アンプからADC値を読み取る
//Serial.println (adc);// 初期計算用にADCを出力
dB = (adc + 83.2073) / 7.003; // 回帰値を使用してADC値をdBに変換
if(dB > 50)
{
analogWrite(WIO_BUZZER, 128);
}else{
analogWrite(WIO_BUZZER, 0);
}
spr.fillSprite(TFT_WHITE);
if (data.size() == max_size)
{
data.pop(); // 最初に読み取った変数を削除
}
data.push(dB); // 変数を読み取り、データに格納
// ライングラフタイトルの設定
auto header = text(0, 0)
.value("MIC DB Readings")
.align(center)
.valign(vcenter)
.width(tft.width())
.thickness(2);
header.height(header.font_height() * 2);
header.draw(); // ヘッダーの高さはフォントの高さの2倍
if (LINE_DIS == mode){
// ライングラフの設定
auto content = line_chart(20, header.height()); //(x,y) ライングラフの開始位置
content
.height(tft.height() - header.height() * 1.5) // ライングラフの実際の高さ
.width(tft.width() - content.x() * 2) // ライングラフの実際の幅
.based_on(0.0) // y軸の開始点(float型で指定)
.show_circle(false) // 各ポイントに円を描画(デフォルトはオン)
.value(data) // ライングラフにデータを渡す
.color(TFT_RED) // ラインの色を設定
.draw();
} else if (STRING_DIS == mode){
for(int8_t line_index = 0;line_index < 5 ; line_index++)
{
spr.drawLine(0, 50 + line_index, tft.width(), 50 + line_index, TFT_GREEN);
}
auto header = text(0, 0)
.thickness(1);
spr.setFreeFont(&FreeSansBoldOblique24pt7b);
if(dB > 50){
spr.setTextColor(TFT_RED);
}else{
spr.setTextColor(TFT_BLUE);
}
spr.drawFloat(dB,2,70,110);
spr.drawString(" dB",80 + 100,110,1);
}
spr.pushSprite(0, 0);
delay(100);
}
すべてが正常に動作していれば、Wio Terminal の画面に画像が表示されます。

回路図オンラインビューア
リソース
- [ZIP][Grove-Analog_Microphone_v1.0_SCH&PCB.zip](https://files.seeedstudio.com/wiki/Grove-Analog-Microphone/res/202002902_Grove-Analog_Microphone_v1.0_SCH&PCB.zip)
- [PDF][SMD Mic OMNI-22DB_Specification.pdf](https://files.seeedstudio.com/wiki/Grove-Analog-Microphone/res/SMD_Mic_OMNI-22DB_Specification.pdf)
技術サポートと製品ディスカッション
弊社製品をお選びいただきありがとうございます!製品をご利用いただく際に、スムーズな体験を提供するため、さまざまなサポートをご用意しています。お客様の好みやニーズに応じた複数のコミュニケーションチャネルを提供しています。