LOADING

加载过慢请开启缓存 浏览器默认开启

arduino的pwm

arduino的pwm

工程下载

理论来说arduino的pwm输出并不是使用到了内部的定时器
所以,某些情况下面还是会发生冲突。
而且,最大的问题是不能改变频率和占空比

arduino的pwm函数

analogWrite(引脚, PWM占空比);
参数 数据类型 作用 选项
引脚 int 单片机支持pwm输出的IO 单片机io
PWM占空比 int 输出的pwm占空比就是xxx/255 0到255之间
返回值

arduino的pwm发出特定频率声音

tone(引脚, 发声频率, 发声时长)
参数 数据类型 作用 选项
引脚 int 单片机支持pwm输出的IO 单片机io
发声频率 int 单位为赫兹 int
发声时长 int 单位为微秒 int
返回值

备注:
1、使用tone()函数时可能会影响引脚3和引脚11的PWM信号输出
2、如果你想要使用不同的引脚产生不同的声音音调,每一次更换发声引脚以前
都要使用noTone函数停止上一个引脚发声。Arduino是不支持两个引脚同时发声的。
3、arduino的音谱文件

arduino关闭pwm发出特定频率声音

noTone(引脚)
参数 数据类型 作用 选项
引脚 int 单片机支持pwm输出的IO 单片机io
返回值

使用方法

1、先初始io为输出模式
2、使用pwm函数

参考代码案例

int ledPin = 2;//led
int intvalue,value;
void setup() {
    pinMode(ledPin,OUTPUT);//初始化led为输出模式
}

void loop(){
for (intvalue = 0 ; value < 255; value=value+1){//执行亮度增加
    analogWrite(ledPin, value);//改变占用比
    delay(5);
}
for (intvalue = 255; value >0; value=value-1){//执行亮度减少
    analogWrite(ledPin, value);//改变占用比
    delay(5);
}  
}