需要准备以下设备

四路继电器,2262/2272四路遥控模块,树莓派,扩展板,母对母杜邦线12跟,公对公杜邦线2跟

WP_20151103_001.jpg

  1. 在树莓派安装Pi4J库

    执行以下命令安装Pi4J

curl -s get.pi4j.com | sudo bash

2. 插线

j8header-2b.png

将遥控接收模块的5V与扩展板的5.0 VDC对接,GND与扩展板的Ground对接,D0,D1,D2,D3分别与扩展板的GPIO 1,GPIO 2,GPIO 3,GPIO 4对接,把两根公对公杜邦线插在遥控接收模块的ANT口充当天线。

将继电器的VCC与扩展板的5.0 VDC对接,GND与扩展板的Ground对接,IN1,IN2,IN3,IN4分别与扩展板的GPIO 5,GPIO 6,GPIO 7,GPIO 8对接。

WP_20151104_002.jpg

3. 编写java代码

工程需要引入pi4j依赖库

gradle:

com.pi4j:pi4j-core:1.0

maven

<dependency>

    <groupId>com.pi4j</groupId>

    <artifactId>pi4j-core</artifactId>

   <version>1.1-SNAPSHOT</version>

</dependency>

或下载jar包 http://central.maven.org/maven2/com/pi4j/pi4j-core/1.0/pi4j-core-1.0.jar

JAVA代码部分

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;

import com.pi4j.io.gpio.event.GpioPinDigitalStateChangeEvent;

import com.pi4j.io.gpio.event.GpioPinListenerDigital;



public class PiController {

    private static final GpioController GPIOCONTROLLER = GpioFactory.getInstance();



    public static void main(String s[]) {

        final GpioPinDigitalInput input[] = { GPIOCONTROLLER.provisionDigitalInputPin(RaspiPin.GPIO_01),

                GPIOCONTROLLER.provisionDigitalInputPin(RaspiPin.GPIO_02),

                GPIOCONTROLLER.provisionDigitalInputPin(RaspiPin.GPIO_03),

                GPIOCONTROLLER.provisionDigitalInputPin(RaspiPin.GPIO_04) };

        final GpioPinDigitalOutput output[] = { GPIOCONTROLLER.provisionDigitalOutputPin(RaspiPin.GPIO_05, PinState.HIGH),

                GPIOCONTROLLER.provisionDigitalOutputPin(RaspiPin.GPIO_06, PinState.HIGH),

                GPIOCONTROLLER.provisionDigitalOutputPin(RaspiPin.GPIO_07, PinState.HIGH),

                GPIOCONTROLLER.provisionDigitalOutputPin(RaspiPin.GPIO_08, PinState.HIGH) };

        for (int i = 0; i < input.length; i++) {

            output[i].setShutdownOptions(true, PinState.HIGH, PinPullResistance.OFF);

            input[i].addListener(new MyGpioPinListenerDigital(output[i]));

        }

        while (true) {

            try {

                Thread.sleep(10000);

            } catch (Exception e) {

                e.printStackTrace();

            }

        }

    }

}



class MyGpioPinListenerDigital implements GpioPinListenerDigital {

    public MyGpioPinListenerDigital(GpioPinDigitalOutput output) {

        this.output = output;

    }



    GpioPinDigitalOutput output;



    @Override

    public void handleGpioPinDigitalStateChangeEvent(GpioPinDigitalStateChangeEvent event) {

        if (PinState.HIGH == event.getState()) {

            output.toggle();

        }

    }

}

4. 编译代码,打包部署

将工程导出为jar包,使用ssh工具将打好的包和pi4j-core-1.0.jar一起放到树莓派/home/pi/gpio/目录下。

执行以下命令运行程序:

cd /home/pi/gpio/

sudo java -cp .:classes:/opt/pi4j/lib/'*' PiController

5. 测试与应用

按下遥控的按钮,即可听到继电器的通断声音。

继电器一般有三个插孔,分别是常开,常关,公共。常开和常关根据实际需求选择其一,结合公共接口使用,比如我们要控制电灯,可以将电灯的电线某一跟剪开,剪开的电线一端插入常关接口,一端插入公共接口就实现了电灯的控制。

标签:树莓派

匠人匠心科技是专业从事天津网站建设、天津网站制作、软件开发、移动建站、商城、微信端、app开发项目
软件事业部:天津市大学软件学院D-510(天津工业大学院内)
网站事业部: 天津市河北区新大路通广科技园3-225
咨询热线:138-2142-0129 136-2215-0903
天津网站建设_天津建站

扫码添加微信