Raspberry Pi GPIO:通过控制台命令更改占空比

时间:2015-02-09 16:31:31

标签: php raspberry-pi gpio

实现改变LED占空比的python脚本后,如下例所示:

http://raspi.tv/2013/rpi-gpio-0-5-2a-now-has-software-pwm-how-to-use-it

我想更改shell或控制台中的占空比,它们必须键入什么命令以及按什么顺序键入?

到目前为止,我做了很少的研究,这让我得到了一个类似于python的例子,就像上面的链接一样。我也知道如何在PHP中执行console-command。

我的目的是利用控制台命令来控制由AJAX To PHP请求触发的LED的亮度。我不想在PHP中执行python脚本,因为必须调整Apache2-Server上的权限。

提前致谢。

2 个答案:

答案 0 :(得分:3)

同时,可以使用php-pigpio library(这是Pigpio守护程序的接口)直接通过PHP发送PWM信号

脉冲宽度:

在GPIO引脚15上发送脉宽为1500微秒的PWM信号:

use Volantus\Pigpio\Client;
use Volantus\Pigpio\PWM\PwmSender;

$client = new Client();
$sender = new PwmSender($client);
$sender->setPulseWidth(15, 1500);

占空比:

如果您更喜欢占空比/范围模式(如您自己的示例):

将范围设置为1024:

$sender->setRange(15, 1024);

发送50%的信号:

$sender->setDutyCycle(15, 512);

答案 1 :(得分:1)

最后它没有我想象的那么难。尽管Raspberry-PI B +已经获得了大量的PIN,但它只有一个PIN(GPIO 18 = Pin 12) PWM 可以通过控制台来控制。这些是控制GPIO-Pin 18的占空比的命令:

  1. 将PIN 18作为 PWM 的输出PIN:

    gpio -1 mode 12 pwm
    

    gpio -g mode 18 pwm
    
  2. PWM的范围在0-1023之间

    0关闭LED:

    gpio -1 pwm 12 0
    

    gpio -g pwm 18 0
    

    1023使LED发出最大亮度:

    gpio -1 pwm 12 1023
    

    gpio -g pwm 18 1023
    
  3. 非常有趣的是,您不必告诉PIN应该使用的频率 PWM ,我的LED甚至不会闪烁。

    希望它可以帮助那些人。