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 flashesif (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;//数字变量valvoid 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 11void setup(){pinMode(2,INPUT); //SIG of the Parallax Sound Impact Sensor connected to Digital Pin 7pinMode(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
实验场景图 动态图