【雕爷学编程】Arduino动手做(190)---MAX4466声音模块2

37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手试试多做实验,不管成功与否,都会记录下来------小小的进步或是搞不掂的问题,希望能够抛砖引玉。

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验一百九十:MAX4466声音传感器 驻极体话筒放大器 麦克风可调功放模块 microphone


知识点:MAX4466芯片

是微功率运算放大器,经过优化,可用作麦克风前置放大器。它们提供了优化的增益带宽产品与电源电流的理想组合,以及超小型封装中实现低电压工件环境。 MAX4466具有增益稳定特性,仅需24μA的电源电流即可提供200kHz的增益带宽。经过解压缩,可实现+5V/V的最小稳定增益,并提供600KHZ增益带宽。此外这些放大器具有轨到轨输出,高 AVOL ,以及出色的电源抑制和共模抑制比,适合在嘈杂环境中工作。广泛应用于蜂窝电话、数字复读装置、耳机、助听器、麦克风前置放大器、便携计算机和语音识别系统中。

主要特性

1、+2.4V 至 +5.5V 电源电压运行版本,

2、可提供 5nA 完全关断(MAX4467/MAX4468)

3、出色的电源抑制比:112dB

4、出色的共模抑制比:126dB

5、高 AVOL:125dB (RL= 100kΩ)

6、轨到轨输出

7、低 24μA 静态电源

8、电流增益带宽积:

200kHz (MAX4465/MAX4467/MAX4469)

600kHz AV≥5 (MAX4466/MAX4468)

9、采用节省空间的封装

5-Pin SC70 (MAX4465/MAX4466)

8 引脚 SOT23 (MAX4467/MAX4468/MAX4469)

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)

实验一百八十五:MAX4466声音传感器 低功耗驻极体话筒放大器 麦克风可调功放模块 microphone

项目之二:设定声音强度阙值的声控开关(这里控制LED灯的亮灭)

实验开源代码

cpp 复制代码
/*
  【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  实验一百八十五:MAX4466声音传感器 低功耗驻极体话筒放大器 麦克风可调功放模块 microphone
  项目之二:设定声音强度阙值的声控开关(这里控制LED灯的亮灭)
  模块接线:LED接D13
  MAX4466  Arduino
  VCC        5V
  GND        GND
  OUT         A0
*/

const int SOUND_PIN = A0;
const int LED_PIN = 13;

void setup() {
  pinMode(LED_PIN, OUTPUT);
  Serial.begin(9600);
}

void loop() {
  // 读取A0模拟信号
  int value = analogRead(SOUND_PIN);
  // 输出信号值
  Serial.println(value);
  if (value > 353) {
    // 大于阈值,引脚13输出高电平,LED点亮
    digitalWrite(LED_PIN, HIGH);
    Serial.println("LED亮");
    delay(200);
  } else {
    // 小于阈值,引脚13输出低电平,LED熄灭
    digitalWrite(LED_PIN, LOW);
    delay(100);
  }
}

实验串口返回情况

实验场景图

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)

实验一百八十五:MAX4466声音传感器 低功耗驻极体话筒放大器 麦克风可调功放模块 microphone

项目之三:声控LED之二

实验开源代码

cpp 复制代码
/*
【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验一百八十五:MAX4466声音传感器 低功耗驻极体话筒放大器 麦克风可调功放模块 microphone
项目之三:声控LED之二
模块接线:LED接 D13
MAX4466  Arduino
VCC        5V
GND        GND
OUT         A0
*/

int Sen = 0;
int val = 0;
int LED = 13;
int I = 0;

void setup() {
  pinMode(LED, OUTPUT);
  Serial.begin(9600);
}

void loop() {
  val = analogRead(Sen);
  Serial.println(val);
  Serial.println(I);
  if (val > 700 || val <385 ) {
    I = I + 1;
  }
  if (I == 1) {
    digitalWrite(LED, HIGH);
    Serial.println("LED_ON");
  }
  if (I == 2) {
    digitalWrite(LED, LOW);
    Serial.println("LED_OFF");
    I = 0;
  }
  delay(200);
}

实验串口返回情况

实验串口绘图器返回情况

实验开源图形编程(Mind+、Mixly、编玩边学)

项目之四:简易声控开关

实验串口返回情况

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)

实验一百八十五:MAX4466声音传感器 低功耗驻极体话筒放大器 麦克风可调功放模块 microphone

项目之五:简易测量噪音水平(以dB为单位)

实验开源代码

cpp 复制代码
/*
  【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  实验一百八十五:MAX4466声音传感器 低功耗驻极体话筒放大器 麦克风可调功放模块 microphone
  项目之五:简易测量噪音水平(以dB为单位)
  模块接线:
  MAX4466  Arduino
  VCC        5V
  GND        GND
  OUT         A0
*/

const int MIC = 0; //麦克风放大器输出连接到引脚 A0
int adc;
int dB, PdB; //将保存每次从麦克风读取的值的变量

void setup() {
  Serial.begin(9600); //将波特率设置为 9600,以便我们可以检查麦克风在串行监视器上获得的值
  pinMode(13, OUTPUT); //LED灯接入D13脚,并设置为输出
}

void loop() {

  PdB = dB; //在此处存储 dB 的前一个
  adc = analogRead(MIC); //从放大器读取 ADC 值
  Serial.println (adc);//打印 ADC 用于初始计算
  dB = (adc + 83.2073) / 11.003; //使用回归值将 ADC 值转换为 dB

  if (PdB != dB)
    Serial.print ("dB=");
    Serial.println (dB);

  if (dB > 50) //当dB值大于50时,点亮LED灯
  {
    digitalWrite(13, HIGH);   // 打开 LED(HIGH 是高电平)
    delay(100);               // 等一下,延时500毫秒
    digitalWrite(13, LOW);
  }
  delay(100);
}

实验串口绘图器返回情况(讲话声)

相关推荐
小c君tt2 分钟前
MFC中 error C2440错误分析及解决方法
c++·mfc
木向36 分钟前
leetcode92:反转链表||
数据结构·c++·算法·leetcode·链表
阿阿越38 分钟前
算法每日练 -- 双指针篇(持续更新中)
数据结构·c++·算法
hunandede1 小时前
FFmpeg存放压缩后的音视频数据的结构体:AVPacket简介,结构体,函数
c++
hunandede1 小时前
FFmpeg 4.3 音视频-多路H265监控录放C++开发十三:将AVFrame转换成AVPacket。视频编码,AVPacket 重要函数,结构体成员学习
c++·ffmpeg·音视频
奋斗的小花生7 小时前
c++ 多态性
开发语言·c++
闲晨7 小时前
C++ 继承:代码传承的魔法棒,开启奇幻编程之旅
java·c语言·开发语言·c++·经验分享
UestcXiye9 小时前
《TCP/IP网络编程》学习笔记 | Chapter 3:地址族与数据序列
c++·计算机网络·ip·tcp
霁月风10 小时前
设计模式——适配器模式
c++·适配器模式
jrrz082810 小时前
LeetCode 热题100(七)【链表】(1)
数据结构·c++·算法·leetcode·链表