Ejemplo n.º 1
0
function writePins(array $rgb)
{
    static $pi, $r, $g, $b;
    if ($pi === null) {
        $pi = new Board();
        $r = $pi->getPin(0)->mode(Pin::SOFT_PWM_OUT)->softPwmWrite(100);
        $g = $pi->getPin(1)->mode(Pin::SOFT_PWM_OUT);
        $b = $pi->getPin(2)->mode(Pin::SOFT_PWM_OUT);
    }
    $r->softPwmWrite($rgb[0]);
    $g->softPwmWrite($rgb[1]);
    $b->softPwmWrite($rgb[2]);
}
Ejemplo n.º 2
0
 *
 * Example of using software PWM to pulse an LED
 *
 * @author Andrew Collington, andy@amnuts.com
 * @version 0.2.0
 * @link https://github.com/amnuts/phpiwire
 * @license MIT, http://acollington.mit-license.org/
 */
namespace Phpiwire;

if (PHP_SAPI !== 'cli') {
    echo 'Sorry, you can only use this via the command line.';
    return;
}
set_time_limit(0);
echo "Raspberry Pi pulse - use ^C to stop\n";
$pi = new Board();
$p = $pi->getPin(0)->mode(Pin::SOFT_PWM_OUT);
$sleep = 20000;
$pwmValue = 100;
// 0 min, 100 max
while (true) {
    for ($i = 0; $i <= $pwmValue; ++$i) {
        $p->softPwmWrite($i);
        usleep($sleep);
    }
    for ($i = $pwmValue; $i > 0; --$i) {
        $p->softPwmWrite($i);
        usleep($sleep);
    }
}
Ejemplo n.º 3
0
<?php

/**
 * Phpiwire: A PHP wrapper for wiringPi
 *
 * Example of resetting the GPIO pins
 *
 * @author Andrew Collington, andy@amnuts.com
 * @version 0.2.0
 * @link https://github.com/amnuts/phpiwire
 * @license MIT, http://acollington.mit-license.org/
 */
namespace Phpiwire;

if (PHP_SAPI !== 'cli') {
    echo 'Sorry, you can only use this via the command line.';
    return;
}
echo "Raspberry Pi - all pins reset to LOW\n";
$pi = new Board();
foreach (range(0, 7) as $pin) {
    $p = $pi->getPin($pin)->mode(Pin::OUTPUT);
    $p->write(Pin::LOW);
}
Ejemplo n.º 4
0
<?php

/**
 * Phpiwire: A PHP wrapper for wiringPi
 *
 * Checking pin status
 *
 * @author Andrew Collington, andy@amnuts.com
 * @version 0.2.0
 * @link https://github.com/amnuts/phpiwire
 * @license MIT, http://acollington.mit-license.org/
 */
namespace Phpiwire;

$pi = new Board();
$p = $pi->getPin(0)->mode(Pin::OUTPUT);
echo $p, "\n";
if ($p->read() == Pin::LOW) {
    echo "Setting {$p->getId()} to HIGH\n\n";
    $p->write(Pin::HIGH);
} else {
    echo "Setting {$p->getId()} to LOW\n\n";
    $p->write(Pin::LOW);
}
echo $p, "\n";
Ejemplo n.º 5
0
 *
 * @author Andrew Collington, andy@amnuts.com
 * @version 0.2.0
 * @link https://github.com/amnuts/phpiwire
 * @license MIT, http://acollington.mit-license.org/
 */
namespace Phpiwire;

if (PHP_SAPI !== 'cli') {
    echo 'Sorry, you can only use this via the command line.';
    return;
}
set_time_limit(0);
echo "Raspberry Pi pulse - use ^C to stop\n";
$pi = new Board();
$p = $pi->getPin(1)->mode(Pin::PWM_OUT);
$p->pwmWrite(0);
$sleep = 500;
$pwmValue = 1024;
// 0 min, 1024 max
while (true) {
    for ($i = 0; $i <= $pwmValue; ++$i) {
        $p->pwmWrite($i);
        usleep($sleep);
    }
    sleep(1);
    for ($i = $pwmValue; $i > 0; --$i) {
        $p->pwmWrite($i);
        usleep($sleep);
    }
}