本帖最后由 hanreng 于 2023-4-28 15:47 编辑
基于Arduino使用频率可调蜂鸣器模块
蜂鸣器的介绍
蜂鸣器的作用:蜂鸣器是一种一体化结构电子讯响器,采用直流电源供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。 蜂鸣器分类:蜂鸣器分为有源和无源,有源的直接接电源即可发声,无源的需要连接一个变化频率的电源上,才能发出声音,所以接在 Arduino 主板上也可以发出声音,但不要串接限流电阻。 蜂鸣器的电路图形符号:蜂鸣器在电路中用字母“H”或“HA”(旧标准用“FM”、“LB”、“JD”等)表示。
有源蜂鸣器与无源蜂鸣器区别
这里的“源”不是指电源,而是指震荡源,也就是说,有源蜂鸣器内部带震荡源,所以只要一通电就会叫,而无源内部不带震荡源,所以如果用直流信号无法令其鸣叫,必须用 2K~5K 的方波去驱动它,有源蜂鸣器往往比无源的贵,就是因为里面多个震荡电路。
(无源蜂鸣器模块)
产品介绍
无源内部不带震荡源,所以如果用直流信号无法令其鸣叫,必须用2k-5k的方法去驱动它,声音频率可控制,可以做出哆瑞咪发嗦啦西的效果。
接线方式
Arduino Nano <------> 无源蜂鸣器 3V3/5V <------> V GND <------> G
D6 <------> D
程序测试——蜂鸣器发出声音
编写蜂鸣器声音响三秒再停三秒,以此来检测蜂鸣器是否能正常发出声音
Mixly图形化编程程序
(图形化程序)
程序实现代码 - void setup(){
- Serial.begin(9600);
- pinMode(6, OUTPUT);
- }
- void loop(){
- tone(6,131);
- delay(3000);
- noTone(6);
- delay(3000);
- }
复制代码
蜂鸣器制作音乐小案例—— 一闪一闪亮晶晶
音乐中的七个基准音(do、re、mi、fa、sol、la、si),这七个基准音对应的频率数组为:1046.5,1174.7,1318.5,1396.9,1568,1760,1975.5,使用步长模块与数组模块,让蜂鸣器首先能发出七个基准音,每隔1S出发一个基准音,七个基准音声音发出之后,停顿3秒,再次循环播放七个基准音。
Mixly图形化编程程序
(图形化程序) 程序实现代码
- float mylist[]={1046.5,1174.7,1318.5,1396.9,1568,1760,1975.5};
- void setup(){
- pinMode(6, OUTPUT);
- }
- void loop(){
- for (int i = 1; i <= 7; i = i + (1)) {
- tone(6,mylist[(int)(i - 1)]);
- delay(1000);
- }
- noTone(6);
- delay(3000);
- }
复制代码
Mixly图形化编程程序
一闪一闪亮晶晶程序
(图形化程序) 程序实现代码
- float 基准音[]={1046.5,1174.7,1318.5,1396.9,1568,1760,1975.5};
- int 音符[]={1,1,5,5,6,6,5,4,4,3,3,2,2,1,5,5,4,4,3,3,2,5,5,4,4,3,3,2};
- int 节拍[]={1,1,1,1,1,1,2,1,1,1,1,1,1,2,1,1,1,1,1,1,2,1,1,1,1,1,1,2};
- int 音调[]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,};
- void setup(){
- pinMode(6, OUTPUT);
- }
- void loop(){
- for (int i = (1); i <= (sizeof(音符)/sizeof(音符[0])); i = i + (1)) {
- tone(6,基准音[(int)(音符[(int)(i - 1)] - 1)] * pow(2, 音调[(int)(i - 1)]));
- delay((500 * 节拍[(int)(i - 1)]));
- noTone(6);
- delay(10);
- }
- }
复制代码
|