74HC595是一個IC晶片,使用三個針腳就可以控制8Bit訊號輸出,最大支援到15顆晶片串接,詳細介紹可以參考IO 擴充應用 – 使用 74HC595 (三態輸出八位元移位暫存器 IC)。
WiringPi是一個raspberry pi很常見的GPIO控制程式庫,可經由GPIO針腳來控制設備及零件,此程式庫是由C語言撰寫而已,Java要使用則需要使用JNI來與程式庫做互動。
目前Java有一套Pi4J程式庫可以直接與WiringPi做互動來控制GPIO。更詳細的介紹可以參考Java Embedded(1)從 Raspberry Pi 開始會有一整申相關教學。
這裡是一個範例,利用三個GPIO針腳來控制8個LED燈。

程式範例
我使用的針腳
SHCP=>GPIO 25
STCP=>GPIO24
DS=>GPIO23
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package mygpio;
import com.pi4j.io.gpio.GpioController;
import com.pi4j.io.gpio.GpioFactory;
import com.pi4j.io.gpio.GpioPinDigitalInput;
import com.pi4j.io.gpio.GpioPinDigitalOutput;
import com.pi4j.io.gpio.PinPullResistance;
import com.pi4j.io.gpio.PinState;
import com.pi4j.io.gpio.RaspiPin;
/**
*
* @author Eric
*/
public class IC74HC595 {
public static void main(String args[]) {
final GpioController gpio = GpioFactory.getInstance();
System.out.println("start IC");
// 建立控制GPIO_01輸入的物件,紅外線測距模組的輸出針腳
final GpioPinDigitalOutput ds
= gpio.provisionDigitalOutputPin(RaspiPin.GPIO_23,
PinState.LOW);
final GpioPinDigitalOutput stcp
= gpio.provisionDigitalOutputPin(RaspiPin.GPIO_24,
PinState.LOW);
final GpioPinDigitalOutput shcp
= gpio.provisionDigitalOutputPin(RaspiPin.GPIO_25,
PinState.LOW);
System.out.println("init ");
int delayTime = 500;
//while(true)
{
for (int i = 0; i < 256; i++) {
stcp.setState(PinState.LOW);
//System.out.println((byte)(i>> 8)+";"+(((byte)i))+";"+i);
//if(i>256)
//com.pi4j.wiringpi.Shift.shiftOut((byte)ds.getPin().getAddress(), (byte)shcp.getPin().getAddress(), (byte)com.pi4j.wiringpi.Shift.MSBFIRST, (byte)(i>> 8));
com.pi4j.wiringpi.Shift.shiftOut((byte) ds.getPin().getAddress(), (byte) shcp.getPin().getAddress(), (byte) com.pi4j.wiringpi.Shift.MSBFIRST, (byte) i);
stcp.setState(PinState.HIGH);
delay(delayTime);
}
}
}
private static void delay(int ms) {
try {
Thread.sleep(ms);
} catch (InterruptedException e) {
System.out.println(e.toString());
}
}
}

API參考資料
參考資料