PWM控制LED——wiringPi接口的使用

PWM定义

PWM(Pulse-width modulation)的中文名是脉冲宽度调制.那么我们来看一下wikipedia对它的定义:

脉冲宽度调制(英语:Pulse Width Modulation,缩写:PWM),简称脉宽调制,是将模拟信号变换为脉冲的一种技术,一般变换后脉冲的周期固定,但脉冲的占空比会依模拟信号的大小而改变.在模拟电路中,模拟信号的值可以连续进行变化,在时间和值的幅度上都几乎没有限制,基本上可以取任何实数值,输入与输出也呈线性变化。所以在模拟电路中,电压和电流可直接用来进行控制对象,例如家用电器设备中的音量开关控制、采用卤素灯泡灯具的亮度控制等等。

硬件PWM控制LED

硬件pwm控制

wiringPi初始化 和 引脚模式设置与之前相同

要注意的是 硬件pwm控制的引脚只有 wiringPi编码 的 1号引脚,不能使用其他引脚

pwmWirte 的 参数范围为 [ 0 ,1024) 的整数

以上代码 实现了LED灯由暗变亮再变暗的过程。

还有一点要注意的是 运行可执行文件时 必须使用 root权限 比如:  sudo ./a.out

软件控制


软件控制

软件控制与硬件类似 不过 引脚可随意选择。

需要使用 softPwmCreate函数来 设置 精度。设置的参数最好不要超过1024。

代码

#include <stdio.h>

#include <unistd.h>

#include <stdlib.h>

#include <wiringPi.h>

#include <softPwm.h>

#define LED 1

#define GREEN 4

#define BEEP 7

int main()

{

if(wiringPiSetup()==-1){

return -1;

}

pinMode(LED,PWM_OUTPUT);

pinMode(GREEN,PWM_OUTPUT);

pinMode(BEEP,OUTPUT);

digitalWrite(BEEP,HIGH);

pinMode(BEEP,PWM_OUTPUT);

int i;

//硬件pwm控制

// while(1)

// {

i = 0;

for(i=0;i<1024;i++)

{

pwmWrite(LED,i);

delay(5);//wiringPi 中 休眠函数

}

for(i=1024;i>=0;i--)

{

pwmWrite(LED,i);

delay(5);//wiringPi 中 休眠函数

}

// }

//软件控制

softPwmCreate(GREEN,0,100);

softPwmCreate(BEEP,0,100);

// while(1)

// {

i = 0;

for(i=0;i<100;i++)

{

softPwmWrite(GREEN,i);

softPwmWrite(BEEP,99-i);

delay(20);//wiringPi 中 休眠函数

}

for(i=99;i>=0;i--)

{

softPwmWrite(GREEN,i);

softPwmWrite(BEEP,99-i);

delay(20);//wiringPi 中 休眠函数

}

// }

return 0;

}

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • basics analogreadserial bareminimum blink DigitalReadSeri...
    麦牛2013阅读 7,247评论 0 1
  • Arduino Due有14个数字I/O,6个模拟I/O,一个复位开关,一个ICSP下载口,7-12v电源供电。 ...
    麦牛2013阅读 8,704评论 0 8
  • 我小时候每次犯错都会后悔,想象如果有重来一次的机会,一切都会变得更好。想象自己又回到犯错的那一刻,重新选择,重新让...
    芸淡风轻1983阅读 4,227评论 0 1
  • 潭溪山是国家AAAA级旅游风景区,也是国家的森林公园。一大早,我们全家和姑姑一家坐车出发去潭溪山。再去潭...
    刘书晴阅读 3,846评论 0 0
  • 耐心是人生未来成功与否的关键因素之一。培养自己的耐心不仅在学习上有极大的帮助,而且对今后的人生道路也具有重大的影响...
    何以立群阅读 4,903评论 2 4

友情链接更多精彩内容