Arduino 蜂窝器实验保姆级教程(两种不同代码)

目录

1.欣赏成果

2.安装对应软件

3.学习软件的使用

​编辑

4.知识准备

5.准备道具

6.代码

验证成功后就上传(勾旁边的箭头就是上传)

6.另一种代码

先认识一下其中函数

7.心得


1.欣赏成果

Arduino 蜂窝器实验保姆级教程成果

2.安装对应软件

首先先安装对应软件Arduino

网址arduino.cc/en/software

3.学习软件的使用

安装结束,我们进入首页选择我们对应的开发板Arduino UNO

选择之后就会将UNO开发板作为默认(UNO开发板适合初学者简单易上手)

并将开发板连接到电脑(注意:后面一定带有后缀,我前面买的盗版无法识别就没有后缀)

如果没有出现开发板(com)请检查链接器是否连接好或者开发板是否接触不良。

4.知识准备

pinMode(2, OUTPUT)是通过pinMode()函数,你可以将Arduino的引脚配置为以下三种模式:

输出(OUTPUT)模式
输入(INPUT)模式
输入上拉(INPUT_PULLUP)模式

tone()函数可以产生固定频率的PWM信号来驱动扬声器发声。

5.准备道具

●1 × Arduino UNO 板

●1 x 有源蜂鸣器

6.代码

const int buzzerPin = 3;   //蜂鸣器模块连接引脚10
 void setup() {
 pinMode(buzzerPin,OUTPUT);
 }
 void loop() {
 tone(buzzerPin,532);           
delay(100);
 tone(buzzerPin,587);           
 delay(100);
 tone(buzzerPin,659);           
delay(100);
}

接下验证 左上角的勾是验证符号

验证成功后就上传(勾旁边的箭头就是上传)

6.另一种代码

const int buzzerPin = 3;    
// 蜂鸣器连接引脚
// 定义蜜蜂相关的音符频率
#define NOTE_BEE_LOW  440   // 蜜蜂低频音
#define NOTE_BEE_MID  880   // 蜜蜂中频音
#define NOTE_BEE_HIGH 1760  // 蜜蜂高频音
#define NOTE_ALARM    1047  // 警报音
void setup() {
 pinMode(buzzerPin, OUTPUT);
 Serial.begin(9600);  // 初始化串口用于调试输出
Serial.println("蜜蜂声音实验开始...");
// 实验序列:依次演示不同的蜜蜂声音模式
experimentStartupSound();          
delay(1000);
 experimentNormalBeeSound(3);       
//(重复3次)
delay(1000);
 experimentDisturbedBeeSound();     
//声音
delay(1000);
 experimentSwarmSound();            
delay(1000);
 experimentQueenBeeCall();          
}
 void loop() {
 // 循环执行完整实验序列
experimentNormalBeeSound(2);
 delay(2000);
 experimentDisturbedBeeSound();
 delay(3000);
 }
 // 自定义函数:启动提示音
void experimentStartupSound() {
 Serial.println("播放启动提示音");
 playNote(NOTE_BEE_MID, 300);
 delay(100);
 playNote(NOTE_BEE_HIGH, 300);
 noTone(buzzerPin);
 }
 // 自定义函数:正常蜜蜂声音
// 参数:repeat - 重复次数
// 启动提示音
// 正常蜜蜂声音
// 被干扰的蜜蜂
// 蜂群声音
// 蜂王召唤声
void experimentNormalBeeSound(int repeat) {
 Serial.print("播放正常蜜蜂声音,重复");
 Serial.print(repeat);
 Serial.println("次");
 for(int i = 0; i < repeat; i++){
 // 模拟蜜蜂持续的嗡嗡声
for(int j = 0; j < 5; j++){
 playNote(NOTE_BEE_LOW, 150);
 playNote(NOTE_BEE_MID, 150);
 }
 delay(500);  // 每次循环间隔
}
 noTone(buzzerPin);
 }
 // 自定义函数:被干扰的蜜蜂声音
void experimentDisturbedBeeSound() {
 Serial.println("播放被干扰的蜜蜂声音");
 // 被干扰时声音更急促、音调更高
for(int i = 0; i < 10; i++){
 playNote(NOTE_BEE_HIGH, 50);
 playNote(NOTE_ALARM, 50);
 }
 noTone(buzzerPin);
 }
 // 自定义函数:蜂群声音
void experimentSwarmSound() {
 Serial.println("播放蜂群声音");
 // 模拟多个蜜蜂同时发声的效果
for(int i = 0; i < 8; i++){
playNote(NOTE_BEE_LOW + i*50, 200);
 }
 noTone(buzzerPin);
 }
 // 自定义函数:蜂王召唤声
void experimentQueenBeeCall() {
 Serial.println("播放蜂王召唤声");
 // 蜂王声音更低沉、节奏更慢
for(int i = 0; i < 3; i++){
 playNote(NOTE_BEE_LOW - 100, 400);
 delay(200);
 }
 noTone(buzzerPin);
 }
 // 基础工具函数:播放指定音符
// 参数:frequency - 频率,duration - 持续时间(毫秒)
 void playNote(int frequency, int duration) {
 tone(buzzerPin, frequency);
 delay(duration);
 }

这是进阶版代码

先认识一下其中函数

Serial.begin(9600);指的是将波特率指定在9600与电脑保持一致

这个代码是不断循环,用下面的函数注释上面的函数

noTone(buzzerPin);是当电流到达引脚3的时候停止

for(int i = 0; i < repeat; i++){

for(int j = 0; j < 5; j++){

外循环i从0加到repeat

内循环从0到4,外循环控制内循环循环几次

 void playNote(int frequency, int duration) {

参数:frequency - 频率,duration - 持续时间(毫秒)

这是个总结函数,是全篇的频率和全篇的持续时间是这个函数的核心

playNote(NOTE_BEE_LOW, 150);后面的150是指音符的持续时间

可以用#define定义一个标识符来表示一个常量。其特点是:定 义的标识符不占内存,只是一个临时的符号,预编译后的这个符 号就不存在了。 #define又称宏定义,标识符为所定义的宏名,简称宏。宏名表 示的是一个常量,可以给变量赋值

7.心得

我认为这是个新的开始我也遇到了很多问题(见下面),但是当我成功做出来了后感到非常自豪,所以我认为在这个时代人类要不断走出自己的舒适圈,才能前进,如果觉得有帮助就请点一下赞,我火速更新下一章,我是FOX,励志做一个博学的萌新。

这一篇的代码都相对简单,也没有遇到什么问题,主要是后面进阶版代码的函数难,但是当你理解了,也会变得很简单

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值