tag 标签: 蜂鸣器

相关帖子
相关博文
  • 2024-9-27 14:42
    112 次阅读|
    0 个评论
    01 物联网系统中为什么要使用蜂鸣器 物联网系统中使用蜂鸣器的原因主要可以归纳为以下几点: 提供音频反馈与警报 音频反馈:蜂鸣器能够发出声音,为物联网设备提供即时的音频反馈。例如,在智能家居系统中,当用户通过语音或手机APP控制家电设备时,蜂鸣器可以发出声音来确认命令的接收和执行,从而增强用户体验。 警报功能:当物联网设备检测到异常情况或需要引起用户注意时,蜂鸣器可以发出警报声。这种警报声可以迅速吸引用户的注意力,提醒用户及时采取措施处理异常情况。例如,在安防监控系统中,当摄像头检测到入侵者时,蜂鸣器会立即发出刺耳的警报声,吓退入侵者并提醒用户注意。 体积小、功耗低、易于集成 体积小巧:蜂鸣器通常只有几毫米大小,非常适合集成到各种物联网设备中,不会占用过多空间。 功耗低:蜂鸣器在工作时消耗的电流很小,适合于电池供电的设备。这有助于延长设备的续航时间,降低使用成本。 易于集成:蜂鸣器的接口简单,易于与单片机等微控制器连接。开发人员可以轻松地将蜂鸣器集成到物联网设备中,实现音频反馈和警报功能。 综上所述,物联网系统中使用蜂鸣器的原因主要包括提供音频反馈与警报、适应多种应用场景以及体积小、功耗低、易于集成等方面。这些优点使得蜂鸣器在物联网系统中具有广泛的应用前景 适应多种应用场景 远程监控系统:在远程监控系统中,蜂鸣器可用于发出警报,指示设备故障或传感器读数异常。这种即时的警报功能有助于快速定位问题并采取相应的解决措施。 防窃电系统:在电力物联网系统中,蜂鸣器可用于防窃电。当用户企图非法打开计量箱进行窃电时,蜂鸣器会发出刺耳的警报声,对窃电者起到震慑作用,并引起周围用户的注意。这种防窃电措施有助于降低电能损失和经济损失,确保电网的可靠运行。 工业自动化与交通控制:在工业自动化和交通控制领域,蜂鸣器也可以发挥重要作用。例如,在智能交通信号灯控制系统中,蜂鸣器可以发出声音信号来指示车辆和行人通行;在工业自动化生产线中,蜂鸣器可以发出警报声来提醒操作人员注意设备状态或异常情况。 其他场景 报警和提醒:如火灾报警器、安全系统、定时器等。 通知和通信:如电话、对讲机、无线电等。 控制和指示:如电梯、自动售货机、交通信号灯等。 娱乐和教育:如音乐播放器、电子琴、教学设备等。 医疗和健康:如心率监测器、血压计、呼吸机等。 本文会再为大家详解传音频器件家族中的一员——蜂鸣器。 02 蜂鸣器定义 蜂鸣器是一种一体化结构的电子讯响器,它采用直流电压供电,通过电流的热效应和机械振动来产生声音。蜂鸣器广泛应用于各种电子设备和系统中,用于提醒、警告、通知和控制等目的。 03 蜂鸣器的原理 蜂鸣器的工作原理主要基于电流的热效应和机械振动。当电流通过蜂鸣器的线圈或压电材料时,会产生磁场或形变,进而驱动振膜或磁铁振动,从而产生声音。具体步骤如下: 输入电流:为蜂鸣器提供电流,电流大小决定声音的音调。 热效应:电流通过线圈时产生热量,导致线圈振动。 机械振动:线圈的振动传递到振膜或磁铁,使其振动并产生声音。 声音输出:振膜的振动通过空气传播,形成可听到的声音。 04 蜂鸣器的分类 蜂鸣器主要分为以下几种类型: 按工作原理分类: 压电式蜂鸣器:使用压电材料作为声音发生元件,当电压施加到压电材料上时,材料发生形变并产生声音。 电磁式蜂鸣器:使用电磁线圈和磁铁作为声音发生元件,电流通过线圈时产生磁场,驱动振膜振动发声。 按是否带振荡电路分类: 有源蜂鸣器:内部集成了振荡电路,只需外部提供直流电源即可工作,产生固定频率的声音。 无源蜂鸣器:没有内置振荡电路,需要外部提供交流信号来驱动,可以产生多种频率的声音。 05 蜂鸣器的选型参数 在选择蜂鸣器时,需要考虑以下参数: 尺寸:影响音量和频率,根据实际需求选择合适的尺寸。 工作电压:确保与电源电压匹配,避免损坏蜂鸣器。 消耗电流:电磁式蜂鸣器消耗电流较大,压电式则相对省电。 驱动方式:自激式蜂鸣器只需接直流电即可发声,他激式则需外部提供特定频率的交流信号。 音压:表示声音强度,根据需要选择适当的音压等级。 频率响应:电磁式蜂鸣器通常频率较低,压电式则频率范围较广。 06 蜂鸣器的使用注意事项 确保电源电压匹配:过高或过低的电压都可能导致蜂鸣器损坏。 避免过载:确保电路中的电流不超过蜂鸣器的额定电流。 选择合适的驱动方式:根据蜂鸣器类型选择合适的驱动电路。 注意声音反馈:在某些应用中,可能需要考虑声音反馈对系统性能的影响。 合理布置线路:避免过长的线路导致电压降低或信号干扰。 蜂鸣器有正负极,顶部印有+号的为正极,若蜂鸣器引脚没剪,则长的为正极。 07 蜂鸣器驱动电路 三极管驱动 单片机引脚不能直接蜂鸣器 加NPN型三极管进行驱动,因为单片机的引脚驱动能力有限,蜂鸣器的功率比较大,所以需要通过三极管来驱动,R1为限流电阻,单片机引脚如果给高电平,则三极管导通,VCC便给蜂鸣器供电,如果给低电平,则三极管断开 PNP型三极管同理,只不过是单片机引脚输出低电平导通,输出高电平断开 集成电路驱动 ULN2003D芯片本是用来作步进电机驱动的,只不过引脚太多没用完,就把蜂鸣器用这个芯片驱动,如果单独用这个芯片驱动蜂鸣器就比较浪费,因为蜂鸣器可以只用一个三极管驱动,如蜂鸣器模块 该芯片由7对达令顿管组成,每一对其实就是两个三极管,如图中的是一对,其内部有两个三极管组成,当1B输入1,取反后右边输出0,输入0取反后输出1 无源蜂鸣器不能长期通电,但开发板上设计得不合理,P15上电就为1,经过ULN2003D芯片后输出0到蜂鸣器,因为都是给0驱动给1不驱动的,而蜂鸣器另一端接VCC,相当于一上电就直接驱动了,处于工作状态,只不过没给频率没有响 按键提示音项目 在该项目中,如果使用之前的按键检测方法,则一按下按键蜂鸣器就一直响,不会停下,达不到想要的效果,要对按键检测方法进行修改 //之前的检测方法,在想要按一下按键蜂鸣器就响一下时达不到效果 if(P3_1 == 0) { Delay1ms(30); if(P3_1 == 0) { keynum = 1; } while(!P3_1); } //修改之后的检测方法,可以达到预期效果 if(P3_1 == 0) { Delay1ms(30); while(P3_1 == 0); Delay1ms(30); keynum = 1; } 08 供应商A:蜂鸣电子 1、产品能力 (1)选型手册 (2)主推型号1:YS-SBZ9650DYB05 对应的产品详情介绍 本文章源自奇迹物联开源的物联网应用知识库Cellular IoT Wiki,更多技术干货欢迎关注收藏Wiki: Cellular IoT Wiki 知识库(https://rckrv97mzx.feishu.cn/wiki/wikcnBvAC9WOkEYG5CLqGwm6PHf)
  • 热度 2
    2022-6-7 08:43
    1937 次阅读|
    0 个评论
    DIY一个超简单的家用PIR防盗警报器
    本项目BOM很简单,只有PIR传感器、蜂鸣器、LED和按钮开关几个元件。按照电路图组装后可以使用了,报警后按下按钮就关闭蜂鸣声。 首先,将Arduino UNO开发板的 +5V、GND连接到面包板。 LED的阴极接地,阳极(长引脚)通过330 or 220欧姆的上拉电阻器连接到Arduino开发板的6#引脚。 蜂鸣器的正极连接到Arduino板子的5#引脚,负极引脚接GND。 按钮开关的一个引脚通过1k欧姆电阻器接GND,另一引脚连接到Arduino的12引脚。 PIR运动传感器的+Vcc、GND、output三个引脚分别连接于Arduino开发板的+Vcc、GND、pin 7引脚。 按照上述步骤连接正确后,接下来取Arduino IDE上传代码到。再检查Serial Monitor的读数,移动手掌到传感器前面,LED将闪亮,蜂鸣器将会报警。 CODE;C/C++ // Declaring Pins const int buzzerPin = 5; const int ledPin = 6; const int motionPin = 7; const int buttonPin = 12; // Setting Buzzer mode to False boolean buzzer_mode = false; // For LED int ledState = LOW; long previousMillis = 0; long interval = 100; // Interval at which LED blinks void setup() { //The Following are our output pinMode(ledPin,OUTPUT); pinMode(buzzerPin,OUTPUT); //Button is our Input pinMode(buttonPin, INPUT); // Wait before starting the alarm delay(5000); } void loop() { // To chech whether the motion is detected or not if (digitalRead(motionPin)) { buzzer_mode = true; } // If alarm mode is on,blink our LED if (buzzer_mode){ unsigned long currentMillis = millis(); interval) { previousMillis = currentMillis; if (ledState == LOW) ledState = HIGH; else ledState = LOW; // Switch the LED digitalWrite(ledPin, ledState); } tone(buzzerPin,1000); } // If alarm is off if (buzzer_mode == false) { // No tone & LED off noTone(buzzerPin); digitalWrite(ledPin, LOW); } // If our button is pressed Switch off ringing and Setup int button_state = digitalRead(buttonPin); if (button_state) {buzzer_mode = false;} } 如果你觉得这个小制作有用处,就把它装进小盒子里,固定到窗台、门框和阳台的不显眼位置,一个属于自己的防盗警报器就诞生了。
  • 热度 8
    2022-4-12 08:47
    1013 次阅读|
    0 个评论
    项目采用数字微波传感器、继电器和Arduino控制板,实现了一个对墙壁后方活动物体进行探测的自动光控系统。相较红外传感器、超声波传感器、PIR接近传感器和飞行时间(TOF)传感器方案,本项目对各种物体都敏感,而且传感器的数据不受室内温度、湿度和光线等环境因素的影响。 了解微波传感器 微波传感器是利用微波特性来检测一些物理量的器件,可感应物体的存在、运动速度、距离、角度等信息。 工作时,由发射天线发出的微波,遇到被测物体时将被吸收或反射,使功率发生变化。若利用接收天线接收通过被测物体或由被测物反射回来的微波,并将它转换成电信号,再由测量电路处理,就实现了微波检测。 结构上,微波传感器主要由微波振荡器和微波天线组成。微波振荡器是产生微波的装置,如速调管、磁控管或某些固体元件等。微波振荡器产生的振荡信号需用波导管传输,再通过天线发射出去。为了使发射的微波具有一致的方向性,天线应具有特殊的构造和形状。 相较PIR等,微波传感器性能不受光纤、温度、湿度、噪声、灰尘等影响,广泛应用于液位检测、自动洗衣机、车速测量、自动门运动检测、车辆倾覆、生产线材料检测、自动灯控、高阶安防警报系统等。 数字微波传感器V2.0 使用来自DFrobot的重力数字微波传感器V2.0,可非接触检测任何物体,其读数不受温度、湿度、噪声、空气、灰尘和光线的影响,具有较强的抗RF干扰能力,非常适合苛刻环境应用。由于输出功率小,对人体没有伤害,加上检测范围宽,还可用来检测非生命类物体。 主要特点包括: 工作电压:5V 工作电流:最大60mA,典型值为37mA。 探测距离:2-16米,可通过电位器调节。 探测角度:与天线并行方向72°,垂直方向为36°。 发射: 辐射频率: 10.525GHz 调频精度: 3MHz 输出功率(Minimum): 13dBm EIRP 谐波辐射: <-10dBm 平均电流: 2mA typ. 脉冲宽度(Min.): 5uSec 负荷周期(Min.): 1% 接收: 敏感度(10dB信噪比) 3Hz to 80Hz带宽: -86dBm 3Hz to 80Hz 带宽簇: 10uV 天线增益: 8dBi 垂直3dB宽带: 36 degrees 红色LED为电源指示灯,黄色为信号指示LED。没有活动物体时间。由于没有信号,LED保持熄灭状态,只有传感器检测到活动物体时点亮。 黄色PCB为天线接口板,红色引线为5V,黑色线为GND,绿色线为输出。 微波传感器测试 微波传感器光线的“ON”持续时间可按照需求进行改变,采用更高阶微波传感器可获得更高级的性能体验。 项目要求每隔3秒,就通过OLED显示模块显示一下发生中断的数目。这些中断只在出现移动物体,或者人体时才发生,数字越大意味着运动越多。 微波传感器的探测距离为2-16米,模块上的蓝色电位器就是用来调节测量距离的。 为了测试传感器性能,我将其固定在房门上,安装时要将微波传感器的正面朝向被检测区域,看看能否检测到弟弟的活动。 果然,传感器成功检测到了房间里的弟弟。 构建自动光控系统 这下,我们来构建一个自动光控系统。这个电路比较简单,微波传感器的输出引脚连接于D2开发板的D2引脚,5v及GND两个引脚分别连接于Arduino的5v和GND引脚。 电路图左上侧是基于LM7805稳压器的5V稳定电压,J1是DC电源的母头。这里,我们连接了一个12v适配器、锂离子电池,或者太阳能电池板。 电路图右侧为12v继电器模块,连接与Arduino板子的13引脚。该继电器用来控制灯泡,其地线直接连接灯泡,火线要通过继电器连接到灯泡上。 以下是本光控系统的代码: #include //Timer interrupt function library int pbIn = 0; // Define interrupt 0 that is digital pin 2 int ledOut = 13; // Define the indicator LED pin digital pin 13 int number=0; //Interrupt times volatile int state = LOW; // Defines the indicator LED state, the default is not bright void setup() { Serial.begin(9600); pinMode(ledOut, OUTPUT);// attachInterrupt(pbIn, stateChange, FALLING); // Set the interrupt function, interrupt pin is digital pin D2, //interrupt service function is stateChange (), when the D2 power //change from high to low , the trigger interrupt. MsTimer2::set(1000, Handle); // Set the timer interrupt function, running once Handle() function per 1000ms MsTimer2::start();//Start timer interrupt function } void loop() { Serial.println(number); // Printing the number of times of interruption, which is convenient for debugging. delay(1); if(state == HIGH) //When a moving object is detected, the ledout is automatically closed after the light 2S, //the next trigger can be carried out, and No need to reset. Convenient debugging. { delay(2000); state = LOW; digitalWrite(ledOut, state); //turn off led } } void stateChange() //Interrupt service function { number++; //Interrupted once, the number + 1 } void Handle() //Timer service function { 2) //If in the set of the interrupt time the number more than 2 times, then means have detect moving objects, //This value can be adjusted according to the actual situation, which is equivalent to adjust the threshold //of detection speed of moving objects. { state = HIGH; digitalWrite(ledOut, state); //light led number=0; //Cleare the number, so that it does not affect the next trigger } else number=0; //If in the setting of the interrupt time, the number of the interrupt is not //reached the threshold value, //it is not detected the moving objects, Clear the number. } 这样,我将传感器安装在房门里面,再通过Arduino加装一个蜂鸣器,只要人来到房间门口,灯光就会亮起来,并蜂鸣提示。
  • 热度 15
    2016-3-12 09:15
    1673 次阅读|
    0 个评论
       近年来,随着科技的不断进步,各种智能化仪器仪表、医疗、保健器械、通讯设备、汽车电子等组装技术往自动化、微型化方向发展已是必然趋势。因此,相关的提示音和报警声音已普遍使用无源SMD电磁式蜂鸣器,通过单片机的I/O口由程序人员设计驱动信号源,然后有三极管推动,使无源SMD电磁式蜂鸣器发声。典型应用线路如图一         为了减少外围元件的使用,减轻程序人员工作量,使驱动信号源与蜂鸣器更好的匹配,常州东村电子有限公司于2015年成功地研发出了性价比高、专门针对无源电磁式蜂鸣器的驱动IC DC-08XX,目前能提供2400、2700、3000Hz三种输出频率。 产品主要特征:   1、工作电源电压范围:DC=2-6.5V   2、输出频率精准度:±1 Hz      3、控制使能端直接与单片机I/O口连接,低电平休眠,静态电流≤3uA     4、最大驱动能力60mA @3V;Vol≤0.2V;内置反峰吸收二极管   5、SOT23-5封装,应用外围无需任何元件        典型应用如图二  
  • 热度 33
    2012-4-4 12:41
    3333 次阅读|
    6 个评论
    上一篇:" 《学习ARM7从跑马灯和蜂鸣器开始(一)》 7.写代码实现跑马灯 下面是led实验工程代码main.c中的代码内容 #include "config.h" #include "delay.h" 上面两条语句用来包含config.h和delay.h两个头文件,因为下面要用到的uint32,IO0DIR等寄存器,还有delay()函数等内容都定义在这些头文件里面。 #define LED_1 10 #define LED_2 11 #define LED_3 12 上面四条语句用来定义四个led等所在引脚的位置,便于程序使用。 #define LED1_TO_3 (LED_1|LED_2|LED_3) 上面这条语句把四个LED灯所在引脚或运算后定义到一个常量LED1_TO_3中,也是为了方便程序编写。 /**************************************************************************** * 名称:initSystem() * 功能:初始化IO ****************************************************************************/ void initSystem(void) { PINSEL1 = PINSEL1 (~(0xff12)); //led1~3设置为GPIO IO0DIR=IO0DIR | LED1_TO_3; //led1~3设置为输出功能 IO0SET=IO0SET | LED1_TO_3; //led1~3同时输出高 } 上面的initSystem函数是为了初始化cpu的各个IO脚的状态,及设置四个LED灯所在IO脚的状态,并初始化它们。 /**************************************************************************** * 名称:Led_On(uint32 num) * 功能:点亮LED ****************************************************************************/ void Led_On(uint32 num) { IO0SET=IO0SET | LED1_TO_3; //所有的led灭 IO0CLR=IO0CLR | num; //点亮num } 上面的这个函数是为了点亮所给led号,其中参数num就是传进来的参数,代表哪个LED。 /**************************************************************************** * 名称:main() * 功能:初始化led,并实现3个led灯轮流闪烁的效果。 ****************************************************************************/ int main(void) { initSystem(); while(1) { Led_On(LED_1); delay(10); Led_On(LED_2); delay(10); Led_On(LED_3); delay(10); } return 0; } Ads的安装使用方法见附录一。 四、独立写第一个程序:蜂鸣器 如果,跑马灯完全搞懂了,蜂鸣器程序是可以独立完成的。
相关资源