Raspberry PiのGPIOを制御できるJavaのライブラリ「Pi4J」を利用してLチカ(LEDをチカチカさせること)してみました。
Pi4JのインストールからLチカまでは、Pi4J公式サイトの手順どおりに行いました。ですので、この記事よりも公式サイトの方がわかりやすいかもしれません(笑)
完成形がこちら
JavaでRaspberry PiのGPIOを制御してLチカしてみました。 pic.twitter.com/GwI0nasXzp
— だいぱんまん🐶 (@donchan922) 2018年8月26日
Pi4Jのサンプルプログラムを実行して、Lチカしてみました。思っていたより簡単にできました。
必要なもの
まずは以下のものを用意しましょう。
Raspberry Pi
前提として、Raspberry PiのOSセットアップが完了しているものとします。Raspberry Pi 3のセットアップ方法については、以下記事をご覧ください。
Raspberry Pi 3のセットアップをMacからSSHを使って行う方法【RASPBIAN STRETCH】 - Reasonable Code
ブレッドボード
ジャンパワイヤ(メス-オス)
抵抗
JDKがインストールされているか確認する
Raspberry PiにはJDKがプリインストールされていますが、念のため、以下コマンドでJDKがインストールされているか確認します。僕の場合、JDK1.8
がインストールされていました。
Pi4Jをインストールする
以下コマンドで、Pi4Jをインストールします。
Pi4Jをインストールすると、ライブラリは/opt/pi4j/lib
に、実装サンプルは/opt/pi4j/examples
ディレクトリに格納されます。
回路を組む
Raspberry Piの12番のGPIOピンと、6番のGND(グラウンド)ピンを使用しました。
Lチカのサンプルプログラムをコンパイル&実行する
Pi4Jをインストールすると、いくつかのサンプルプログラムが付属してきます。今回は、Lチカのサンプルプログラムを実行してみます。
動作としては以下のとおりです。
- 5秒間LEDが点灯する
- 5秒間LEDが消灯する
- 5秒間LEDが点灯する
- 5秒間LEDが消灯する
- 1秒間LEDが点灯する
- LEDが消灯する
以下コマンドで、Pi4Jを利用したLチカのサンプルプログラムをコンパイル&実行します。
実行の際、以下エラーが発生した場合、Pi4Jで「Unable to determine hardware version」エラーが出たときの解決方法 - Reasonable Codeの記事をご覧ください。
まとめ
JavaでRaspberry PiのGPIOを制御してLチカしてみました。
シェルやPythonを使ってGPIOを制御したことはあるのですが、Javaでもできると知って今回試しに動かしてみました。思ったよりも簡単にGPIOを制御できて驚きました。
「JavaでRaspberry Piを動かしてみたい!」
という方はぜひPi4Jを利用してみてはいかがでしょうか。