pemrograman raspberry pi (2) · pdf filesystem.out.println("percobaan sensor...

27
Pemrograman Raspberry Pi (2) Input / Output dengan Java dan Pi4J

Upload: duongkien

Post on 30-Jan-2018

264 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Pemrograman Raspberry Pi (2) · PDF fileSystem.out.println("Percobaan Sensor Gerakan"); //input controller ... Pendeteksi Gerakan Sederhana Buzzer PIR Sensor LED. Pengembangan : Alarm

PemrogramanRaspberry Pi (2)

Input / Output dengan Java dan Pi4J

Page 2: Pemrograman Raspberry Pi (2) · PDF fileSystem.out.println("Percobaan Sensor Gerakan"); //input controller ... Pendeteksi Gerakan Sederhana Buzzer PIR Sensor LED. Pengembangan : Alarm

GPIO Input

• Dalam Pi4J terdapat beberapa method yang dapatkita gunakan untuk melakukan pembacaan danpengelolaan input dari “dunia luar” pada GPIO

• Untuk dapat digunakan sebagai masukan, makaGPIO pin harus ditentukan nilai reference-nya

• Jika tidak di set, maka GPIO pin akan mengalami“float”

• Pada Raspberry PI, sudah terdapat resistor “pull up dan pull down” internal yang dapat dikonfigurasidengan menggunakan Pi4J

Page 3: Pemrograman Raspberry Pi (2) · PDF fileSystem.out.println("Percobaan Sensor Gerakan"); //input controller ... Pendeteksi Gerakan Sederhana Buzzer PIR Sensor LED. Pengembangan : Alarm

GPIO Input

• PULL UP• Resistor pull up berarti kita

menghubungkan input IC supayasecara default mendapat logic satu, ketika mendapat trigger maka akan berubah menjadilogic nol

• Cocok digunakan untuk aplikasidengan kondisi default switch (saat tidak ditekan) bernilai high

Page 4: Pemrograman Raspberry Pi (2) · PDF fileSystem.out.println("Percobaan Sensor Gerakan"); //input controller ... Pendeteksi Gerakan Sederhana Buzzer PIR Sensor LED. Pengembangan : Alarm

GPIO Input

• PULL DOWN• Resitor pull down berarti kita

menghubungkan input IC supayasecara default mendapat logic nol, ketika mendapat trigger maka akan berubah menjadilogic satu

• Cocok digunakan untuk aplikasidengan kondisi default switch (saat tidak ditekan) bernilai low

Page 5: Pemrograman Raspberry Pi (2) · PDF fileSystem.out.println("Percobaan Sensor Gerakan"); //input controller ... Pendeteksi Gerakan Sederhana Buzzer PIR Sensor LED. Pengembangan : Alarm

Praktikum 1

Dasar Pemrograman GPIO pada Raspberry Pi denganMenggunakan Java dan Pi4j

Page 6: Pemrograman Raspberry Pi (2) · PDF fileSystem.out.println("Percobaan Sensor Gerakan"); //input controller ... Pendeteksi Gerakan Sederhana Buzzer PIR Sensor LED. Pengembangan : Alarm

Praktikum 1

• Membaca input dari tombol/switch dan hasilnyaakan menjadi sinyal output untuk merubah kondisiLED

Page 7: Pemrograman Raspberry Pi (2) · PDF fileSystem.out.println("Percobaan Sensor Gerakan"); //input controller ... Pendeteksi Gerakan Sederhana Buzzer PIR Sensor LED. Pengembangan : Alarm

Praktikum 1

• Membaca input dari tombol/switch dan hasilnyaakan menjadi sinyal output untuk merubah kondisiLED

Page 8: Pemrograman Raspberry Pi (2) · PDF fileSystem.out.println("Percobaan Sensor Gerakan"); //input controller ... Pendeteksi Gerakan Sederhana Buzzer PIR Sensor LED. Pengembangan : Alarm

Praktikum 1

• Alat dan Bahan• Laptop / PC yang sudah terinstall Java Development

Environment (ex. Netbeans dan JDK 8 + Pi4J)• Remote Connection Tools (ex. Putty)• Raspberry Pi board• Power supply 5V• Kabel LAN• Project board / bread board• LED • Kabel jumper untuk pin• Resistor ± 220 Ω• Switch

Page 9: Pemrograman Raspberry Pi (2) · PDF fileSystem.out.println("Percobaan Sensor Gerakan"); //input controller ... Pendeteksi Gerakan Sederhana Buzzer PIR Sensor LED. Pengembangan : Alarm

Langkah 1Mempersiapkan rangkaian yang akandiprogram

Rangkaian yang lain masih samadengan rangkaianpraktikum dasarouput (LED)

Page 10: Pemrograman Raspberry Pi (2) · PDF fileSystem.out.println("Percobaan Sensor Gerakan"); //input controller ... Pendeteksi Gerakan Sederhana Buzzer PIR Sensor LED. Pengembangan : Alarm

Langkah 1Mempersiapkan rangkaian yang akandiprogram

Rangkaian yang lain masih samadengan rangkaianpraktikum dasarouput (LED)

Page 11: Pemrograman Raspberry Pi (2) · PDF fileSystem.out.println("Percobaan Sensor Gerakan"); //input controller ... Pendeteksi Gerakan Sederhana Buzzer PIR Sensor LED. Pengembangan : Alarm

Langkah 2Membuat project baru untukmelakukan pemrograman

1. Membuat projek Java baru

2. Tambahkan library Pi4J

3. Dan saatnya, it’s ngoding time ^^

Page 12: Pemrograman Raspberry Pi (2) · PDF fileSystem.out.println("Percobaan Sensor Gerakan"); //input controller ... Pendeteksi Gerakan Sederhana Buzzer PIR Sensor LED. Pengembangan : Alarm

//void main start

System.out.println("Praktikum Penggunaan Tombol");

final GpioController gpio = GpioFactory.getInstance();

final GpioPinDigitalInput myButton = gpio.provisionDigitalInputPin(RaspiPin.GPIO_02, PinPullResistance.PULL_DOWN);

System.out.println(" Sistem siap ");

GpioPinDigitalOutput myLed[] = gpio.provisionDigitalOutputPin(RaspiPin.GPIO_01,"LED #1", PinState.LOW);

myButton.addTrigger(new GpioSetStateTrigger(PinState.HIGH, myLed[0], PinState.HIGH));

myButton.addTrigger(new GpioSetStateTrigger(PinState.LOW, myLed[0], PinState.LOW));

Page 13: Pemrograman Raspberry Pi (2) · PDF fileSystem.out.println("Percobaan Sensor Gerakan"); //input controller ... Pendeteksi Gerakan Sederhana Buzzer PIR Sensor LED. Pengembangan : Alarm

myButton.addTrigger(new GpioCallbackTrigger(new

Callable<Void>()

public Void call() throws Exception

System.out.println(" --> ada penekanan tombol");

return null;

));

while (true)

Thread.sleep(500);

//void main end

Page 14: Pemrograman Raspberry Pi (2) · PDF fileSystem.out.println("Percobaan Sensor Gerakan"); //input controller ... Pendeteksi Gerakan Sederhana Buzzer PIR Sensor LED. Pengembangan : Alarm

Praktikum 2

Dasar Pemrograman GPIO pada Raspberry Pi denganMenggunakan Java dan Pi4j

Page 15: Pemrograman Raspberry Pi (2) · PDF fileSystem.out.println("Percobaan Sensor Gerakan"); //input controller ... Pendeteksi Gerakan Sederhana Buzzer PIR Sensor LED. Pengembangan : Alarm

Praktikum 2

• Membaca input dari sensor dan hasilnya akanmenjadi sinyal output untuk merubah kondisi LED

Page 16: Pemrograman Raspberry Pi (2) · PDF fileSystem.out.println("Percobaan Sensor Gerakan"); //input controller ... Pendeteksi Gerakan Sederhana Buzzer PIR Sensor LED. Pengembangan : Alarm

Praktikum 2

• Alat dan Bahan• Laptop / PC yang sudah terinstall Java Development

Environment (ex. Netbeans dan JDK 8 + Pi4J)• Remote Connection Tools (ex. Putty)• Raspberry Pi board• Power supply 5V• Kabel LAN• Project board / bread board• LED • Kabel jumper untuk pin• Resistor ± 220 Ω• Sensor

Page 17: Pemrograman Raspberry Pi (2) · PDF fileSystem.out.println("Percobaan Sensor Gerakan"); //input controller ... Pendeteksi Gerakan Sederhana Buzzer PIR Sensor LED. Pengembangan : Alarm

Langkah 1Mempersiapkan sensor yang akandipakai

• Pada dasarnya banyak sekali jenis sensor yang adadi pasaran

• Masing-masing memiliki fungsi, sifat dan carakalibrasi yang berbeda-beda

• Dalam pemrograman embedded system denganmenggunakan Java dan Pi4J cara pembacaan sensor memiliki cara yang bermacam-macam• Listener method (normal)• JNI (Java Native Interface)• Multi Platform Sensor API

Page 18: Pemrograman Raspberry Pi (2) · PDF fileSystem.out.println("Percobaan Sensor Gerakan"); //input controller ... Pendeteksi Gerakan Sederhana Buzzer PIR Sensor LED. Pengembangan : Alarm

Langkah 1Mempersiapkan sensor yang akandipakai

• Dalam praktikum ini, sebagai contoh akandigunakan sensor Passive Infrared Sensor / PIR (Infrared Movement Sensor)

Page 19: Pemrograman Raspberry Pi (2) · PDF fileSystem.out.println("Percobaan Sensor Gerakan"); //input controller ... Pendeteksi Gerakan Sederhana Buzzer PIR Sensor LED. Pengembangan : Alarm

Passive Infrared Sensor (PIR)

Page 20: Pemrograman Raspberry Pi (2) · PDF fileSystem.out.println("Percobaan Sensor Gerakan"); //input controller ... Pendeteksi Gerakan Sederhana Buzzer PIR Sensor LED. Pengembangan : Alarm

Langkah 2Mempersiapkan rangkaian yang akandiprogram

Rangkaian yang lain masih samadengan rangkaianpraktikum dasarouput (LED)

Page 21: Pemrograman Raspberry Pi (2) · PDF fileSystem.out.println("Percobaan Sensor Gerakan"); //input controller ... Pendeteksi Gerakan Sederhana Buzzer PIR Sensor LED. Pengembangan : Alarm

Langkah 2Mempersiapkan rangkaian yang akandiprogram

Rangkaian yang lain masih samadengan rangkaianpraktikum dasarouput (LED)

Page 22: Pemrograman Raspberry Pi (2) · PDF fileSystem.out.println("Percobaan Sensor Gerakan"); //input controller ... Pendeteksi Gerakan Sederhana Buzzer PIR Sensor LED. Pengembangan : Alarm

Langkah 3Membuat project baru untukmelakukan pemrograman

1. Membuat projek Java baru

2. Tambahkan library Pi4J

3. Dan saatnya, it’s ngoding time ^^

Page 23: Pemrograman Raspberry Pi (2) · PDF fileSystem.out.println("Percobaan Sensor Gerakan"); //input controller ... Pendeteksi Gerakan Sederhana Buzzer PIR Sensor LED. Pengembangan : Alarm

//void main start

System.out.println("Percobaan Sensor Gerakan");

//input controller

final GpioController gpioSensor = GpioFactory.getInstance();

final GpioPinDigitalInput sensor = gpioSensor.provisionDigitalInputPin(RaspiPin.GPIO_04, PinPullResistance.PULL_DOWN);

//output controller

final GpioController gpioLED = GpioFactory.getInstance();

final GpioPinDigitalOutput led = gpioLED.provisionDigitalOutputPin(RaspiPin.GPIO_01, "LED", PinState.HIGH);

led.low();

Page 24: Pemrograman Raspberry Pi (2) · PDF fileSystem.out.println("Percobaan Sensor Gerakan"); //input controller ... Pendeteksi Gerakan Sederhana Buzzer PIR Sensor LED. Pengembangan : Alarm

// sensor event listener

sensor.addListener(new GpioPinListenerDigital()

@Override

public void handleGpioPinDigitalStateChangeEvent(GpioPinDigitalStateChangeEvent event)

if (event.getState().isHigh())

Date dt = new Date();

System.out.println("Ada Gerakan di "+ dt.toString());

led.toggle();

if (event.getState().isLow())

Date dt = new Date();

System.out.println("Aman bro "+ dt.toString());

led.toggle(););

try

for (;;)

Thread.sleep(100);

catch (final Exception e)

System.out.println(e.getMessage());

//void main end

Page 25: Pemrograman Raspberry Pi (2) · PDF fileSystem.out.println("Percobaan Sensor Gerakan"); //input controller ... Pendeteksi Gerakan Sederhana Buzzer PIR Sensor LED. Pengembangan : Alarm

Pengembangan : Alarm Pendeteksi Gerakan Sederhana

Buzzer

PIR Sensor

LED

Page 26: Pemrograman Raspberry Pi (2) · PDF fileSystem.out.println("Percobaan Sensor Gerakan"); //input controller ... Pendeteksi Gerakan Sederhana Buzzer PIR Sensor LED. Pengembangan : Alarm

Pengembangan : Alarm Pendeteksi Gerakan Sederhana

https://www.youtube.com/watch?v=34TbdAKfmGg

Page 27: Pemrograman Raspberry Pi (2) · PDF fileSystem.out.println("Percobaan Sensor Gerakan"); //input controller ... Pendeteksi Gerakan Sederhana Buzzer PIR Sensor LED. Pengembangan : Alarm

Terimakasih