MENGHIDUPKAN LED MENGGUNAKAN GPIO RASPBERRY PI DAN PYTHON - TUTORIAL 1

 

MENGHIDUPKAN LED MENGGUNAKAN GPIO RASPBERRY PI DAN PYTHON

TUTORIAL 1

LAPORAN PRAKTIKUM LABORATORIUM MIKROKONTROLER II

 

 

 



 

 

Dosen Pengampu:
Dr. Samuel Beta K., Ing. Tech., M.T.

Disusun oleh:
Kelompok 1

06 - Bagas Agung Pramudya

RE-3A (4.34.22.0.06)

15 - M. Ajik Al-Khusain

RE-3A (4.34.22.0.16)

20 - Roytua Daud S.

RE-3A (4.34.22.0.22)

22 - Tiara Hande Dias K.

RE-3A (4.34.22.0.25)

 

PROGRAM STUDI TEKNOLOGI REKAYASA ELEKTRONIKA
JURUSAN TEKNIK ELEKTRO
POLITEKNIK NEGERI SEMARANG
2025

BAB I

PENDAHULUAN

1.1 Latar Belakang

Raspberry Pi adalah komputer mini berukuran kecil yang memiliki kemampuan besar untuk digunakan dalam berbagai aplikasi, termasuk pendidikan, otomasi rumah, hingga sistem kendali industri. Salah satu fitur utama dari Raspberry Pi adalah tersedianya pin GPIO (General Purpose Input Output) yang memungkinkan pengguna untuk berinteraksi langsung dengan perangkat keras eksternal seperti sensor, LED, motor, dan aktuator lainnya. Dalam dunia pendidikan, GPIO menjadi alat pembelajaran yang efektif untuk memahami prinsip dasar sistem digital dan kontrol elektronik.

Pada praktikum ini, digunakan media bantu berupa Raspberry Pi Trainer Kit Advanced (RTKA) yang telah dirancang khusus untuk memfasilitasi pembelajaran sistem kendali berbasis Raspberry Pi. Dengan RTKA, mahasiswa dapat lebih mudah menghubungkan LED dan perangkat lainnya ke GPIO tanpa harus membuat rangkaian dari awal. Praktikum ini berfokus pada pemrograman LED menggunakan pustaka Python gpiozero dan time untuk memahami bagaimana Raspberry Pi dapat mengendalikan perangkat output secara terjadwal dan otomatis.

Melalui kegiatan ini, mahasiswa diharapkan dapat memahami alur kerja dari pengendalian perangkat melalui GPIO, cara mengakses Raspberry Pi secara remote menggunakan SSH, serta dasar pemrograman Python untuk implementasi kendali digital. Praktikum ini juga menjadi dasar penting untuk praktikum tingkat lanjut yang akan menggunakan berbagai sensor dan sistem IoT.


 

 

BAB II

TINJAUAN PUSTAKA

2.1 Raspberry Pi Trainer Kit Advanced (RTKA)

RTKA adalah sebuah kit pembelajaran terintegrasi yang menggunakan Raspberry Pi 4B sebagai pusat pemrosesannya. Kit ini dirancang khusus untuk mendukung pembelajaran praktik kendali sistem tertanam, IoT, dan otomasi. RTKA menyediakan antarmuka langsung ke berbagai perangkat input/output seperti LED, sensor suhu, sensor jarak, trimpot, dan motor. Dalam konteks praktikum ini, RTKA memudahkan akses ke GPIO melalui konektor yang sudah terorganisir, sehingga risiko kesalahan rangkaian dapat diminimalkan. Selain itu, RTKA juga mendukung koneksi jaringan dan komunikasi serial, menjadikannya media pembelajaran yang lengkap untuk mahasiswa vokasi.

2.2 GPIO Raspberry Pi

GPIO atau General Purpose Input Output adalah antarmuka digital multifungsi yang tersedia pada papan Raspberry Pi. Pin GPIO dapat dikonfigurasi baik sebagai input maupun output digital. Ketika disetel sebagai output, GPIO dapat digunakan untuk mengendalikan perangkat seperti LED, relay, dan motor. Sebaliknya, jika disetel sebagai input, pin ini dapat membaca sinyal dari tombol tekan, sensor jarak, atau sensor lainnya. Setiap pin GPIO memiliki nomor fisik dan juga penomoran logika (BCM), sehingga penting untuk memahami konfigurasi pinout sebelum menggunakannya dalam pemrograman. Akses GPIO biasanya dilakukan melalui bahasa Python dengan bantuan pustaka seperti RPi.GPIO atau gpiozero.

2.3 Library gpiozero dan time

gpiozero adalah pustaka Python yang dirancang untuk menyederhanakan proses pemrograman GPIO pada Raspberry Pi. Dibandingkan pustaka RPi.GPIO yang lebih teknis, gpiozero menawarkan pendekatan yang lebih ramah bagi pemula dengan sintaks yang sederhana dan jelas. Misalnya, untuk menyalakan LED hanya dibutuhkan satu baris perintah: led.on(). Sedangkan pustaka time merupakan bagian dari pustaka standar Python yang digunakan untuk mengatur jeda waktu eksekusi program. Fungsi sleep() dari pustaka time sangat berguna untuk menciptakan efek berkedip (blinking) dengan memberikan jeda antara LED menyala dan mati. Kedua pustaka ini menjadi dasar yang penting dalam praktikum kendali output digital.

 

BAB III

PERANCANGAN SISTEM

3.1 Alat dan Bahan

Adapun alat dan bahan yang digunakan dalam praktikum ini adalah sebagai berikut:

  • Raspberry Pi 4B (via RTKA)
  • LED
  • Resistor 330 Ω (jika diperlukan)
  • Kabel jumper



  • MobaXterm (untuk akses SSH)
  • Software Python 3

3.2 Diagram Blok

Sistem kendali LED menggunakan Raspberry Pi dapat digambarkan dalam bentuk diagram blok berikut:

Diagram blok ini menunjukkan bahwa program Python yang dijalankan di Raspberry Pi memberikan perintah digital kepada pin GPIO. Perintah ini mengatur kondisi logika HIGH atau LOW pada pin tertentu (misalnya GPIO 17). Sinyal dari GPIO ini kemudian diteruskan ke LED. Jika pin diberi logika HIGH, maka LED akan menyala; sebaliknya, jika diberi logika LOW, maka LED akan mati. Proses ini terjadi secara terus-menerus sesuai perintah dalam program yang berjalan.

3.3 Diagram Alir

Diagram alir berikut menjelaskan alur kerja sistem secara umum:

Keterangan posisi:

  • Langkah disusun dari atas ke bawah.
  • Panah vertikal menghubungkan tiap proses.
  • Decision (langkah 8) bercabang:
    • “Ya” mengarah ke atas (ulang)
    • “Tidak” mengarah ke “Selesai”

3.4 Langkah-Langkah Praktikum

  1. Persiapan Perangkat:
    • Pastikan Raspberry Pi telah terhubung dengan RTKA dan laptop melalui jaringan Wi-Fi.
    • Remote ke Raspberry Pi menggunakan MobaXterm via SSH.

2.     Hubungkan pin GPIO 17 (pin fisik 11) ke kaki anoda LED.

3.     Hubungkan kaki katoda LED ke GND Raspberry Pi.

4.     Buka aplikasi MobaXterm dan lakukan koneksi SSH ke Raspberry Pi.

5.     Masuk ke Raspberry Pi dengan username: pi, password default: raspberry.

6.     Buat file Python baru dengan nama led.py.

7.     Masukkan kode berikut:

from gpiozero import LED

from time import sleep

 

led = LED(17)

 

while True:

    led.on()

    print("LED ON")

    sleep(1)

    led.off()

    print("LED OFF")

    sleep(1)

 


 

BAB IV

HASIL DAN PEMBAHASAN

4.1 Hasil

Setelah seluruh rangkaian dan kode program dijalankan, LED akan berkedip menyala dan mati dengan interval 1 detik. Hal ini ditandai dengan perubahan kondisi LED secara fisik serta keluaran teks "LED ON" dan "LED OFF" yang muncul di terminal secara bergantian. Kondisi tersebut membuktikan bahwa Raspberry Pi berhasil mengakses dan mengendalikan pin GPIO 17 sebagai output digital, serta bahwa fungsi sleep() bekerja sebagaimana mestinya dalam memberikan jeda waktu antar perubahan kondisi.

4.2 Pembahasan

Dari hasil pengamatan, sistem dapat dikatakan bekerja dengan baik dan sesuai dengan rancangan. GPIO 17 berhasil digunakan sebagai jalur output untuk mengendalikan LED. Perintah led.on() dan led.off() dari pustaka gpiozero memberikan kontrol logika digital HIGH dan LOW pada pin tersebut. Program berjalan dalam loop tak hingga (while True:), sehingga LED akan terus berkedip selama program belum dihentikan secara manual oleh pengguna (misalnya dengan Ctrl+C). Delay yang diberikan oleh sleep(1) dari pustaka time sangat penting agar perubahan kondisi LED dapat diamati secara jelas. Praktikum ini memberikan pemahaman langsung tentang bagaimana logika digital diterapkan dalam kendali perangkat fisik menggunakan pemrograman Python pada Raspberry Pi.

 


 

BAB V

PENUTUP

5.1 Kesimpulan

Berdasarkan hasil praktikum yang telah dilakukan, dapat disimpulkan bahwa Raspberry Pi mampu mengendalikan perangkat output digital seperti LED secara efektif melalui pin GPIO dengan menggunakan pemrograman Python. Penggunaan pustaka gpiozero mempermudah proses pengendalian karena sintaksnya sederhana dan intuitif, sangat cocok untuk pemula. Selain itu, penerapan fungsi sleep() dari pustaka time memungkinkan pengaturan waktu nyala dan mati LED secara presisi. Praktikum ini membuktikan bahwa sistem digital dasar dapat diimplementasikan dengan baik menggunakan Raspberry Pi sebagai kontroler, dan dapat menjadi dasar untuk eksperimen lanjutan seperti kendali buzzer, motor, atau sistem berbasis sensor.

5.2 Tanya Jawab

1. Apa kelebihan menggunakan pustaka gpiozero dibandingkan RPi.GPIO dalam pengendalian LED pada Raspberry Pi? (Ardian Saputra – 04)

Jawaban:
gpiozero memiliki sintaks yang lebih sederhana dan ramah pemula. Contohnya, untuk menyalakan LED hanya diperlukan led.on() tanpa konfigurasi pin manual, sementara RPi.GPIO memerlukan setup dan deklarasi arah pin terlebih dahulu. Ini mempercepat proses belajar dan implementasi dasar.

2. Jika Anda diminta membuat simulasi lampu lalu lintas 3 warna menggunakan GPIO, bagaimana struktur program sederhananya? (Arief Rahman – 03)

Jawaban:
Gunakan 3 LED mewakili merah, kuning, dan hijau. Aktifkan secara bergantian dengan delay tertentu:

while True:

    led1.on()      # Merah nyala

    sleep(5)

    led1.off()

   

    led2.on()      # Kuning nyala (transisi ke hijau)

    sleep(2)

    led2.off()

 

    led3.on()      # Hijau nyala

    sleep(5)

    led3.off()

 

    led2.on()      # Kuning nyala lagi (transisi ke merah)

    sleep(2)

    led2.off()

 

Program tersebut merepresentasikan siklus lampu lalu lintas yang umum.

3. Apa peran penting dari fungsi sleep() dalam kendali LED, dan apa yang terjadi jika fungsi ini dihapus? (Ilham Yahya – 11)

Jawaban:
Fungsi sleep() memberikan jeda waktu agar LED menyala/mati dapat dilihat secara nyata oleh mata manusia. Tanpa sleep(), perubahan nyala-mati akan sangat cepat dan terlihat seperti LED berkedip acak atau bahkan menyala terus karena perubahan terlalu cepat.

 

4. Jelaskan bagaimana konsep flip-flop SR bisa diimplementasikan menggunakan dua tombol dan dua LED pada Raspberry Pi. (M. Nur Afiq – 16)

Jawaban:
Flip-flop SR (Set-Reset) dapat diimplementasikan dengan:

  • Tombol 1 untuk Set (menyalakan LED 1)
  • Tombol 2 untuk Reset (mematikan LED 1)
    Menggunakan logika digital dan pengondisian tombol di Python, LED akan tetap menyala setelah tombol Set ditekan sampai tombol Reset ditekan.

Dengan program :

# === Import Library ===

from gpiozero import LED, Button      # LED dan Button dari gpiozero

from signal import pause              # Agar program tetap berjalan

 

# === Inisialisasi GPIO ===

led = LED(17)                         # LED pada pin GPIO 17

btn_set = Button(2)                   # Tombol SET pada GPIO 2

btn_reset = Button(3)                 # Tombol RESET pada GPIO 3

 

# === Fungsi untuk mengubah status LED ===

def set_led():                        # Fungsi Set: nyalakan LED

    led.on()

    print("LED ON (SET)")

 

def reset_led():                      # Fungsi Reset: matikan LED

    led.off()

    print("LED OFF (RESET)")

 

# === Pemicu Tombol ===

btn_set.when_pressed = set_led        # Saat tombol SET ditekan

btn_reset.when_pressed = reset_led    # Saat tombol RESET ditekan

 

# === Menjaga program tetap berjalan ===

pause()                               # Tunggu input terus-menerus

 

 

5. Bagaimana Anda dapat memperluas sistem kendali LED menjadi sistem interaktif berbasis sensor, dan berikan contohnya? (M. Affan – 14)

Jawaban:
Dengan menambahkan sensor seperti LDR atau PIR, kita dapat mengendalikan LED secara otomatis berdasarkan kondisi lingkungan. Contohnya, LED menyala saat cahaya ruangan gelap menggunakan LDR:

from gpiozero import LED, LightSensor

 

led = LED(17)

ldr = LightSensor(4)

 

ldr.when_dark = led.on

ldr.when_light = led.off

 

Sistem ini otomatis menyalakan LED saat mendeteksi kegelapan.

 


Untuk video lengkap dapat di akses melalui link di bawah ini :

https://youtu.be/PYKvn0QAvxM 

Komentar

Postingan populer dari blog ini

PROTOTYPE SMART HOME DENGAN ESP32 BERBASIS INTERNET OF THINGS

IoT Health Monitoring System for Sports: Real-Time Heart Rate and Temperature Tracking

MONITORING PENETAS TELUR BERBASIS IoT