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]); }
* * 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); } }
<?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); }
<?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";
* * @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); } }