利用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#编程中嵌套类型与匿名类型 嵌套类型定义与使用 嵌套类型是在一个类或结构中定义其他类或结构。嵌套类可以有任何访问修饰符:public、protected、internal、和private。下面我们来看一个示例: public class OuterClass { private int outerField; public OuterClass(…

    C# 2023年5月31日
    00
  • C#使用Log4.net记录日志文件

    下面是使用 Log4net 记录 C# 日志的完整攻略: 步骤1:安装Log4net NuGet包 在 Visual Studio 中打开项目,右键单击解决方案,选择“管理NuGet包”,搜索 “log4net”,在搜索结果中选择“log4net”并安装。安装后会在项目文件夹中生成一个“packages”文件夹,其中包含log4net的DLL文件。 步骤2:…

    C# 2023年6月1日
    00
  • 基于Avalonia实现自定义弹窗的示例详解

    基于Avalonia实现自定义弹窗需要进行以下步骤: 引入Avalonia库 在项目文件中引入Avalonia库,可以通过NuGet包管理器或手动添加引用的方式进行。同时,需要在App.xaml文件中声明Avalonia样式资源。 自定义弹窗视图 创建名为”CustomPopup.axaml”的Avalonia视图用于定义自定义弹窗的布局和样式。在这个视图中…

    C# 2023年5月15日
    00
  • Asp.net 通用万级数据分页代码[修正下载地址]

    Asp.net 通用万级数据分页代码是一个用于实现数据分页的工具库。下面将给出该工具库的详细攻略: 安装 可以通过Nuget进行安装,输入以下命令即可: Install-Package AspNetPager 安装完成后可以通过以下命名引用Asp.net分页控件: using Wuqi.Webdiyer; 使用方法 在前端页面中添加控件 在前端页面中引用控件…

    C# 2023年5月31日
    00
  • 基于C#实现手机号码归属地接口调用

    基于C#实现手机号码归属地接口调用的完整攻略 手机号码归属地接口是一种常见的API接口,可以通过该接口查询手机号码的归属地信息。本文将提供一个基于C#实现手机号码归属地接口调用的完整攻略,包括两个示例。 步骤1:获取API接口 要使用手机号码归属地接口,首先需要获取API接口。可以在多个网站上找到提供手机号码归属地API接口的服务商。以下是一个示例: str…

    C# 2023年5月15日
    00
  • C#隐式/显示实现接口方法详解

    C#隐式/显示实现接口方法详解 在 C# 中,接口是构建松散耦合系统的一种有用的机制。类可以继承自多个接口,并根据需要实现这些接口的方法。 当类实现多个接口并且这些接口拥有同样的方法名称时,我们需要使用隐式或显示接口实现,以解决命名冲突和实现特定接口的方法的问题。下面将详细讲解 C# 中的隐式和显示实现接口方法。 隐式实现接口方法 为了实现一个接口方法,类所…

    C# 2023年5月15日
    00
  • 详解C#开发Android应用程序的流程

    详解C#开发Android应用程序的流程 一、开发环境配置 在开始C#开发Android应用程序之前,我们需要先配置好相应的开发环境: 1. 安装Visual Studio Visual Studio是C#程序开发的集成开发环境,可用于Windows和macOS平台。在Visual Studio官网下载对应操作系统的版本并安装。 2. 安装Visual St…

    C# 2023年6月7日
    00
  • C#类和结构详解

    C#类和结构详解 什么是类和结构 在C#编程语言中,类和结构都是用来定义数据结构的方式。类和结构都可以定义成员变量、方法和属性。在使用时,类和结构的含义和用途有所不同。 类和结构最大的区别在于,类是引用类型,而结构是值类型。这意味着,类的变量实际上是一个引用,而结构的变量则是实际的数据。 如何定义类和结构 定义类 对于类的定义,需要使用关键字class。类的…

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