## **曲调2**
> tone()函数通过控制**Atmega**处理器的内部定时器来工作。它会根据你设定的频率在输出引脚上输出脉冲信号。由于tone()只使用了一个定时器,因此你只能同时在一个扬声器上播放。不过,你可以按照一定顺序的在不同引脚之间快速切换来实现多个扬声器“同时”播放。为了做到这一点,你需要将在一个引脚发声后,快速的“转向”下一个引脚。
### **所需硬件**
* Arduino板或Genuino板
* 3个8Ω扬声器
* 3个100Ω电阻
* 跳线
* 面包板
### **电路**
![图片来自官网](http://img.blog.csdn.net/20160503090241872)
### **原理图**
![图片来自官网](http://img.blog.csdn.net/20160503090255404)
### **代码**
下列工程按照顺序在不同扬声器上播放声音(在后一个播放之前将前一个关闭)。注意,每次播放音符的时间应和之后delay的时间一样。
~~~
/*
曲调2
按照顺序在不同扬声器上播放音符。
电路连接:
* 3个8Ω扬声器分别连接到数字引脚6、7和8
代码是公开的
*/
void setup() {
}
void loop() {
// 关闭8号引脚上的tone:
noTone(8);
// 在6号引脚上播放200毫秒:
tone(6, 440, 200);
delay(200);
// 关闭6号引脚上的tone:
noTone(6);
//在7号引脚上播放500毫秒:
tone(7, 494, 500);
delay(500);
// 关闭7号引脚上的tone:
noTone(7);
//在8号引脚上播放500毫秒:
tone(8, 523, 300);
delay(300);
}
~~~
[tone()](http://www.arduino.cc/en/Reference/Tone)
- 说明
- 系统示例文件目录结构及说明
- 01.Basics
- AnalogReadSerial
- BareMinimum
- Blink
- DigitalReadSerial
- Fade
- ReadAnalogVoltage
- 02.Digital
- BlinkWithoutDelay
- Button
- Debounce
- DigitalInputPullup
- StateChangeDetection
- toneKeyboard
- toneMelody
- toneMultiple
- tonePitchFollower
- 03.Analog
- AnalogInOutSerial
- AnalogInput
- AnalogWriteMega
- Calibration
- Fading
- Smoothing
- 04.Communication
- ASCIITable
- Dimmer
- Graph
- Midi
- MultiSerial
- PhysicalPixel
- ReadASCIIString
- SerialCallResponse
- SerialCallResponseASCII
- SerialEvent
- SerialPassthrough
- VirtualColorMixer
- 05.Control
- Arrays
- ForLoopIteration
- IfStatementConditional
- switchCase
- switchCase2
- WhileStatementConditional
- 06.Sensors
- ADXL3xx
- Knock
- Memsic2125
- Ping
- 07.Display
- barGraph
- RowColumnScanning
- 08.Strings
- CharacterAnalysis
- StringAdditionOperator
- StringAppendOperator
- StringCaseChanges
- StringCharacters
- StringComparisonOperators
- StringConstructors
- StringIndexOf
- StringLength
- StringLengthTrim
- StringReplace
- StringStartsWithEndsWith
- StringSubstring
- StringToInt
- 09.USB
- Keyboard
- KeyboardLogout
- KeyboardMessage
- KeyboardReprogram
- KeyboardSerial
- KeyboardAndMouseControl
- Mouse
- ButtonMouseControl
- JoystickMouseControl
- 10.StarterKit_BasicKit (与特定硬件相关,暂无)
- p02_SpaceshipInterface
- p03_LoveOMeter
- p04_ColorMixingLamp
- p05_ServoMoodIndicator
- p06_LightTheremin
- p07_Keyboard
- p08_DigitalHourglass
- p09_MotorizedPinwheel
- p10_Zoetrope
- p11_CrystalBall
- p12_KnockLock
- p13_TouchSensorLamp
- p14_TweakTheArduinoLogo
- p15_HackingButtons
- 11.ArduinoISP(暂无)
- ArduinoISP