资讯专栏INFORMATION COLUMN

Raspberry Pi 2 Model B Pi4J 示例

chanthuang / 944人阅读

摘要:创建控制器实例引脚编号图提供的针脚下面的示例演示如何设置输入。输入的引脚针脚程序会监视状态更改或审问时所需的状态。输入的引脚用于开关传感器等。输出引脚用于控制继电器发光二极管晶体管等。

创建GPIO控制器实例
final GpioController gpio = GpioFactory.getInstance();
引脚编号图

Provision Pins 提供的针脚

下面的示例演示如何设置输入 pin。输入的引脚针脚程序会监视状态更改或审问时所需的状态。输入的引脚用于开关、 传感器等。

 GpioPinDigitalInput button = gpio.provisionDigitalInputPin(RaspiPin.GPIO_02, "button",
                PinPullResistance.PULL_DOWN);

下面的示例演示如何设置输出插针。输出插针针脚您的程序将控制状态更改。输出引脚用于控制继电器、 发光二极管、 晶体管等。

GpioPinDigitalOutput led =
                gpio.provisionDigitalOutputPin(RaspiPin.GPIO_04, "led", PinState.LOW);
               
Control Pin State 控件引脚状态
// 将状态显式设置 pin 对象上
led.setState(PinState.HIGH);
// 使用方便的包装方法将 pin 对象上设置状态
led.low();
led.high();

// 使用切换方法针对象上应用逆状态
led.toggle();

// 脉冲法将 pin 设置为高的状态为 显式长度的时间 (毫秒)
led.pulse(1000);

// 设置此引脚关机状态
led.setShutdownOptions(true, PinState.LOW);

// 打开 gpio pin #01 1 秒钟,然后又关闭
led.pulse(1000, true);

// 通过关闭 GPIO 控制器停止所有 GPIO 活动/线程
gpio.shutdown();

提供了一个完整的示例项目展示的 GPIO 引脚控制 here.

Read Pin State 读引脚状态
// 获取与此按钮关联的 GPIO 引脚的显式状态枚举
PinState buttonState = button.getState();

// 使用方便的包装方法来审问的按钮状态
boolean buttonPressed = button.isHigh();

Listen for Pin Changes 监听引脚变化
// 下面的代码段演示一个简单的侦听器实现
class GpioUsageExampleListener implements GpioPinListenerDigital {
    @Override
    public void handleGpioPinDigitalStateChangeEvent(GpioPinDigitalStateChangeEvent event) {
        // 在控制台上显示 pin 状态
        System.out.println(
                " --> GPIO PIN STATE CHANGE: " + event.getPin() + " = " + event.getState());
    }
}

// 要设置您的侦听器,必须用别针注册监听器并实例化您的侦听器 impl。
button.addListener(new GpioUsageExampleListener());

// 另一种实现
button.addListener(new GpioPinListenerDigital() {
    @Override
    public void handleGpioPinDigitalStateChangeEvent(GpioPinDigitalStateChangeEvent event) {
        // 在控制台上显示 pin 状态
        System.out.println(
                " --> GPIO PIN STATE CHANGE: " + event.getPin() + " = " + event.getState());
    }
});

提供了一个完整的示例项目展示侦听 GPIO 引脚状态更改 here

Pin Shutdown Pin 关机
led.setShutdownOptions(true, PinState.LOW, PinPullResistance.OFF);

提供演示 GPIO 引脚关机配置一个完整的示例项目 here

Pin Triggers Pin 触发器
// 在输入引脚上创建一个 gpio 同步触发器
// 当输入的状态的更改,也设置 LED 控制 gpio 引脚到相同的状态
button.addTrigger(new GpioSyncStateTrigger(led));

提供了一个完整的示例项目展示 GPIO 引脚触发器 here

Serial Communication

P14J provides a simplified API to send and receive data using a serial port of the Raspberry"s Pi.
The following example project demonstrates implementing serial communication:
Serial Communication Example.

System Information

P14J provides an API to access system and network information from the Raspberry"s Pi.
The following example project demonstrates accessing system and network information:
System Information Example.

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/64937.html

相关文章

  • 【物联网】14.物联网设备控制器选择 - MCU(单片机)

    摘要:这部分就是我之前分享过很多的单片机部分,具体可以参考专栏物联网设备的控制单元核心就是,也就是常说的单片机。对于物联网设备,根据开发环境想制造的设备以及经验的不同,选择不同的控制芯片也就至关重要。 这部分就是我之前分享过很多的单片机部分,具体可以参考专栏 https://blog.csdn.n...

    UCloud 评论0 收藏0
  • tensorflow嵌入式

    好的,下面是一篇关于TensorFlow嵌入式编程技术的文章。 TensorFlow是一种流行的机器学习框架,它可以用于训练和部署深度神经网络。然而,TensorFlow通常被视为一个大型的、需要高性能计算机的框架,这使得它在嵌入式系统上的应用变得困难。但是,最近的TensorFlow版本已经开始支持嵌入式设备,这使得它可以在诸如智能手机、智能家居设备和嵌入式系统等小型设备上运行。 在本文中,...

    h9911 评论0 收藏1903
  • 以太坊连载(七):C++客户端的安装与定制(一)

    摘要:以太坊客户端快速入门以太坊客户端的项目是。参考资料文章中的列表对应的链接可以参考第页下一篇文章我们将会介绍以太坊连载八客户端的安装与定制二感谢朝夕团队参与的翻译和校验。 以太坊C++客户端:cpp-ethereum 快速入门 以太坊C++客户端的Github项目是 webthree-umbrella。 我们将恢复到 cpp-ethereum-github 作为项目重启的一部分。 如果...

    wind3110991 评论0 收藏0
  • Raspberry-pi Install Blackhole

    About Blackhole Install Java7 echo deb http://ppa.launchpad.net/webupd8team/java/ubuntu precise main | tee -a /etc/apt/sources.list echo deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu prec...

    IamDLY 评论0 收藏0

发表评论

0条评论

chanthuang

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<