Khác biệt giữa các bản “Cảm biến âm thanh tích hợp MAX9814 + AGC”

Từ ChipFC Wiki
Bước tới: chuyển hướng, tìm kiếm
(Sử dụng)
Dòng 52: Dòng 52:
 
|<syntaxhighlight lang="cpp">
 
|<syntaxhighlight lang="cpp">
  
<!-- nội dung source code -->
+
/****************************************
 +
Example Sound Level Sketch for the
 +
Adafruit Microphone Amplifier
 +
****************************************/
 +
 
 +
const int sampleWindow = 50; // Sample window width in mS (50 mS = 20Hz)
 +
unsigned int sample;
 +
 
 +
void setup()
 +
{
 +
  Serial.begin(9600);
 +
}
 +
 
 +
 
 +
void loop()
 +
{
 +
  unsigned long startMillis= millis();  // Start of sample window
 +
  unsigned int peakToPeak = 0;  // peak-to-peak level
 +
 
 +
  unsigned int signalMax = 0;
 +
  unsigned int signalMin = 1024;
 +
 
 +
  // collect data for 50 mS
 +
  while (millis() - startMillis < sampleWindow)
 +
  {
 +
      sample = analogRead(0);
 +
      if (sample < 1024)  // toss out spurious readings
 +
      {
 +
        if (sample > signalMax)
 +
        {
 +
            signalMax = sample;  // save just the max levels
 +
        }
 +
        else if (sample < signalMin)
 +
        {
 +
            signalMin = sample;  // save just the min levels
 +
        }
 +
      }
 +
  }
 +
  peakToPeak = signalMax - signalMin;  // max - min = peak-peak amplitude
 +
  double volts = (peakToPeak * 5.0) / 1024;  // convert to volts
 +
 
 +
  Serial.println(volts);
 +
}
  
 
</syntaxhighlight>
 
</syntaxhighlight>
 
|}
 
|}

Phiên bản lúc 10:13, ngày 21 tháng 7 năm 2017

Editor.png

Bài viết này đang được phát triển hoặc chỉnh sửa lớn.
Bạn có thể đóng góp để bài viết hoàn thiện hơn.
Sau khi chỉnh sửa xong thông báo này sẽ được gỡ bỏ.

Giới thiệu

Att2.png
  • Cảm biến âm thanh tích hợp MAX9814 với khả năng tự động điều chỉnh độ khuếch đại (AGC- Automatic Gain Control), điều này có nghĩa là các âm thanh lớn khi qua mạch sẽ tự động giảm tới mức ấn định và cũng tương tự các âm thanh nhỏ khi qua mạch sẽ tự động tăng tới mức ấn định.

Đặc điểm

  • Three Gain Settings (40dB, 50dB, 60dB)
  • Programmable Attack Time
  • Programmable Attack and Release Ratio
  • Nguồn cấp 2.7V - 5.5V
  • Low Input-Referred Noise Density of 30nV/√Hz
  • Low THD: 0.04% (typ)
  • Low-Power Shutdown Mode
  • Internal Low-Noise Microphone Bias, 2V

Sơ đồ chân

Thứ tự chân Tên gọi Mô tả
1 GND mass
2 Vdd Nguồn từ vi điều khiển
3 Gain Nguồn từ vi điều khiển
4 Out tín hiệu đầu ra
5 AR


Sử dụng

Sơ đồ kết nối



Source code mẫu:

/****************************************
Example Sound Level Sketch for the 
Adafruit Microphone Amplifier
****************************************/

const int sampleWindow = 50; // Sample window width in mS (50 mS = 20Hz)
unsigned int sample;

void setup() 
{
   Serial.begin(9600);
}


void loop() 
{
   unsigned long startMillis= millis();  // Start of sample window
   unsigned int peakToPeak = 0;   // peak-to-peak level

   unsigned int signalMax = 0;
   unsigned int signalMin = 1024;

   // collect data for 50 mS
   while (millis() - startMillis < sampleWindow)
   {
      sample = analogRead(0);
      if (sample < 1024)  // toss out spurious readings
      {
         if (sample > signalMax)
         {
            signalMax = sample;  // save just the max levels
         }
         else if (sample < signalMin)
         {
            signalMin = sample;  // save just the min levels
         }
      }
   }
   peakToPeak = signalMax - signalMin;  // max - min = peak-peak amplitude
   double volts = (peakToPeak * 5.0) / 1024;  // convert to volts

   Serial.println(volts);
}