Arduino单片机创客进化之路——入门篇1.8《控制PWM输入:控制LED的亮度》

本帖最后由 暴走的阿Sai 于 2016-10-28 15:08 编辑

在1.6的教程《互动开始:制作一个按键开关》中,我们介绍了按键的输入方式,这种方式通过高电平或低电平的方式来检测。在实际中我们还会遇到一些模拟电压的输入,例如一些传感器,这个时候则需要用到模拟输入的检测函数analogWrite()

器件

数量

Fireduino开发平台

1块

万用板

1块

LED(发光二极管)

1个

220欧姆电阻

1个

杜邦线

2条

这个例程中,我们使用电位器来改变检测电压,让A0这个模拟引脚用于检测这些连续变化的电压,通过这些变化我们可随意控制LED的亮度。

连线图如下:

注意:Fireduino的基准电压为2.56V 不同于Arduino的5V,所以这里取了一个比较接近的3V电压。
具体参考关于“Analog I/O”维基资料

代码如下:

/*
 作者:暴走的阿Sai
 时间:2016年9月9日
 发表地址:[url]www.t-firefly.com[/url]
 程序说明:
 用电位器控制LED作呼吸灯
 */
void setup() {
  // 初始化引脚8为输出
  pinMode(8, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
  int val,bl;
  val=analogRead(0); //读取模拟接口0
  bl=val/4;//将读取的数值转化为0~255的范围
  analogWrite(8, bl);   // 设置引脚8输出0到3V
  delay(10);              // 延迟10毫秒

}

效果如下:

1.8.1.gif

主要用到函数:

analogRead()

———————————————————————————
【教程传送】Arduino单片机创客进化之路教程汇总贴
【Fireduino QQ交流群】:450340779
———————————————————————————

Firefly微信公众号 阿Sai微博

———————————————————————————

Firefly官网:http://www.t-firefly.com

Firefly开源社区:http://developer.t-firefly.com