利用Arduino制作音乐播放+随节奏闪光仪器实现

1.实验器材

Arduino开发板,面包板一块,杜邦线若干,LED灯若干,220欧电阻若干,蜂鸣器一个。

2.实验操作

  • 将六个led灯的正极依次接到arduino板I/O接口的2-7口,
  • 电源负极依分别接一个220欧的电阻 。
  • 整体负极接arduino板的GND接口。
  • 蜂鸣器正极接arduino板I/O接口的8口,负极接GND。

3.代码实现

int buzzer=8; //设置控制蜂鸣器的数字 设置控制蜂鸣器的数字 IO脚 
int BASE = 2 ; //第一颗 第一颗 LED 接的 I/O 腳 
int NUM = 6; //LED 的总数 
  int song[] = {
/* 儿歌《小星星》*/
277,277,415,415,466,466,415,
370,370,330,330,311,311,277,
415,415,370,370,330,330,311,
415,415,370,370,330,330,311,
277,277,415,415,466,466,415,
370,370,330,330,311,311,277,
415,415,370,370,330,330,311,
415,415,370,370,330,330,311,
277,277,415,415,466,466,415,
370,370,330,330,311,311,277,
};
void setup() {
for (int thisNote = 0; thisNote <154; thisNote++)
{
int noteDuration = 1000/noteDurations[thisNote];// 计算每个节拍的时间,以一个节拍一秒为例,四分之一拍就是1000/4毫秒,八分之一拍就是1000/8毫秒
tone(8, song[thisNote],noteDuration);
int pauseBetweenNotes = noteDuration * 1.10; // 每个音符间的停顿间隔,以该音符的130%为佳
delay(pauseBetweenNotes);
noTone(8);
}

for (int i = BASE;i < BASE + NUM; i ++) 
  {
    pinMode(i, OUTPUT); //设定数字 设定数字 I/O脚为输出 脚为输出 
    } 
 for (int i = BASE; i < BASE + NUM; i ++) 
  {
    digitalWrite(i, LOW); //设定数字 设定数字 I/O脚输出为 脚输出为 "低",即逐渐关灯 
    delay(200); //延迟 
    }
for (int i = BASE; i < BASE + NUM; i ++) 
    {
     digitalWrite(i, HIGH); //设定数字 I/O脚输出为 "高",即逐渐开灯
      delay(200); //延迟
     }
}
void loop() {
setup();
}

4.实现实物图

4.1 流水灯接口:

image

4.2 蜂鸣器接口:

image

4.3 Arduino板接口:

image

原文链接:https://www.cnblogs.com/Noiimplant/p/17351050.html

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:利用Arduino制作音乐播放+随节奏闪光仪器实现 - Python技术站

(0)
上一篇 2023年4月28日
下一篇 2023年4月28日

相关文章

  • C#自定义事件及用法实例

    C#自定义事件及用法实例 在C#编程中,事件是编写高效程序不可缺少的一个重要部分。在C#中,可以使用内置的事件(System.EventHandler)来对事件进行处理。同时,也可以使用自定义的事件来实现特定要求的事件处理。 本文将详细介绍C#自定义事件及用法实例,帮助读者更好地理解事件机制并掌握自定义事件的应用。 什么是C#自定义事件 自定义事件是基于内置…

    C# 2023年6月1日
    00
  • C#实现将json转换为DataTable的方法

    将一个Json字符串转换为DataTable可以使用Json.NET库来实现。具体步骤如下: 步骤一:安装Json.NET库 在Visual Studio中打开NuGet包管理器,搜索并安装Newtonsoft.Json库。 注:也可以通过在项目的Package Manager控制台输入以下命令进行安装: Install-Package Newtonsoft…

    C# 2023年5月31日
    00
  • 通过C#实现自动售货机接口

    通过C#实现自动售货机接口的完整攻略如下: 一、了解接口 在开始编写自动售货机接口之前,需要先了解什么是接口。接口(Interface)是一种抽象的类型,它定义了让其他程序集(Assembly)访问该程序集的功能。通过接口,可以使一个类实现多个不相关的类型。 二、创建项目 打开Visual Studio,创建一个新的C#控制台应用程序项目; 在解决方案资源管…

    C# 2023年6月1日
    00
  • C#使用 NAudio 实现音频可视化的方法

    C#使用 NAudio 实现音频可视化的方法 NAudio 是一款C#语言开发的音频处理库,可以帮助我们完成各种音频处理任务,包括音频的播放、录制、混音等操作。在本文中,我们将介绍如何使用 NAudio 实现音频可视化。 第一步:引入 NAudio 库 首先,我们需要在项目中引入 NAudio 库。在Visual Studio中,可以通过NuGet添加依赖项…

    C# 2023年6月7日
    00
  • C# 判断字符串第一位是否为数字

    要判断 C# 中的字符串第一位是否为数字,可以采用以下方法: 使用 Char.IsDigit 方法,该方法用于判断一个字符是否为数字。 string str = "5Hello"; char first = str[0]; if (Char.IsDigit(first)) { Console.WriteLine("第一位是数字&…

    C# 2023年6月8日
    00
  • Automapper实现自动映射的实例代码

    下面是关于“Automapper实现自动映射的实例代码”的攻略。 Automapper是什么? Automapper 是一款开源的 .NET 类库,用于对象自动映射。它可以通过提供源对象和目标对象的键值,将一个对象的属性值自动映射到另一个对象的相应属性上。使用 Automapper 可以减少手动复制属性的时间和工作量,简化代码的复杂度,并提高代码的可维护性。…

    C# 2023年6月3日
    00
  • c# WPF如何实现滚动显示的TextBlock

    要实现滚动显示的TextBlock,可以使用WPF中的ScrollViewer和TextBlock结合使用。ScrollViewer是一个滚动视图容器,可以将其在需要滚动的控件周围包装起来,从而实现滚动效果。 下面是实现过程: 第一步:在XAML文件中,在需要滚动显示的TextBlock周围加入ScrollViewer容器,同时设置VerticalScrol…

    C# 2023年6月6日
    00
  • 编写简易Android天气应用的代码示例

    编写Android天气应用是一个常见的练手项目,可以帮助开发者熟悉Android开发的基本流程和技术。本文将提供一个简易的Android天气应用的代码示例,包括两个示例。 示例1:获取天气数据 要编写一个天气应用,首先需要获取天气数据。可以使用第三方天气API来获取天气数据。以下是一个示例: public class WeatherAPI { private…

    C# 2023年5月15日
    00
合作推广
合作推广
分享本页
返回顶部