主要内容
#include  //引用彩灯库
#include 
#include 


#define PIN            6         //彩灯引脚
#define NUMPIXELS      2         //级联彩灯数量

ColorLED strip = ColorLED(NUMPIXELS, PIN); //将ColorLED类命名为strip,并定义彩灯数量和彩灯引脚号
#define PIN_KEY 4   //触摸接在4引脚
#define buzzer_pin 2 //定义蜂鸣器引脚
/*------------音符对应蜂鸣器频率------------*/
#define NTD0 -1
#define NTD1 261
#define NTD2 294
#define NTD3 329
#define NTD4 349
#define NTD5 392
#define NTD6 440
#define NTD7 493

#define NTDL1 131
#define NTDL2 147
#define NTDL3 165
#define NTDL4 175
#define NTDL5 196
#define NTDL6 221
#define NTDL7 248

#define NTDH1 525
#define NTDH2 589
#define NTDH3 661
#define NTDH4 700
#define NTDH5 786
#define NTDH6 882
#define NTDH7 990


/*------------定义歌曲音调的数组------------*/

int notes[] = {
 NTD1,  NTD1,  NTD5,  NTD5,
 NTD6,  NTD6,  NTD5,  NTD0,
 NTD4,  NTD4,  NTD3,  NTD3,
 NTD2,  NTD2,  NTD1,  NTD0,
 NTD5,  NTD5,  NTD4,  NTD4,
 NTD3,  NTD3,  NTD2,  NTD0,
 NTD5,  NTD5,  NTD4,  NTD4,
 NTD3,  NTD3,  NTD2,  NTD0,
 NTD1,  NTD1,  NTD5,  NTD5,
 NTD6,  NTD6,  NTD5,  NTD0,
 NTD4,  NTD4,  NTD3,  NTD3,
 NTD2,  NTD2,  NTD1,  NTD0,
};

void setup() {
  strip.begin();
  Serial.begin(9600);  //设置串口通讯波特率
  pinMode(PIN_KEY, INPUT);//设置触摸输入状态
   pinMode(buzzer_pin, OUTPUT); //定义蜂鸣器引脚为输出状态
}
int songLength = sizeof(notes) / sizeof(int); //定义歌曲长度

void loop() {
  if (digitalRead(PIN_KEY))  //检测按键状态
  {
  for (int i = 0; i<=255; i++){
   strip.setPixelColor(0, i, 0, 0);
   strip.show();
   delay(1);
   } //串口打印没有触摸
  }
  else
  {
    int beats[songLength];
 for ( int c=0; c
 {
  beats[c]=100;
 }
  for ( int i = 0; i < songLength; i++) {

    /*------------设置i在歌曲长度内递增,这样就能逐一执行数组中的数据------------*/
    tone(buzzer_pin, notes[i]); //播放音乐
   for (int a = 0; a<=255; a++){
   strip.setPixelColor(1, a, 255, 0);
   strip.show();
   delay(1);
    strip.setAllLED(COLOR_NONE);
  strip.show();
 }
    delay(beats[i]);
    noTone(buzzer_pin);
    delay (100); //播放间隔
  }
  }
  strip.setAllLED(COLOR_NONE);
  strip.show();
}
所需硬件
暂无数据!
代码展示
暂无数据!
附件下载
  • 资料展示
  • 期末作业.zip
0
大牛,别默默的看了,快登录帮我点评一下吧!

立即注册