• Tidak ada hasil yang ditemukan

Pemrograman Raspberry Pi (1)

N/A
N/A
Protected

Academic year: 2021

Membagikan "Pemrograman Raspberry Pi (1)"

Copied!
49
0
0

Teks penuh

(1)

Pemrograman

Raspberry Pi (1)

(2)

Dasar Pemrograman Java di

Raspberry Pi (1)

(3)

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

(4)
(5)

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

(6)

Raspbian Jessie

(7)

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

(8)

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

(9)

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)

(10)

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

(11)

Dasar Pemrograman Java di

(12)

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

(13)

GPIO

• Input or Output • Digital States • HIGH ~ 3.3 VDC • LOW ~ 0 VDC • Models

• Dependent on Raspberry Pi Model • Model 3 B = 29 pins

(14)
(15)
(16)

GPIO Numbering

Scheme :

Raspberry 3

Model B

(17)

GPIO

• Programmable I/O Pins

• Input from “something”

(18)

Praktikum 1

Dasar Pemrograman GPIO pada

Raspberry Pi dengan Menggunakan

Java dan Pi4j

(19)

Praktikum 1

• Menyalakan LED dengan menggunakan Program Java Sederhana

(20)

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 Ω

(21)

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

(22)

Langkah 2

Mempersiapkan rangkaian yang akan

diprogram

(23)

Langkah 2

Mempersiapkan rangkaian yang akan

diprogram

(24)

1. Buka setting jaringan Ethernet / LAN kita di Network and Sharing Center (Windows)

Langkah 3

Menemukan alamat IP Address dari

Raspberry Pi

(25)

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

(26)

Langkah 3

Menemukan alamat IP Address dari

Raspberry Pi

(27)

Langkah 3

Menemukan alamat IP Address dari

Raspberry Pi

6. Temukan IP Address dari Raspberry Pi yang terkoneksi dengan Ethernet kita dengan

(28)

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

(29)

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

(30)
(31)

6. Isikan username dan password akun linux Raspbian (default)

a. Username : pi

(32)

Langkah 4

Menguji koneksi dengan remote

connection tools (Putty)

(33)

Langkah 5

Mempersiapkan Java IDE untuk dapat

digunakan dalam remote developing

1. Kita gunakan Netbeans IDE dan JDK 8 2. Buka Netbeans

(34)

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

(35)

Langkah 5

Mempersiapkan Java IDE untuk dapat

digunakan dalam remote developing

(36)

Langkah 6

Membuat project baru untuk

melakukan pemrograman

1. Membuat projek Java baru 2. Tambahkan library Pi4J

(37)

{ //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(); }

(38)

Dasar Pemrograman Java di

Raspberry Pi (2)

(39)

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

(40)
(41)
(42)

Praktikum 2

Dasar Pemrograman PWM GPIO pada

Raspberry Pi dengan Menggunakan

(43)

Praktikum 2

• Menyalakan dan mematikan LED secara perlahan dengan menggunakan Program Java Sederhana

(44)
(45)

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 Ω

(46)

Langkah 1

Membuat project baru untuk

melakukan pemrograman

1. Langkah – langkah sebelumnya sama dengan praktikum sebelumnya

(47)

{ //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 + " %"); }

(48)

https://www.youtube.com/watch?v=7cHIA3Nchp4

Pengembangan : Running LED /

Lampu Hias

(49)

Referensi

Dokumen terkait

Rahmat Satria Dewangga email : &lt;[email protected]&gt; Perum Pondok Tawangsari Indah, Blok E No.. Banyumas KM

Danukusuman, Kelurahan Pajang, Kelurahan Purwosari, Kelurahan Karangasem, Kelurahan Manahan, Kelurahan Sriwedari, Kelurahan Ketelan, Kelurahan Keprabon, Kelurahan

Salah satu aspek yang harus diperhatikan untuk mengevaluasi potensi Energi listrik yang dihasilkan dari pemasangan sistem PLTS yang dipasang pada atap bangunan

Telah dirumuskan rapat entropi berdasarkan jalinan Weyl Scalar Invariant yang ditentukan berdasarkan persamaan (34) untuk kasus di mana konstanta integrasi,

1) Menerima : anda memulai mendengarkan pesan secara fisik dan mengajui bahwa anda memang mendengarkan. Penerimaan secara fisik dapat terganggu oleh suara bising,

Media pembelajaran merupakan teknologi pembawa pesan (informasi) yang dimanfaatkan untuk kebutuhan pembelajaran dan media pembelajaran juga dikenal sebagai sarana fisik

147 Al-Muhaddis Gelaran untuk ulama yang menguasai hadis sama ada dari segi riwayah atau dirayah, seperti mampu membezakan hadis dhaif dan hadis sahih, mengetahui sifat-sifat

Konsep food truck yang digunakan untuk penjualan produk Tmarillo DAY adalah salah satu kenunggulan yang dimiliki karena konsep food truck yang sedang naik daun di Jakarta dan