0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

使用Arduino和声音传感器构建一个音乐喷泉

科技观察员 来源:circuitdigest 作者:Debasis Parida 2022-08-25 15:24 次阅读

有几个喷泉可以无条件地洒水并带有一些有趣的灯光效果。所以我想设计一个创新的喷泉,它可以响应外部音乐并根据音乐节拍洒水。听起来是不是很有趣?

这个Arduino 喷泉的基本思想是从任何外部声源(如移动设备、iPod、PC 等)获取输入,对声音进行采样并将其分解为不同的电压范围,然后使用输出打开各种继电器。我们首先使用基于电容麦克风的声音传感器模块在声源上执行,以将声音分成不同的电压范围。然后电压将被馈送到运算放大器,以将声级与特定限制进行比较。较高的电压范围将对应于继电器开关打开,该开关包括根据歌曲节拍和节奏运行的音乐喷泉。所以在这里我们正在使用 Arduino 和声音传感器构建这个音乐喷泉。

所需材料

Arduino纳米

声音传感器模块

12V继电器模块

直流泵

发光二极管

连接线

Vero 板或面包板

声音传感器的工作

poYBAGMHI1uAV9npAALwIKunwhA540.png

声音传感器模块是一个简单的基于驻极体麦克风的电子板,用于从环境中感知外部声音。它基于LM393功率放大器和驻极体麦克风,可用于检测是否有超出设定阈值限制的声音。模块输出是一个数字信号,表示声音大于或小于阈值。

电位器可用于调节传感器模块的灵敏度。当声源低于/高于电位器设置的阈值时,模块输出为 HIGH/LOW。同样的声音传感器模块也可以用于测量分贝的声级。

声音传感器电路图

pYYBAGMHI1aADTT_AACmGougL_o683.png

众所周知,在声音传感器模块中,基本的输入设备是麦克风,它将声音信号转换为电信号。但是由于声音传感器的电信号输出幅度很小,很难分析,所以我们使用了一个NPN 晶体管放大器电路,将其放大并将输出信号馈送到 Op- 的非反相输入端。放大器。这里 LM393 OPAMP 用作比较器,用于比较来自麦克风的电信号和来自分压器电路的参考信号。如果输入信号大于参考信号,则 OPAMP 的输出将为高电平,反之亦然。

音乐喷泉电路图

poYBAGMHI1CAeknDAAE8qOUcC4I591.png

如上述音乐喷泉电路图所示,声音传感器由 Arduino Nano 的 3.3V 电源供电,声音传感器模块的输出引脚连接到 Nano 的模拟输入引脚(A6)。您可以使用任何模拟引脚,但请确保在程序中进行更改。如图所示,继电器模块和直流泵由外部 12VDC 电源供电。继电器模块的输入信号连接到 Nano 的数字输出引脚 D10。为了照明效果,我选择了两种不同颜色的 LED,并将它们连接到 Nano 的两个数字输出引脚(D12、D11)。

在这里,泵的连接方式是,当继电器模块的输入端收到一个高脉冲时,继电器的 COM 触点连接到 NO 触点,电流得到一个闭路路径流过泵到激活水流。否则泵将保持关闭状态。高/低脉冲由 Arduino Nano 生成,具体取决于声音输入。

在穿孔板上焊接完整电路后,它将如下所示:

pYYBAGMHI0yAcjwIAAb0AVpDOTI845.png

在这里,我们使用一个塑料盒作为喷泉容器和迷你5v 泵作为喷泉,我们之前在消防机器人中使用过这个泵:

poYBAGMHI0iAKunHAAjriH5bRG8697.png

为舞蹈喷泉编程 Arduino Nano

这个Arduino 喷泉项目的完整程序在页面底部给出。但在这里我只是分部分解释,以便更好地理解:

程序的第一部分是声明必要的变量来分配我们将在下一个程序块中使用的引脚号。然后定义一个常数 REF,其值为声音传感器模块的参考值。赋值700是声音传感器输出电信号的字节等效值。

int 传感器 = A6;
int redled = 12; 
int greenled = 11; 
int泵= 10;

#define REF 700

在void setup函数中,我们使用pinMode函数来分配引脚的 INPUT/OUTPUT 数据方向。这里将传感器作为输入,所有其他设备作为输出。

无效设置()
{ 
  pinMode(传感器,输入);
  pinMode(红色,输出);
  pinMode(绿灯,输出);
  pinMode(泵,输出);
}

在无限循环中,调用了模拟读取函数,该函数读取从传感器引脚输入的模拟值并将其存储在变量sensor_value中。

int sensor_value = 模拟读取(传感器);

在最后一部分中,使用if-else循环将输入模拟信号与参考值进行比较。如果它大于参考值,则所有输出引脚都被赋予高电平输出,以便所有 LED 和泵都被激活,否则一切都保持关闭。在这里,我们还给出了 70 毫秒的延迟来区分继电器的开/关时间。

if (sensor_value>REF) 
  { 
    digitalWrite(greenled,HIGH); 
    数字写入(红色,高);
    数字写入(泵,高);
    延迟(70);
   } 
   else 
   { 
    digitalWrite(greenled,LOW); 
    数字写入(红色,低);
    数字写入(泵,低);
    延迟(70);
   }

pYYBAGMHI0OAa-LDAAjhvQe_TyQ079.png

poYBAGMHIz6Aabl_AAUV0xUs_7w123.png

int 传感器 = A6;

int redled = 12;

int greenled = 11;

int泵= 10;


#define REF 700


无效设置()

{

pinMode(传感器,输入);

pinMode(红色,输出);

pinMode(绿灯,输出);

pinMode(泵,输出);



}

无效循环()

{



int sensor_value = 模拟读取(传感器);



if (sensor_value>REF)

{

digitalWrite(greenled,HIGH);

数字写入(红色,高);

数字写入(泵,高);

延迟(70);

}

else

{

digitalWrite(greenled,LOW);

数字写入(红色,低);

数字写入(泵,低);

延迟(70);

}

}

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 音乐喷泉
    +关注

    关注

    0

    文章

    6

    浏览量

    7650
  • Arduino
    +关注

    关注

    187

    文章

    6462

    浏览量

    186615
  • 声音传感器
    +关注

    关注

    4

    文章

    55

    浏览量

    15328
收藏 人收藏

    评论

    相关推荐

    使用声音传感器Arduino控制的音乐喷泉 精选资料分享

    /arduino-controlled-water-fountain-using-sound-sensor使用声音传感器Arduino控制的音乐
    发表于 09-13 08:50

    声音传感器有哪些_声音传感器的应用

    本文开始介绍了声音传感器概念和声音传感器的工作原理,其次阐述了声音传感器有哪些,最后介绍了
    发表于 03-28 09:40 8.5w次阅读

    怎样使用Arduino构建基于声音传感器的警报

    为了通过烧瓶控制传感器,我们将使用Arduino代码使其工作。首先用python写烧瓶。我们首先需要知道要检测什么才能存储在forms.py文件中。在这种情况下,我们唯
    的头像 发表于 11-26 14:46 5303次阅读
    怎样使用<b class='flag-5'>Arduino</b><b class='flag-5'>构建</b>基于<b class='flag-5'>声音</b><b class='flag-5'>传感器</b>的警报

    arduino声音传感器 模拟资料汇总

    arduino声音传感器 模拟资料汇总
    发表于 10-08 16:50 2次下载

    arduino loar_Arduino动手做(6)声音传感器模块

    温度传感器模块【Arduino】108种传感器模块系列实验(资料+代码+图形+仿真)实验之六:KY-038高感度声音传感器模块模块的实物照片
    发表于 12-14 19:11 4次下载
    <b class='flag-5'>arduino</b> loar_<b class='flag-5'>Arduino</b>动手做(6)<b class='flag-5'>声音</b><b class='flag-5'>传感器</b>模块

    使用红外传感器构建Arduino计数机

    在这个项目中,我们正在使用红外传感器构建Arduino 计数机。这台机器在红外传感器的帮助下
    的头像 发表于 08-17 15:59 4304次阅读
    使用红外<b class='flag-5'>传感器</b><b class='flag-5'>构建</b><b class='flag-5'>一</b><b class='flag-5'>个</b><b class='flag-5'>Arduino</b>计数机

    使用超声波传感器Arduino构建避障机器人

    我们将使用超声波传感器Arduino 构建避障机器人。这里使用超声波传感器通过计算机器人
    发表于 09-08 15:14 3291次阅读
    使用超声波<b class='flag-5'>传感器</b>和<b class='flag-5'>Arduino</b><b class='flag-5'>构建</b><b class='flag-5'>一</b><b class='flag-5'>个</b>避障机器人

    声音传感器Arduino项目

    电子发烧友网站提供《声音传感器Arduino项目.zip》资料免费下载
    发表于 11-09 09:33 1次下载
    <b class='flag-5'>声音</b><b class='flag-5'>传感器</b><b class='flag-5'>Arduino</b>项目

    使用Arduino Uno和声音/语音模块

    电子发烧友网站提供《使用Arduino Uno和声音/语音模块.zip》资料免费下载
    发表于 11-18 12:08 0次下载
    使用<b class='flag-5'>Arduino</b> Uno<b class='flag-5'>和声音</b>/语音模块

    Arduino声音检测传感器项目

    方案介绍使用Arduino Uno和Sound Detector传感器声音检测安全系统。硬件部件:Arduino UNO    ×    1
    发表于 12-30 15:39 2次下载

    Arduino UNO构建音乐播放

    电子发烧友网站提供《Arduino UNO构建音乐播放.zip》资料免费下载
    发表于 01-03 11:41 0次下载
    <b class='flag-5'>Arduino</b> UNO<b class='flag-5'>构建</b><b class='flag-5'>音乐</b>播放<b class='flag-5'>器</b>

    如何使用Arduino和超声波传感器构建油箱液位指示电路

    在这篇文章中,我们将学习如何使用 Arduino 和超声波传感器构建简单的油箱液位指示电路
    的头像 发表于 03-19 10:11 1764次阅读
    如何使用<b class='flag-5'>Arduino</b>和超声波<b class='flag-5'>传感器</b><b class='flag-5'>构建</b><b class='flag-5'>一</b><b class='flag-5'>个</b>油箱液位指示<b class='flag-5'>器</b>电路

    基于Arduino和超声波传感器构建简单的油箱液位指示电路

    在这篇文章中,我们将学习如何使用 Arduino 和超声波传感器构建简单的油箱液位指示电路
    的头像 发表于 06-27 18:14 1384次阅读
    基于<b class='flag-5'>Arduino</b>和超声波<b class='flag-5'>传感器</b><b class='flag-5'>构建</b><b class='flag-5'>一</b><b class='flag-5'>个</b>简单的油箱液位指示<b class='flag-5'>器</b>电路

    如何连接Arduino声音传感器以控制带有声音的LED

    在本教程中,您将学习如何连接Arduino声音传感器以控制带有声音的LED。在本指南结束时,您将拥有
    的头像 发表于 02-11 10:21 2760次阅读
    如何连接<b class='flag-5'>Arduino</b><b class='flag-5'>声音</b><b class='flag-5'>传感器</b>以控制带有<b class='flag-5'>声音</b>的LED

    声波传感器和声音传感器的区别

    声波传感器和声音传感器这两术语在很多情况下可以互换使用,因为它们通常都用于检测和测量声波的存在和特性。然而,它们之间还是存在些细微的差别
    的头像 发表于 09-19 16:37 396次阅读