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

Raspberry Pi GPIO: Change Duty Cycle By Console Commands

在实施 python 脚本更改 LED 的占空比后,如本例所示:

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

我想更改 shell 或控制台中的占空比,必须输入哪些命令以及它们的顺序?

到目前为止,我所做的研究很少,这让我想到了一个与上面 link 中的 python 类似的例子。我也知道如何在 PHP.

中执行控制台命令

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

提前致谢。

终于没有我想的那么难了。尽管 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
    

非常有趣的是,您不必告诉 PIN 它应该使用什么频率 PWM,而且我的 LED 甚至不闪烁。

希望它能帮助到那里的人。

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

脉冲宽度:

在 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);