8123浏览
查看: 8123|回复: 4

会唱歌的小黄人-Arduino视频教程(蜂鸣器发声)

[复制链接]

http://www.bilibili.com/video/av4369065/


包教包会福利视频,只需五分钟就能掌握一项小技巧,今天给大家带来的是蜂鸣器发声教程。大家一定都用过Arduino初阶开发包里的无缘蜂鸣器,想必大家都会让它发出声响,有没有想过让这个小东西唱出一首完整的歌曲呢?这次就让它变成小黄人的声带,唱出一首完整的歌吧

一.所需物品清单

电脑*1
android手机*1
Arduino*1
面包板*1
蜂鸣器*1
蓝牙模块*1
发光二极管*1
220欧电阻*1
导线*8

二.电路图
会唱歌的小黄人-Arduino视频教程(蜂鸣器发声)图1
三.代码
[mw_shl_code=c,true]#define NTD0 -1
#define NTD1 294
#define NTD2 330
#define NTD3 350
#define NTD4 393
#define NTD5 441
#define NTD6 495
#define NTD7 556
#define NTD8 622

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

#define NTDH1 589
#define NTDH2 661
#define NTDH3 700
#define NTDH4 786
#define NTDH5 882
#define NTDH6 990
#define NTDH7 112
//根據中部列出D的音節

int tune[] =
{
  NTD5, NTD3, NTD0, NTD0, NTD3, NTD2,
  NTD1, NTD2, NTD3, NTD5, NTD3, NTD5,
  NTD6, NTD3, NTD0, NTD0, NTD3, NTD2,
  NTD1, NTD2, NTD3, NTD5, NTD3, NTD5,
  NTD6, NTD4, NTD0, NTD0, NTD4, NTD3,
  NTD2, NTD3, NTD4, NTD6, NTD8, NTD6,
  NTD7, NTD6, NTD6, NTD5,
  NTD5, NTD4, NTD3, NTD2,
};
float durt[] =
{
  0.5, 0.5, 1, 1, 0.5, 0.5,
  0.5, 0.5, 0.5, 1, 0.5, 1,
  0.5, 0.5, 1, 1, 0.5, 0.5,
  0.5, 0.5, 0.5, 1, 0.5, 1,
  0.5, 0.5, 1, 1, 0.5, 0.5,
  0.5, 0.5, 0.5, 1, 0.5, 1,
  1 + 0.5, 0.5, 0.5, 1,
  1 + 0.5, 0.5, 1 + 1,
  0.5, 1 + 0.5, 1, 1,
};

//根據右邊的簡譜寫出音調和節奏
int length;
int tonepin = 6;
void setup()
{
  Serial.begin(9600);
  pinMode(tonepin, OUTPUT);
  length = sizeof(tune) / sizeof(tune[0]);
}
void loop()
{
  while (Serial.available())
  {
    int inByte = Serial.read();
    switch (inByte)
    {
      case 65:  //串口輸入為A時
        Serial.println("I'm not singing");  //回送I'm not singing
        digitalWrite(13, LOW);  //滅燈
        break;
      case 66:  //串口輸入為B時
        Serial.println("I'm singing");  //回送I'm singing
        digitalWrite(13, HIGH); //亮燈
        for (int x = 0; x < length; x++)
        {
          tone(tonepin, tune[x]*1.19);
          delay(500 * durt[x]);
          noTone(tonepin);
        } //演奏 *1.19使D調變成F調
        delay(2000);
        break;
    }
  }
} //上傳時拔掉藍線和黃線[/mw_shl_code]


四.完成图








robo027  初级技匠

发表于 2017-3-2 13:40:21

我也拿DF的硬件和乐高积木做了个小黄人的闯关游戏,
把你的小黄人一看我那个就太不像了。。。
我给你想了一个主意,就是我觉得如果想更生动一点可以拿8X8点矩阵做一个嘴部的造型出来,或是编好重复的动作,或是根据声音大小改变嘴型。:lol
回复

使用道具 举报

如云般飘过  学徒
 楼主|

发表于 2017-3-9 10:04:34

robo027 发表于 2017-3-2 13:40
我也拿DF的硬件和乐高积木做了个小黄人的闯关游戏,
把你的小黄人一看我那个就太不像了。。。
我给你想了一 ...

这个可以有~~!
回复

使用道具 举报

chen1198872101  学徒

发表于 2017-4-20 21:29:57

在吗?
回复

使用道具 举报

chen1198872101  学徒

发表于 2017-4-20 21:36:06

请问蓝牙怎么调试
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail