Firefly开源社区

打印 上一主题 下一主题

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

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

发表于 2016-10-28 15:08:12      浏览:4764 | 回复:0        打印      只看该作者   [复制链接] 楼主
本帖最后由 暴走的阿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



暴走的创客!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

友情链接 : 爱板网 电子发烧友论坛 云汉电子社区 粤ICP备14022046号-2
快速回复 返回顶部 返回列表