ITPub博客

首页 > 应用开发 > IT综合 > Arduino例子----Tone

Arduino例子----Tone

原创 IT综合 作者:lixinli 时间:2014-08-22 16:14:49 0 删除 编辑

1. 功能描述

本例子演示了如何使用tone()命令生成notes。程序会播放一个你可能早就已经过的小旋律。

 

2. 需要硬件

ü  Arduino 板子

ü  8欧姆的小扬声器

ü  100欧美电阻

ü  面包板

ü  安装线

 

3. 电路连接图

通过一个100Ω的电阻,连接扬声器的正极到数字针脚号。链接负极到地。

 

4. 原理图

 

5. 程序

 

/*

  Melody

 

 Plays a melody

 

 circuit:

 * 8-ohm speaker on digital pin 8

 

 created 21 Jan 2010

 modified 30 Aug 2011

 by Tom Igoe

 

This example code is in the public domain.

 

 http://arduino.cc/en/Tutorial/Tone

 

 */

 #include "pitches.h"

 

// notes in the melody:

int melody[] = {

  NOTE_C4, NOTE_G3,NOTE_G3, NOTE_A3, NOTE_G3,0, NOTE_B3, NOTE_C4};

 

// note durations: 4 = quarter note, 8 = eighth note, etc.:

int noteDurations[] = {

  4, 8, 8, 4,4,4,4,4 };

 

void setup() {

  // iterate over the notes of the melody:

  for (int thisNote = 0; thisNote < 8; thisNote++) {

 

    // to calculate the note duration, take one second

    // divided by the note type.

    //e.g. quarter note = 1000 / 4, eighth note = 1000/8, etc.

    int noteDuration = 1000/noteDurations[thisNote];

    tone(8, melody[thisNote],noteDuration);

 

    // to distinguish the notes, set a minimum time between them.

    // the note's duration + 30% seems to work well:

    int pauseBetweenNotes = noteDuration * 1.30;

    delay(pauseBetweenNotes);

    // stop the tone playing:

    noTone(8);

  }

}

 

void loop() {

  // no need to repeat the melody.

}

6. 实验照片

 

 

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/263104/viewspace-1256112/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2014-05-11

  • 博文量
    11
  • 访问量
    61374