Firefly开源社区

标题: Arduino单片机创客进化之路——入门篇1.8《控制PWM输入:控制LED的亮度》 [打印本页]

作者: 暴走的阿Sai    时间: 2016-10-28 15:08
标题: 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”维基资料



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

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

  19. }
复制代码

效果如下:





主要用到函数:
  1. analogRead()
复制代码




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

———————————————————————————
   Firefly微信公众号          阿Sai微博
———————————————————————————
Firefly官网:http://www.t-firefly.com
Firefly开源社区:http://developer.t-firefly.com








欢迎光临 Firefly开源社区 (https://dev.t-firefly.com/) Powered by Discuz! X3.1