arduino学习笔记-7-模拟输出
模拟输出
将模拟值(PWM 波)输出到管脚。可用于在不同的光线亮度调节发
光二极管亮度或以不同的速度驱动马达。调用 analogWrite()后,该 引脚将产生一个指定占空比的稳定方波,直到下一次调用analogWrite()(或在同一引脚调用 digitalRead()或digitalWrite())。 PWM 的信号频率约为 490 赫兹。在大多数 Arduino 板(带有 ATmega168 或 ATmega328),这个函
数工作在引脚 3,5,6,9,10 和 11。在 ArduinoMega,它适用于2-13 号引脚。老的带有 ATmega8 的 Arduino 板只支持 9,10,11引脚上使用。你并不需要在调用 analogWrite()之前为设置输入引脚 而调用 pinMode()。这个 analogWrite 方法与模拟引脚或者 analogRead 方法毫不相干
当使用analogWrite()函数,制定引脚通过高低电平的不断转换来输出一个周期固定(约490Hz)的方波,通过改变高低电平在每个周期所占的比例(占空比),得到近似输出不同电压的效果。
语法
ananlogWrite(pin,value)
参数
pin:输出引脚号
value:PWM脉冲宽度(占用空):0(常关)~255(常开)
返回值
无
备注
引脚 5 和 6 的 PWM 输出将产生高于预期的占空比。这是因为millis()和 delay()函数,它们共享同一个内部定时器用于产生 PWM 输出所产生的相互作用。这提醒我们引脚 5 和 6 在多数低占空比的设置(如0- 10)的情况下 0 数值的结果并没有完全关闭。
范例
将输出设置为与从电位器读取的值成比例的LED。
1 | int ledPin = 9; // 连接数字引脚9的LED |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Binhao's Blog!