RaspBerryPi3로 LED를 PWM으로 빛내기 (Pi4j)

1, LED의 밝기를 조정!



LED를 PWM으로 빛내는 것으로 밝기를 조정할 수있는 것 같습니다.

주의
・나는 전자 기기에 대해서는 전압=저항×전류가 아는 정도의 전혀 아마추어입니다.

2, 주제



 (1) 접속



220Ω의 저항기와 LED를 접속하고 있습니다.
 ①전체 화상


 ②상세


(2) Raspberry pi 설정



직렬을 활성화하면 핀을 제어 할 수 있습니다.


 (3) 실행 프로그램



TestPwmLed.java
import com.pi4j.io.gpio.GpioController;
import com.pi4j.io.gpio.GpioFactory;
import com.pi4j.io.gpio.GpioPinPwmOutput;
import com.pi4j.io.gpio.Pin;
import com.pi4j.io.gpio.RaspiPin;
import com.pi4j.util.CommandArgumentParser;




public class TestPwmLed {

    public static void main(String[] args) throws InterruptedException {
        pwm(args);
    }


    /**
     * 100Hzで出力
     * @param args
     * @throws InterruptedException
     */
    public static void pwm(String[] args) throws InterruptedException{

        final GpioController gpio = GpioFactory.getInstance();

        Pin pin = CommandArgumentParser.getPin(
        RaspiPin.class,    
        RaspiPin.GPIO_00,  
        args);             
        GpioPinPwmOutput pwm = gpio.provisionSoftPwmOutputPin(pin);
        pwm.setPwmRange(100);//出力時間を100分割


        int sleep = 1000;
        for(int i = 0 ;i<10;i++){
            //常にON
            pwm.setPwm(100);//デューティー比100
            System.out.println("PWM rate is: " + pwm.getPwm());
            Thread.sleep(sleep);
            //半分ON
            pwm.setPwm(50);//デューティー比50
            System.out.println("PWM rate is: " + pwm.getPwm());
            Thread.sleep(sleep);
            //一瞬ON
            pwm.setPwm(10);//デューティー比10
            System.out.println("PWM rate is: " + pwm.getPwm());
            Thread.sleep(sleep);
            //常にOFF
            pwm.setPwm(0);//デューティー比0
            System.out.println("PWM rate is: " + pwm.getPwm());
            Thread.sleep(sleep);
        }
        gpio.shutdown();        

        System.out.println("pwm end");


    }
}

 (4)실행 결과



훌륭하게 4단계의 밝기를 PWM으로 만들어내는데 성공했습니다.


3, 결론



사실은 하드 PWM을 사용하고 싶었지만 어쩌면 잘 작동하지 않았습니다.
java로부터 제어가 되어 있지 않은 것 같아요. 권한의 문제입니까?
의사적이지만, PWM을 조종할 수 있었으므로, 다음은 모터를 제어하고 싶습니다.

참고
거친 ftPw 메 MP. 자바
참고로 프로그램 작성했습니다.

좋은 웹페이지 즐겨찾기