tone()

说明

tone()函数可以产生固定频率的PWM信号来驱动扬声器发声。发声时间长度和声调都可以通过参数控制。定义发声时间长度有两种方法,第一种是通过tone()函数的参数来定义发声时长,另一种是使用noTone()函数来停止发声。如果您在使用tone()函数时没有定义发声时间长度,那么除非您通过noTone()函数来停止声音,否则Arduino将会一直通过tone()函数产生声音信号。

Arduino一次只能产生一个声音。假如Arduino的某一个引脚正在通过tone()函数产生发声信号,那么此时让Arduino使用另外一个引脚通过tone()函数发声是不行的。

请注意:

1. 对于Arduino Mega以外的控制器,使用tone()函数时会影响引脚3和引脚11的PWM信号输出。

2. 如果你想要使用不同的引脚产生不同的声音音调,每一次更换发声引脚以前都要使用noTone函数停止上一个引脚发声。Arduino是不支持两个引脚同时发声的。

语法

tone(pin, frequency)
tone(pin, frequency, duration)

参数

pin: 发声引脚(该引脚需要连接扬声器)

frequency: 发声频率(单位:赫兹) – 无符号整数型

duration: 发声时长(单位:微秒,此参数为可选参数) – 无符号长整型

返回值

示例程序