Raspberry GPIO
Raspberry GPIO
-
September 13, 2019
GPIO merupakan singkatan dari General Purpose Input Output dengan kata lain adalah pin yang dapat
digunakan baik sebagai masukan/input maupun sebagai keluaran/output. Untuk mengakses low-level hard-
ware pada Raspberry Pi. Untuk bisa memanfaatkannya kita hanya butuh mengenal fungsi pin dan sedikit
settingan dari sisi program. GPIO di rasberry pi ada yang memiliki 26 pin(raspberry pi model A dan model
B) dan 40 pin (Raspberry pi zero, pi zero W, pi model A+, pi model B+, pi 2 B, pi 3 B dan pi 3 B+). GPIO
dimanfaatkan sebagai alternatif komunikasi raspi ke dunia luar persis seperti USB port atau Ethernet. Yang
membedakannya adalah lebih flexible dalam pengkabelan. Melalui terminal GPIO kita bisa menghidupkan
lampu LED, memutar motor, membaca suhu dari sensor dan banyak lagi. Berikut adalah fitur-fitur dari
GPIO raspberry pi
1. Power Supply terdapat pin power supply 3.3 V dan 5 V, masing-masing 2 pin
2. INPUT GPIO pin dapat dijadikan sebagai input yang dapat membaca logika HIGH (3.3v) dan LOW
(0v). Pada fitur ini GPIO juga memiliki internal pull-up dan internal pull-down. Pada GPIO2 dan
GPIO3 terdapat resistor pull-up yang telah tertanam.
3. OUTPUT GPIO pin dapat dijadikan sebagai output yang dapat menghasilkan logika HIGH (3.3v)
dan LOW (0v)
4. PWM Pulse width modulation port ini dapat digunakan untuk membangkitkan sinyal PWM yang
dapat digunakan untuk mengendalikan motor, dan lain sebagainya
5. Port komunikasi terdapat beberapa port komunikasi yaitu I2C, UART, dan SPI.
Berikut ini adalah letak header GPIO dan maping dari GPIO raspberry 40 pin:
1
Gambar 1: Maping dari GPIO Raspberry pi
Konfigurasi GPIO
Port GPIO sesuai namanya dapat kita konfigurasi menjadi input dan output. Ketika kita mengatur GPIO
menjadi output, port-port tersebut juga dapat kita atur sebagai output berlogika HIGH(1) atau LOW(0).
GPIO pada Raspberry dapat akses pada directory /sys/class/gpio. Pada gambar 2 merupakan isi dari di-
rektori /sys/class/gpio
Untuk mengaktifkan GPIO terdapat beberapa langkah, yang pertama adalah masuk ke dalam direktori
/sys/class/gpio. Setelah berhasil masuk, langkah selanjutnya adalah melakukan export untuk mengaktifkan
GPIO number yang akan kita gunakan dengan menggunakan bash script berikut:
sudo echo ∗ gpio number ∗ > export
setelah berhasil melakukan export, maka GPIO yang kita inginkan akan ditampilkan dalam direktori
/sys/class/gpio seperti pada gambar berikut.
Gambar 3: Isi dari direktori /sys/class/gpio setelah kita berhasil mengaktifkan gpio17
Selanjutnya masuk ke direktori GPIO yang akan kita gunakan. Didalam direktori ini ada beberapa file
yang dapat kita ubah untuk melakukan konfigurasi pada GPIO, diantaranya ada direction dan value.
2
Gambar 4: Isi dari direktori /sys/class/gpio/gpio17
Direction digunakan untuk mengatur apakah GPIO kita gunakan sebagai input atau output. untuk input
kita beri nilai in pada direction, dan untuk output kita beri nilai out. Gunakan perintah bash script echo
untuk menuliskan perintah pada file-file tersebut, dan cat untuk melihat nilai dari file-file tersebut. seperti
berikut ini:
Gambar 5: Nilai awal dari Direction yang ditampilkan menggunakan perintah cat
berikan nilai 1 pada value untuk membuat GPIO berlogika HIGH, dan berikan nilai 0 pada value untuk
membuat GPIO berlogika LOW. Gunakan perintah echo dan perintah cat pada bash script seperti berikut
ini:
logika HIGH:
sudo echo 1 > v a l u e
cat value
3
Gambar 8: Nilai dari value setelah berhasil diganti menjadi HIGH
logika LOW:
TUGAS PRAKTIKUM
1. Siapkan 4 buah LED dan sebuah papan poject board
2. Hubungkan masing-masing LED pada GPIO17, GPIO27, GPIO22, dan GPIO23
3. nyalakan masing-masing LED (active HIGH)
4. Buat laporan dari praktikum yang telah anda lakukan.