【雕爷学编程】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);
}

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

相关推荐
编啊编程啊程5 小时前
JUC之AQS
java·开发语言·jvm·c++·kafka
jingfeng5148 小时前
C++模板进阶
java·c++·算法
程序员 _孜然8 小时前
Ubuntu/Debian修改网卡名字enP3p49s0为eth0
linux·运维·驱动开发·嵌入式硬件·ubuntu·debian
头发掉光的程序员8 小时前
第七章 利用Direct3D绘制几何体
c++·windows·图形渲染·direct12
hahaha60168 小时前
pcie实现虚拟串口
stm32·单片机·fpga开发
Hard_August10 小时前
STM32窗口看门狗(WWDG)深度解析:精准守护嵌入式系统的实时性
stm32·单片机·嵌入式硬件·物联网
李永奉11 小时前
51单片机-实现外部中断模块教程
单片机·嵌入式硬件·51单片机
重启的码农13 小时前
llama.cpp 分布式推理介绍(7) 远程后端缓冲区 (RPC Buffer)
c++·人工智能·神经网络
Vect__13 小时前
链表漫游指南:C++ 指针操作的艺术与实践
数据结构·c++·链表
木木灬.14 小时前
单片机---------WIFI模块
单片机·嵌入式硬件