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 占空比的命令:
将 PIN 18 设置为 PWM 的输出 PIN:
gpio -1 mode 12 pwm
或
gpio -g mode 18 pwm
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);
在实施 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 占空比的命令:
将 PIN 18 设置为 PWM 的输出 PIN:
gpio -1 mode 12 pwm
或
gpio -g mode 18 pwm
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);