Mixly12:电子音乐“小星星”

本文介绍如何使用Arduino Uno R3和无源蜂鸣器模块播放《一闪一闪小星星》的旋律。通过控制不同频率的方波,实现了音乐的播放。文章提供了硬件连接方式和完整的程序代码,展示了如何用代码控制蜂鸣器发出特定音调。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本次实验使用无源蜂鸣器模块模拟音乐的播放!
使用的歌曲是儿歌《一闪一闪小星星》(Twinkle Twinkle Little Star)!下面是节选“小星星”的一段音频:http://file.yfrobot.com/mp3/littleStar.mp3

不同的频率可以产生不同的声音,无源蜂鸣器内部无振荡源,我们可以通过控制板用2K - 5K的方波去驱动它,使其发出“多来米发索拉西”的声音。

  • 硬件准备

                     arduino uno R3 、USB 数据线、UNO I/O扩展板、无源蜂鸣器模块、连接线

  • 硬件连接

  • 程序代码块

  • 程序编写
float tone_list[7]={261.6 , 293.7 , 329.6 , 349.2 , 392.0 , 440.0 , 493.9};

long music_list[ ]={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,1,1,5,5,6,6,5,4,4,3,3,2,2,1};

long high_list[ ]={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,0,0,0,0,0,0,0,0,0,0,0,0,0,0};

float rhythm_list[ ]={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,1,1,1,1,1,1,2,1,1,1,1,1,1,2};

float dur=500;

void playmusic() {
  for (int i = (1); i <= (sizeof(music_list)/sizeof(music_list[0])); i = i + (1)) {
    tone(8,tone_list[(int)(music_list[(int)(i - 1)] - 1)] * pow(2, high_list[(int)(i - 1)]));
    delay((dur * rhythm_list[(int)(i - 1)]));
    noTone(8);
    delay(10);
  }
}

void setup(){
  pinMode(8, OUTPUT);
}

void loop(){
  playmusic();

}

观察效果:播放“小星星”的旋律

Mixly轻松入门12:播放“小星星”的旋律

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

漠宸离若

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值