pemrograman raspberry pi (2) · pdf filesystem.out.println("percobaan sensor...
TRANSCRIPT
PemrogramanRaspberry Pi (2)
Input / Output dengan Java dan Pi4J
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
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
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
Praktikum 1
Dasar Pemrograman GPIO pada Raspberry Pi denganMenggunakan Java dan Pi4j
Praktikum 1
• Membaca input dari tombol/switch dan hasilnyaakan menjadi sinyal output untuk merubah kondisiLED
Praktikum 1
• Membaca input dari tombol/switch dan hasilnyaakan menjadi sinyal output untuk merubah kondisiLED
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 1Mempersiapkan rangkaian yang akandiprogram
Rangkaian yang lain masih samadengan rangkaianpraktikum dasarouput (LED)
Langkah 1Mempersiapkan rangkaian yang akandiprogram
Rangkaian yang lain masih samadengan rangkaianpraktikum dasarouput (LED)
Langkah 2Membuat project baru untukmelakukan 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 denganMenggunakan Java dan Pi4j
Praktikum 2
• Membaca input dari sensor dan hasilnya akanmenjadi 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 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
Langkah 1Mempersiapkan sensor yang akandipakai
• Dalam praktikum ini, sebagai contoh akandigunakan sensor Passive Infrared Sensor / PIR (Infrared Movement Sensor)
Passive Infrared Sensor (PIR)
Langkah 2Mempersiapkan rangkaian yang akandiprogram
Rangkaian yang lain masih samadengan rangkaianpraktikum dasarouput (LED)
Langkah 2Mempersiapkan rangkaian yang akandiprogram
Rangkaian yang lain masih samadengan rangkaianpraktikum dasarouput (LED)
Langkah 3Membuat project baru untukmelakukan 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(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
Pengembangan : Alarm Pendeteksi Gerakan Sederhana
Buzzer
PIR Sensor
LED
Pengembangan : Alarm Pendeteksi Gerakan Sederhana
https://www.youtube.com/watch?v=34TbdAKfmGg
Terimakasih