Arduino例子----Tone

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博客 ” ,链接:http://blog.itpub.net/263104/viewspace-1256112/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/263104/viewspace-1256112/

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值