【Java】Raspberry PiでカラーLED

pigpioを使いRGBのLEDを操作するプログラムをJavaで書いてみたので、自分用に内容を記事にしときたいと思います。

前回の記事でカラーLEDを動かす為の配線を行いましたので、これを動かしていきます。

プログラムはリモートでテストしていきます。

使用するライブラリはこれ。
https://github.com/nkolban/jpigpio

私が改造した奴がこれ。
https://github.com/nompor/jpigpio

今回はオリジナルのライブラリでも問題なく処理できると思うので、どっちを使ってもOK。

赤、黄、青、緑、紫の順で点灯させます。

import jpigpio.JPigpio;
import jpigpio.PigpioException;
import jpigpio.PigpioSocket;

public class RGBLED {

	public static void main(String[] args) throws InterruptedException, PigpioException {
		PigpioSocket sock = new PigpioSocket("ラズパイIPアドレス", 8888);
		final int R = 4;//赤LED GPIO番号
		final int G = 3;//緑LED GPIO番号
		final int B = 2;//青LED GPIO番号
		sock.gpioSetMode(R, JPigpio.PI_OUTPUT);//R
		sock.gpioSetMode(G, JPigpio.PI_OUTPUT);//G
		sock.gpioSetMode(B, JPigpio.PI_OUTPUT);//B
		try {
			int colors[][] = {
					{0,1,1}//赤
					,{0,0,1}//黄
					,{1,1,0}//青
					,{1,0,1}//緑
					,{0,1,0}//紫
			};
			int cnt =0;
			while(true){
				int[] clr = colors[cnt];
				cnt = ++cnt % colors.length;
				sock.gpioWrite(R, clr[0] == 1);//R
				sock.gpioWrite(G, clr[1] == 1);//G
				sock.gpioWrite(B, clr[2] == 1);//B
				Thread.sleep(500);
			}
		} finally {
			sock.gpioTerminate();
		}
	}
}
実行結果



関連記事