Pemrograman Raspberry Pi (2) Input / Output dengan Java dan Pi4J
GPIO Input Dalam Pi4J terdapat beberapa method yang dapat kita gunakan untuk melakukan pembacaan dan pengelolaan input dari dunia luar pada GPIO Untuk dapat digunakan sebagai masukan, maka GPIO 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 dikonfigurasi dengan menggunakan Pi4J
GPIO Input PULL UP Resistor pull up berarti kita menghubungkan input IC supaya secara default mendapat logic satu, ketika mendapat trigger maka akan berubah menjadi logic nol Cocok digunakan untuk aplikasi dengan kondisi default switch (saat tidak ditekan) bernilai high
GPIO Input PULL DOWN Resitor pull down berarti kita menghubungkan input IC supaya secara default mendapat logic nol, ketika mendapat trigger maka akan berubah menjadi logic satu Cocok digunakan untuk aplikasi dengan kondisi default switch (saat tidak ditekan) bernilai low
Praktikum 1 Dasar Pemrograman GPIO pada Raspberry Pi dengan Menggunakan Java dan Pi4j
Praktikum 1 Membaca input dari tombol/switch dan hasilnya akan menjadi sinyal output untuk merubah kondisi LED
Praktikum 1 Membaca input dari tombol/switch dan hasilnya akan menjadi sinyal output untuk merubah kondisi LED
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
Langkah 1 Mempersiapkan rangkaian yang akan diprogram Rangkaian yang lain masih sama dengan rangkaian praktikum dasar ouput (LED)
Langkah 1 Mempersiapkan rangkaian yang akan diprogram Rangkaian yang lain masih sama dengan rangkaian praktikum dasar ouput (LED)
Langkah 2 Membuat project baru untuk melakukan pemrograman 1. Membuat projek Java baru 2. Tambahkan library Pi4J 3. Dan saatnya, it s ngoding time ^^
{ //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));
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 }
Praktikum 2 Dasar Pemrograman GPIO pada Raspberry Pi dengan Menggunakan Java dan Pi4j
Praktikum 2 Membaca input dari sensor dan hasilnya akan menjadi sinyal output untuk merubah kondisi LED
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
Langkah 1 Mempersiapkan sensor yang akan dipakai Pada dasarnya banyak sekali jenis sensor yang ada di pasaran Masing-masing memiliki fungsi, sifat dan cara kalibrasi yang berbeda-beda Dalam pemrograman embedded system dengan menggunakan Java dan Pi4J cara pembacaan sensor memiliki cara yang bermacam-macam Listener method (normal) JNI (Java Native Interface) Multi Platform Sensor API
Langkah 1 Mempersiapkan sensor yang akan dipakai Dalam praktikum ini, sebagai contoh akan digunakan sensor Passive Infrared Sensor / PIR (Infrared Movement Sensor)
Passive Infrared Sensor (PIR)
Langkah 2 Mempersiapkan rangkaian yang akan diprogram Rangkaian yang lain masih sama dengan rangkaian praktikum dasar ouput (LED)
Langkah 2 Mempersiapkan rangkaian yang akan diprogram Rangkaian yang lain masih sama dengan rangkaian praktikum dasar ouput (LED)
Langkah 3 Membuat project baru untuk melakukan pemrograman 1. Membuat projek Java baru 2. Tambahkan library Pi4J 3. Dan saatnya, it s ngoding time ^^
{ //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();
// sensor event listener sensor.addlistener(new GpioPinListenerDigital() { @Override public void handlegpiopindigitalstatechangeevent(gpiopindigitalstatech angeevent 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
Pengembangan : Alarm Pendeteksi Gerakan Sederhana LED PIR Sensor Buzzer
Pengembangan : Alarm Pendeteksi Gerakan Sederhana https://www.youtube.com/watch?v=34tbdakfmgg
Terimakasih