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
实验场景图 动态图