【Arduino实验07 模拟简易电子琴】

您所在的位置:网站首页 arduino按键实验代码 【Arduino实验07 模拟简易电子琴】

【Arduino实验07 模拟简易电子琴】

2024-07-02 17:45| 来源: 网络整理| 查看: 265

目录

一、实验目的

二、实验设备与环境

三、实验重点

四、实验难点

五、实验内容

5.1实验任务

5.2实验原理

5.3实验内容

5.4实验结果

5.5思考题

一、实验目的

        1掌握tone()发声函数的功能;

        2熟悉数组、自动函数的使用;

        3编写乐曲演奏程序;

        4编写简易电子琴演奏程序。

二、实验设备与环境

        Arduino UNO套件、Arduino IDE、计算机、按键、LED灯、蜂鸣器、杜邦线等

三、实验重点

        1实验电路连接;2控制程序代码编写;3程序功能调试

四、实验难点

        (1)程序代码编写、调试

五、实验内容 5.1实验任务

        任务描述:蜂鸣器驱动;调用调声函数演奏乐曲片段;模拟电子琴演奏

5.2实验原理

        1.数组

        语法:type arrayName[n];

        参数:n,数组元素个数;数组元素编号从0开始至n-1

        功能:声明一个type类型、n个元素的数组。数组名称与变量命名规则一致,类型为数据类型。数组元素通过再数组名称后永等号与一个大括号包含的初始化值列表进行初始化。

int C[10]; // 声明一个类型为整数、10个元素的数组。

charF[5][4]; // 声明一个类型为char、5×4个元素的二维数组

int M[10] = {12,34,22,54,65,77,81,90,0,28}; //数组的声明与初始化

        2.调声函数tone()

        语法:tone(pin,frenquency,duration);

        参数:pin,引脚号;frenquency,发声频率;duration,声音持续时间。

        功能:产生指定频率的方波,若未指定持续时间,则持续到noTone()时止。在同一时间只能产生一个频率的方波, 如果tone正执行在一个pin上, 在其他pin上调用tone()将不起作用. 如果在同一个pin上再次调用tone, 则使用新指定的频率。注意,使用tone()会与pin 3 和pin 11 脚的PWM输出冲突。

        noTone(pin):停止引脚pin上tone()函数产生的方波信号。

        基本音调的频率:Do,523;Re,587;Mi,659;Fa,698;So,784;La,880;Xi,988

        3.自定义函数

        将一个重复使用的功能定义为函数,只需要在LOOP主程序里调用就可以实现该功能,使程序结构清晰,将程序中重复语句功能定义为函数,可以使程序简化、编程效率提高。

数据类型函数名(类型参数名称列表); {

        语句块;

        return ; //返回值为可选项}

// return 语句是将函数的值返回给被调用的函数

// return的另一个作用是终止执行被调用函数,并返回

// return语句可以加入条件控制

        4.模拟电子琴演奏电路

 

5.3实验内容

        1.蜂鸣器驱动发声

        步骤1:电路连接

        步骤2:画流程图

        步骤3:编写源程序

        Arduino IDE程序1:

const buzzerPin = 5; // 蜂鸣器引脚接 D5 接口 const tonebase = 294; void setup() { pinMode(buzzerPin,OUTPUT); } Void loop() { int i = 0; do { tone(buzzerPin,tonebase+i*5,200); // 蜂鸣器发声 noTone(buzzerPin); i++; } while (i


【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3