【雕爷学编程】Arduino动手做(06)---KY-038声音传感器模块2

发布时间 2023-07-15 14:21:40作者: 行者花雕

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

 

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验六:KY-038高感度声音传感器模块

 

 

声音传感器的作用相当于一个话筒(麦克风)。它用来接收声波,显示声音的振动图象,但不能对噪声的强度进行测量。传感器内置一个对声音敏感的电容式驻极体话筒。声波使话筒内的驻极体薄膜振动,导致电容的变化,而产生与之对应变化的微小电压。这一电压随后被转化成0-5V的电压,经过A/D转换被数据采集器接受,并传送给Arduino uno。

实验开源仿真编程(Linkboy V4.62)

 

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

项目:音乐反应式 LED灯条

接线:声音模块数字端口DO接Uno的D7,D6接ws2812B LED灯条

Arduino实验开源代码

/*
  【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  实验六:KY-038高感度声音传感器模块
  接线:声音模块数字端口DO接Uno的D7,D6接ws2812B LED灯条
  项目:音乐反应式 LED灯条
*/

/*****************  NEEDED TO MAKE NODEMCU WORK ***************************/
#define FASTLED_INTERRUPT_RETRY_COUNT 0
//#define FASTLED_ESP8266_RAW_PIN_ORDER
/******************  LIBRARY SECTION *************************************/
#include <FastLED.h>
/*****************  LED LAYOUT AND SETUP *********************************/
#define NUM_LEDS 8
/*****************  DECLARATIONS  ****************************************/
CRGB leds[NUM_LEDS];
/*****************  GLOBAL VARIABLES  ************************************/
const int ledPin = 6; 
int sensorPin = 7;
boolean val = 0;
/*****************  SETUP FUNCTIONS  ****************************************/

void setup(){
  pinMode(ledPin, OUTPUT);
  pinMode(sensorPin, INPUT);
  Serial.begin (9600);
  FastLED.addLeds<WS2812B, ledPin, RGB>(leds, NUM_LEDS);
}
  
void loop (){
  val =digitalRead(sensorPin);
  Serial.println (val);
  // when the sensor detects a signal above the threshold value, LED flashes
  if (val==HIGH) {
    leds[0] = CRGB(255, 0, 0);
    FastLED.show();
    delay(500);  
    leds[1] = CRGB(0, 255, 0);
    FastLED.show();
    delay(500);
    leds[2] = CRGB(0, 0, 255);
    FastLED.show();
    delay(500);
    leds[3] = CRGB(150, 0, 255);
    FastLED.show();
    delay(500);
    leds[4] = CRGB(255, 200, 20);
    FastLED.show();
    delay(500);
    leds[5] = CRGB(85, 60, 180);
    FastLED.show();
    delay(500);
    leds[6] = CRGB(50, 255, 20);
    FastLED.show();
    delay(500);
    FastLED.show();
  } else {
    leds[8] = CRGB(150, 0, 255);
    FastLED.show();
  }
  FastLED.clear();
}

  

Arduino实验场景图

 

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

实验接线:声音模块数字端口DO接Uno的D2,D13接LED灯

  项目十四:简单的声音可视化LED灯

  实验说明:采用一元钱最普通的声音模块,关键是阙值电位器调到临界点

Arduino实验开源代码

 

/*
  【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  实验之六:KY-038声音传感器模块声控 感应小开关麦克风模块声音控制模块
  实验接线:声音模块数字端口DO接Uno的D2,D13接LED灯
  项目十四:简单的声音可视化LED灯
  实验说明:采用一元钱最普通的声音模块,关键是阙值电位器调到临界点
*/

void setup() {
  pinMode(13, OUTPUT);
  pinMode(2, INPUT);
}

void loop() {
  if (digitalRead(2)) {
    digitalWrite(13, HIGH);
  }
  else {
    digitalWrite(13, LOW);
  }
}

  

Arduino实验场景图

实验视频剪辑

https://v.youku.com/v_show/id_XNTgwOTcwNzczNg==.html?spm=a2hcb.playlsit.page.1

 

实验之六:KY-038声音传感器模块声控 感应小开关麦克风模块声音控制模块
实验接线:声音模块数字端口DO接Uno的D2,D13接LED灯
项目十五:简单的声音可视化LED灯之二
Arduino实验开源代码

/*
  【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  实验之六:KY-038声音传感器模块声控 感应小开关麦克风模块声音控制模块
  实验接线:声音模块数字端口DO接Uno的D2,D13接LED灯
  项目十五:简单的声音可视化LED灯之二
*/

int LED = 13;
int BUTTON = 2;
int val;//数字变量val

void setup(){
  pinMode(LED, OUTPUT);
  pinMode(BUTTON, INPUT);
}

void loop(){
  val = digitalRead(BUTTON);
  if (val ==1) //当监测到有声音时,LED闪烁
  {
    digitalWrite(LED,HIGH);
  }
  else
  {
    digitalWrite(LED,LOW);
  }
  delay(10);
  val = 0;
}

  

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

实验之六:KY-038声音传感器模块声控 感应小开关麦克风模块声音控制模块

实验接线:声音模块数字端口DO接Uno的D2,D13接LED灯

项目十六:简单的声音可视化LED灯之三

Arduino实验开源代码

/*
  【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  实验之六:KY-038声音传感器模块声控 感应小开关麦克风模块声音控制模块
  实验接线:声音模块数字端口DO接Uno的D2,D13接LED灯
  项目十六:简单的声音可视化LED灯之三
*/

#define LEDstrip 11

void setup(){
  pinMode(2,INPUT); //SIG of the Parallax Sound Impact Sensor connected to Digital Pin 7
  pinMode(LEDstrip, OUTPUT);
}

//this function will make the LED dim once the Parallax Sound Impact Sensor sends a 1 signal, and then return to it’s original brightness.
void loop(){
  boolean soundstate = digitalRead(2);
  if (soundstate == 1) {
         analogWrite(LEDstrip, 255);
         delay(10);
  }
  else{
    analogWrite(LEDstrip,0);
  }
}

  

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

  实验之六:KY-038声音传感器模块声控 感应小开关麦克风模块声音控制模块

  实验接线:声音模块数字端口DO接Uno的D2,D13接LED灯

  项目十七:声音可视化LED灯之四

Arduino实验开源代码

 

/*
  【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  实验之六:KY-038声音传感器模块声控 感应小开关麦克风模块声音控制模块
  实验接线:声音模块数字端口DO接Uno的D2,D13接LED灯
  项目十七:声音可视化LED灯之四
*/

int soundSensor=2;
int LED=11;
boolean LEDStatus=false;

void setup() {
 pinMode(soundSensor,INPUT);
 pinMode(LED,OUTPUT);
}

void loop() {
  int SensorData=digitalRead(soundSensor); 
  if(SensorData==1){

    if(LEDStatus==false){
        LEDStatus=true;
        digitalWrite(LED,HIGH);
    }
    else{
        LEDStatus=false;
        digitalWrite(LED,LOW);
    }
  }
 } 

  实验接线示意图

实验视频剪辑

https://v.youku.com/v_show/id_XNTgxMDMzNDc0NA==.html?firsttime=0

 

实验场景图 动态图