Pemrograman Raspberry Pi (1)

dokumen-dokumen yang mirip
Pemrograman Raspberry Pi (2) Input / Output dengan Java dan Pi4J

Apa saja yang terbaru dari Raspberry Pi

BAB III PERANCANGAN. perancangan mekanik, perancangan hardware dan perancangan software.

DAFTAR TABEL Tabel 4. 1 Tabel 4. 2 Tabel 4. 3

MICROCONTROLER AVR AT MEGA 8535

BAB II DASAR TEORI Gambar 2.1. Cubieboard2

Reni Nuraeni,ST,M.Pd (widyaiswara Muda)

PWM (PULSE WIDTH MODULATION)

BAB IV ANALISA DAN PENGUJIAN ALAT

BAB III PERANCANGAN SISTEM

PEMBUATAN PROTOTIPE ALAT PENDETEKSI LEVEL AIR MENGGUNAKAN ARDUINO UNO R3

BAB II TINJAUAN PUSTAKA

BAB II DASAR SISTEM ALAT BANTU SISTEM KEAMANAN PADA KASIR MINIMARKET. 2.1 Gambaran Alat

Sistem Minimum Mikrokontroler. TTH2D3 Mikroprosesor

BAB IV HASIL DAN PEMBAHASAN

BAB 3 PERANCANGAN ALAT

BAB IV PENGUJIAN DAN ANALISA RANGKAIAN

MICROCONTROLER AVR AT MEGA 8535

BAB IV PENGUJIAN DAN ANALISA ALAT

Embeded Sistem. Raspberry

BAB III ANALISIS DAN PERANCANGAN

BAB III PERANCANGAN DAN PEMBUATAN ALAT. Proses perancangan meliputi tujuan dari sebuah penelitian yang kemudian muncul

BAB III PERANCANGAN SISTEMKENDALI PADA EXHAUST FAN MENGGUNAKAN SMS GATEWAY

BAB II DASAR TEORI Arduino Nano

Sistem Tertanam. Pengantar Atmega328 dan Arduino Uno. Dennis Christie - Universitas Gunadarma

BAB IV PENGUJIAN ALAT DAN ANALISA

BAB II DASAR TEORI Diagram Alir

Light Dependent Resistor LDR Menggunakan Arduino Uno Minsys

BAB II LANDASAN TEORI

BAB III PERANCANGAN ALAT

BAB II LANDASAN TEORI

BAB III ANALISA DAN PERANCANGAN SISTEM

BAB III ANALISIS DAN DESAIN SISTEM

Analog to Digital Convertion Menggunakan Arduino Uno Minsys

BAB III PERANCANGAN ALAT

Komunikasi Serial. Menggunakan Arduino Uno MinSys

BAB 3 PERANCANGAN SISTEM. Computer. Parallel Port ICSP. Microcontroller. Motor Driver Encoder. DC Motor. Gambar 3.1: Blok Diagram Perangkat Keras

Percobaan 2 I. Judul Percobaan Sistem Kendali Digital Berbasis Mikrokontroler

BAB II LANDASAN TEORI

BAB IV PENGUJIAN DAN ANALISA

BAB III PERANCANGAN SISTEM

BAB 4 IMPLEMENTASI DAN EVALUASI. menerapkan Pengontrolan Dan Monitoring Ruang Kelas Dengan Menggunakan

BAB III PERANCANGAN SISTEM

III. METODE PENELITIAN

BAB III PERANCANGAN ALAT

DQI 06 DELTA DATA ACQUISITION INTERFACE V.06

BAB III PERANCANGAN DAN PEMBUATAN ALAT

Panduan Installasi PrinterMatrixPoint TM-P 3250 USE Dan Merubah IP Address

BAB III METODOLOGI 3.1 Analisis Kebutuhan Analisis Kebutuhan Fungsi Analisis Kebutuhan Input

BAB II DASAR TEORI Arduino Mega 2560

BAB II ANALISIS DAN PERANCANGAN. Untuk mendapatkan tujuan sebuah sistem, dibutuhkan suatu

DT-ARM Application Note. AN221 Web Server I/O Remote

BAB 4 HASIL DAN PEMBAHASAN

BAB II LANDASAN TEORI

PERANCANGAN DAN REALISASI BAB III PERANCANGAN DAN REALISASI

PETUNJUK PELAKSANAAN PRAKTIKUM ET3100 PRAKTIKUM TEKNIK TELEKOMUNIKASI 3: JARINGAN KOMPUTER

BAB IV PENGUJIAN ALAT

BAB II LANDASAN TEORI

MENGENAL WEMOS D1 MINI DALAM DUNIA IOT

BAB IV PENGUJIAN DAN ANALISA RANGKAIAN

Output LED. Menggunakan Arduino Uno MinSys

Zelio Smart Relay mengirim SMS (ZelioSoft, Ladder)

BAB II DASAR TEORI NodeMCU ESP8266

BAB II DASAR TEORI. open-source, diturunkan dari Wiring platform, dirancang untuk. memudahkan penggunaan elektronik dalam berbagai

BAB IV DESKRIPSI KERJA PRAKTEK

BAB II DASAR TEORI. mikrokontroler yang berbasis chip ATmega328P. Arduino Uno. memiliki 14 digital pin input / output (atau biasa ditulis I/O,

MEMBANGUN SMART TV DENGAN RASPBERRY PI

DT-PROTO Application Note AN219 Kontrol Lampu Secara Nirkabel berbasiskan Smarphone Android dan

BAB III PERANCANGAN SISTEM DAN PEMBUATAN ALAT. Pada bab ini akan dijelaskan tahapan perancangan sistem yang digunakan untuk software

RIP dan Static Routing

BAB III. Metode Penelitian

Written by Mada Jimmy Monday, 24 August :40 - Last Updated Thursday, 18 November :51

Rancang Bangun Sistem Kontrol Beban dan Akuisisi Data Berbasis Web dengan menggunakan Single Board Computer

BAB II LANDASAN TEORI

APLIKASI RASPBERRY PI PADA TELEROBOT PEMBERSIH LANTAI

TUGAS AKHIR RANCANG BANGUN DOOR LOCK FACE RECOGNITION DENGAN METODA EIGENFACES MENGGUNAKAN OPENCV2.4.9 DAN TELEGRAM MESSENGER PADA RASPBERRY PI

BAB III PERANCANGAN DAN PEMBUATAN ALAT

BAB III ANALISIS DAN DESAIN SISTEM

Modul 1 RB N. Pengenalan Mikrotik Router. Konfigurasi Dasar Mikrotik

Display LCD. Menggunakan Arduino Uno MinSys

Modul 5 Cisco Router

BAB III ANALISIS DAN DESAIN SISTEM

BAB II LANDASAN TEORI

Modul 5 Cisco Router

BAB II DASAR TEORI. Pada bab ini akan dibahas teori-teori pendukung yang digunakan sebagai acuan dalam merancang algoritma.

BAB III ANALISIS DAN PERANCANGAN

BAB 3 PERANCANGAN SISTEM. Bab ini akan membahas tentang perancangan sistem yang digunakan dari alat

BAB I PENDAHULUAN. merupakan gabungan antara teknologi dan pelayanan yang dikhususkan pada

ELKAHFI 200 TELEMETRY SYSTEM

PERANCANGAN APLIKASI PEMANTAU DAN PENGENDALI PIRANTI ELEKTRONIK PADA RUANGAN BERBASIS WEB

BAB IV ANALISA DAN PENGUJIAN

BAB III METODE PENELITIAN

PRAKTIKUM 9 Penulisan dan Pembacaan ADC pada Mikrokontroler

BAB IV HASIL PENGUJIAN DAN PENGAMATAN. mengetahui komponen komponen dari sistem tersebut apakah sistem berjalan

PERCOBAAN VI Komunikasi Data SISTEM KOMUNIKASI BLUETOOTH

IMPLEMENTASI HOME AUTOMATION BERBASIS WEB PADA KONTROL DAN SERVER RASPBERRY PI

BAB II DASAR TEORI. open-source, diturunkan dari Wiring platform, dirancang untuk. software arduino memiliki bahasa pemrograman C.

Transkripsi:

Pemrograman Raspberry Pi (1) Java dan Pi4J

Dasar Pemrograman Java di Raspberry Pi (1)

Kebutuhan Dasar Rasberry Pi Series board + Power Supply Raspbian Linux Laptop/PC + Programming Environment + Remote Connection Tools Modul Sensor Modul Aktuator Modul Data and Signal Converter / Modulator (opsional) Kabel Jumper Project Board Kabel LAN Kabel Roll (Listrik)

Raspberry Pi 3

Raspberry Pi 3 SoC: Broadcom BCM2837 CPU: 4 ARM Cortex-A53, 1.2GHz GPU: Broadcom VideoCore IV RAM: 1GB LPDDR2 (900 MHz) Networking: 10/100 Ethernet, 2.4GHz 802.11n wireless Bluetooth: Bluetooth 4.1 Classic, Bluetooth Low Energy Storage: microsd GPIO: 40-pin header, populated Ports: HDMI, 3.5mm analogue audio-video jack, 4 USB 2.0, Ethernet, Camera Serial Interface (CSI), Display Serial Interface (DSI)

Raspbian Jessie The latest Raspbian Distribution, please check https://www.raspberrypi.org/downloads/ ^^

Pemrograman Java di Raspberry Pi Raspbian Linux pada dasarnya sudah memiliki support terhadap beberapa bahasa pemrograman, termasuk Java Raspbian Jessie memiliki JDK 8 yang sudah ter-install secara default (Java SE 8 Embedded) Pemrograman Java di Raspberry Pi menggunakan API Pi4J (http://pi4j.com/)

Pi4J API Pi4J is an open-source project providing a library for Java programmers to interact with the low-level I/O capabilities on the Raspberry Pi platform. Open Source Project Low Level I/O Library Object-Oriented API Event Based Java & C (JNI + Native)

Fitur Pi4J API Low Level I/O Interfaces Digital Interfaces GPIO (General Purpose Input Output) PWM (Pulse Width Modulation) Data Interfaces UART, SERIAL (Universal Asynchronous Receiver/Transmitter) SPI (Serial Peripheral Interface) I²C (Inter-Integrated Circuit) Analog Interfaces

Fitur Pi4J Lanjutan Export & unexport GPIO pins Configure GPIO pin direction Configure GPIO pin edge detection Control/write GPIO pin states Pulse GPIO pin state Read GPIO pin states Listen for GPIO pin state changes (interrupt-based; not polling) Automatically set GPIO states on program termination (GPIO shutdown) Triggers for automation based on pin state changes Send & receive data via RS232 serial communication I2C Communication SPI Communication Extensible GPIO Provider interface to add GPIO capacity via expansion boards Access system information and network information from the Raspberry Pi Wrapper classes for direct access to WiringPi Library from Java Pulse Width Modulation Functionality Wrapper

Dasar Pemrograman Java di Raspberry Pi menggunakan Pi4J

GPIO General-purpose input/output (GPIO) adalah pin generik pada sirkuit terpadu (chip) yang perilakunya (termasuk apakah pin itu input atau output) dapat dikontrol (diprogram) oleh pengguna saat berjalan Pada Raspberry Pi, pin GPIO (general purpose input/output) terletak di salah satu sudut papan Pin-pin GPIO adalah penghubung antara Raspberry Pi dengan dunia luar Bisa diumpamakan sebagai tombol-tombol yang dapat dinyalakan atau dimatikan (input) atau bisa juga Raspberry Pi yang menyalakan/mematikan tombol2 tersebut (output) GPIO dapat diprogram untuk menghubungkan Raspberry Pi dengan alat lain, inputnya tidak hanya dapat dihubungkan dengan tombol2 sederhana namun bisa juga dari alat lain seperti sensor atau data dari komputer lain

GPIO Input or Output Digital States HIGH ~ 3.3 VDC LOW ~ 0 VDC Models Dependent on Raspberry Pi Model Model 3 B = 29 pins

GPIO Digital States

GPIO

GPIO Numbering Scheme : Raspberry 3 Model B

GPIO Programmable I/O Pins Input from something Output for controlling something

Praktikum 1 Dasar Pemrograman GPIO pada Raspberry Pi dengan Menggunakan Java dan Pi4j

Praktikum 1 Menyalakan LED dengan menggunakan Program Java Sederhana

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 Ω

Langkah 1 Mempersiapkan Rasberry Pi untuk dapat diprogram melalui sistem remote 1. Persiapkan Micro SD Card minimum kapasitas 8 GB 2. Download Raspbian Linux OS dari website Raspbian 3. Extract dan Burn Raspbian OS ke dalam Micro SD Card dengan menggunakan PC / Laptop Dapat menggunakan tools tambahan, misalnya UltraISO, PowerISO atau ISO dan disc image tools yang lain 4. Pasang salah satu ujung kabel LAN di Raspberry Pi dan ujung lainnya di PC / Laptop 5. Masukkan Micro SD Card ke dalam Raspberry Pi 6. Pasang power supply ke Raspberry PI

Langkah 2 Mempersiapkan rangkaian yang akan diprogram

Langkah 2 Mempersiapkan rangkaian yang akan diprogram

Langkah 3 Menemukan alamat IP Address dari Raspberry Pi 1. Buka setting jaringan Ethernet / LAN kita di Network and Sharing Center (Windows)

Langkah 3 Menemukan alamat IP Address dari Raspberry Pi 2. Cek IP Address PC/Laptop kita dan setting dalam mode dinamis DHCP 3. Simpan dan keluar 4. Buka command prompt di PC/Laptop kita 5. Jalankan command ipconfig dan temukan ip address dinamis yang diberikan kepada PC/Laptop kita

Langkah 3 Menemukan alamat IP Address dari Raspberry Pi

Langkah 3 Menemukan alamat IP Address dari Raspberry Pi 6. Temukan IP Address dari Raspberry Pi yang terkoneksi dengan Ethernet kita dengan menjalankan command arp a

Langkah 3 Menemukan alamat IP Address dari Raspberry Pi 2. Temukan IP Address dari Raspberry Pi yang terkoneksi dengan Ethernet kita dengan menjalankan command arp a Cari yang dynamic Ex : 169.254.74.234 IP Address Raspberry Pi

Langkah 4 Menguji koneksi dengan remote connection tools (Putty) 1. Download aplikasi putty di putty.org 2. Buka aplikasi putty 3. Isikan IP Address Raspberry Pi pada bagian Host Name 4. Pastikan Port sudah terisi nomor port SSH (22) dan Connection Type adalah SSH 5. Pilih dan tekan tombol Open

6. Isikan username dan password akun linux Raspbian (default) a. Username : pi b. Password : raspberry

Langkah 4 Menguji koneksi dengan remote connection tools (Putty)

Langkah 5 Mempersiapkan Java IDE untuk dapat digunakan dalam remote developing 1. Kita gunakan Netbeans IDE dan JDK 8 2. Buka Netbeans 3. Masuk pada menu Tools Platform

Langkah 5 Mempersiapkan Java IDE untuk dapat digunakan dalam remote developing 4. Pilih add Platform dan pilih Remote Java Standard Edition dan pilih Next 5. Isi sesuai alamat sistem yang akan di remote 6. Pilih Finish

Langkah 5 Mempersiapkan Java IDE untuk dapat digunakan dalam remote developing

Langkah 6 Membuat project baru untuk melakukan pemrograman 1. Membuat projek Java baru 2. Tambahkan library Pi4J 3. Dan saatnya, it s ngoding time ^^

{ //void main final GpioController gpio = GpioFactory.getInstance(); final GpioPinDigitalOutput pin = gpio.provisiondigitaloutputpin(raspipin.gpio_01, "LED", PinState.HIGH); pin.setshutdownoptions(true, PinState.LOW); Thread.sleep(5000); pin.low(); Thread.sleep(5000); pin.toggle(); Thread.sleep(5000); pin.pulse(1000, true); gpio.shutdown(); }

Dasar Pemrograman Java di Raspberry Pi (2)

Pulse Width Modulation PWM ( Pulse Width Modulation) adalah salah satu teknik modulasi dengan mengubah lebar pulsa (duty cycle) dengan nilai amplitudo dan frekuensi yang tetap untuk mendapatkan tegangan rata-rata yang berbeda PWM adalah pemodulasian data untuk telekomunikasi, pengontrolan daya atau tegangan yang masuk ke beban, regulator tegangan, audio effect dan penguatan, dll. Aplikasi PWM biasanya berupa pengendalian kecepatan motor DC, pengendalian motor servo, dan pengaturan nyala terang LED

Pulse Width Modulation

Pulse Width Modulation

Praktikum 2 Dasar Pemrograman PWM GPIO pada Raspberry Pi dengan Menggunakan Java dan Pi4j

Praktikum 2 Menyalakan dan mematikan LED secara perlahan dengan menggunakan Program Java Sederhana

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 Ω

Langkah 1 Membuat project baru untuk melakukan pemrograman 1. Langkah langkah sebelumnya sama dengan praktikum sebelumnya

{ //void main Gpio.wiringPiSetup(); SoftPwm.softPwmCreate(PIN_NUMBER, 0, 100); for (int i = 0; i <= 100; i++) { SoftPwm.softPwmWrite(PIN_NUMBER, i); Thread.sleep(25); System.out.println("Power = " + i + " %"); } Thread.sleep(5000); for (int i = 100; i >= 0; i--) { SoftPwm.softPwmWrite(PIN_NUMBER, i); Thread.sleep(25); System.out.println("Power = " + i + " %"); }

Pengembangan : Running LED / Lampu Hias https://www.youtube.com/watch?v=7chia3nchp4

Terimakasih