最終更新:
moonlight_aska 2017年10月27日(金) 21:46:55履歴
- GpioActivity.java
- PeripheralManagerServiceクラスのインスタンスを生成する.
- PeripheralManagerService#openGpioメソッドで, PIN名を指定してGpioクラスのオブジェクトを取得する.
- Gpio#setDirectionメソッドで, 出力ピンに設定する.初期状態はHigh.
値 | 意味 |
DIRECTION_OUT_INITIALLY_LOW | 初期状態Low |
DIRECTION_OUT_INITIALLY_HIGH | 初期状態High |
- Gpio#setActiveTypeメソッドで, "Low"または"High"のいずれをアクティブに設定する.
- Gpio#setValueメソッドで, データ(true:active, false:not active)を出力する.
- Gpio#closeメソッドでピンを解放する.
package com.moonlight_aska.androidthings.gpio;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import com.google.android.things.pio.Gpio;
import com.google.android.things.pio.PeripheralManagerService;
import java.io.IOException;
public class GpioActivity extends Activity {
private static final String TAG = "GpioActivity";
private static final String PIN_NAME = "BCM6";
private Gpio mGpio;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
PeripheralManagerService manager = new PeripheralManagerService();
try {
// GPIOピンオープン
mGpio = manager.openGpio(PIN_NAME);
// 出力ピンに設定(初期状態Low)
mGpio.setDirection(Gpio.DIRECTION_OUT_INITIALLY_LOW);
// HighをACTIVEに設定
mGpio.setActiveType(Gpio.ACTIVE_HIGH);
// 出力ピンにHigh設定
mGpio.setValue(true);
} catch (IOException e) {
Log.e(TAG, "Error on PeripheralIO API", e);
}
}
@Override
protected void onDestroy() {
super.onDestroy();
try {
if (mGpio != null) {
// GPIOピンクローズ
mGpio.close();
}
} catch (IOException e) {
Log.e(TAG, "Error on PeripheralIO API", e);
} finally {
mGpio = null;
}
}
}
- 動作例

タグ
コメントをかく