TUGAS PENDAHULUAN 1



1. Prosedur[Kembali]

  1. Persiapan

    • Buka Wokwi dan buat proyek baru dengan Raspberry Pi Pico.
    • Siapkan 6 push button sebagai input dan 3 LED sebagai output.
  2. Perancangan Rangkaian

    • Hubungkan push button ke GPIO dengan resistor pull-down.
    • Hubungkan LED ke GPIO dengan resistor pembatas arus.
    • Setiap 2 push button mengontrol 1 LED.
  3. Pemrograman

    • Tulis kode MicroPython untuk membaca input push button.
    • Gunakan logika OR agar LED menyala saat salah satu dari dua tombol terkait ditekan.
  4. Simulasi dan Pengujian

    • Jalankan simulasi di Wokwi.
    • Tekan push button dan amati apakah LED berfungsi sesuai logika.
  5. Analisis dan Kesimpulan

    • Evaluasi hasil percobaan dan pastikan sistem bekerja dengan benar.

2. Hardware dan Diagram Blok[Kembali]

Hardware

  • Raspberry Pi Pico

  • LED
  • Touch Sensor
  • Resistor


Diagram Blok


3. Rangkaian Simulasi dan Prinsip Kerja[Kembali]

Kondisi ketika 2 input menghidupkan 1 output

  • Rangkaian ketika 2 push button tidak ditekan secara bersamaan/salah satu yang ditekan

  • Rangkaian ketika 2 push button ditekan secara bersamaan



Prinsip Kerja

Konfigurasi Pin pada Raspberry Pi Pico
  • Pin GPIO sebagai output untuk LED:

    • GPIO2 → LED Merah 1
    • GPIO3 → LED Merah 2
    • GPIO16 → LED Merah 3
  • Pin GPIO sebagai input untuk Push Button:

    • GPIO10 → Tombol 1
    • GPIO11 → Tombol 2
    • GPIO12 → Tombol 3
    • GPIO13 → Tombol 4
    • GPIO14 → Tombol 5
    • GPIO17 → Tombol 6
Cara kerja rangkaian
  1. Kondisi Awal (Semua Tombol Tidak Ditekan)

    • Semua tombol push button tidak ditekan, sehingga semua pin input (GPIO10-14 & GPIO17) bernilai rendah (0).
    • Raspberry Pi Pico akan mematikan semua LED (GPIO2, GPIO3, dan GPIO16 diatur ke 0).
  2. Ketika Tombol Ditekan

    • Jika dua tombol dalam satu pasangan ditekan bersamaan, Raspberry Pi Pico akan mendeteksi perubahan status pada pin input:

      • GPIO10 & GPIO11 ditekan → GPIO2 menyala (LED Merah 1 menyala).
      • GPIO12 & GPIO13 ditekan → GPIO3 menyala (LED Merah 2 menyala).
      • GPIO14 & GPIO17 ditekan → GPIO16 menyala (LED Merah 3 menyala).
    • Raspberry Pi Pico akan mengaktifkan output LED terkait (mengatur GPIO LED ke logika tinggi/1).

  3. Ketika Salah Satu atau Kedua Tombol Dilepas

    • Jika salah satu atau kedua tombol dalam pasangan dilepas, GPIO kembali ke logika rendah (0) karena menggunakan pull-down resistor.
    • Raspberry Pi Pico akan mematikan LED terkait (mengatur GPIO LED ke 0).
Hubungan Pin dan LED

Tombol 1 (GPIO10)

Tombol 2 (GPIO11)

LED 1 (GPIO2)

0 (tidak ditekan)

0 (tidak ditekan)

0 (mati)

1 (ditekan)

0 (tidak ditekan)

0 (mati)

0 (tidak ditekan)

1 (ditekan)

0 (mati)

1 (ditekan)

1 (ditekan)

1 (menyala)



Tombol 3 (GPIO12)

Tombol 4 (GPIO13)

LED 2 (GPIO3)

0 (tidak ditekan)

0 (tidak ditekan)

0 (mati)

1 (ditekan)

0 (tidak ditekan)

0 (mati)

0 (tidak ditekan)

1 (ditekan)

0 (mati)

1 (ditekan)

1 (ditekan)

1 (menyala)



Tombol 6 (GPIO14)

Tombol 6 (GPIO17)

LED 3 (GPIO16)

0 (tidak ditekan)

0 (tidak ditekan)

0 (mati)

1 (ditekan)

0 (tidak ditekan)

0 (mati)

0 (tidak ditekan)

1 (ditekan)

0 (mati)

1 (ditekan)

1 (ditekan)

9882


  • Raspberry Pi Pico membaca status 6 tombol push button dari GPIO10, GPIO11, GPIO12, GPIO13, GPIO14, dan GPIO17.
  • Jika dua tombol dalam satu kelompok ditekan bersamaan, Raspberry Pi Pico akan mengaktifkan pin GPIO LED yang sesuai.
  • Jika tombol dilepas, Raspberry Pi Pico akan mematikan LED terkait.
  • Menggunakan teknik pull-down resistor untuk memastikan status tombol tetap stabil saat tidak ditekan.

Listing Program

# NAMA : KUNTUM KHAIRA

# NIM  : 2210952043

# KELOMPOK 2

 

#P1K7 : Buatlah rangkaian seperti gambar pada percobaan 1 dengan input

#       6 input Push button dan 3 output led merah, dengan 2 input

#       masing-masing menghidupkan 1 output

 

from machine import Pin

import time

 

# Konfigurasi GPIO untuk LED dan tombol

led_pins = [2, 3, 16]  # 3 LED merah

button_pins = [10, 11, 12, 13, 14, 17]  # 6 tombol

 

# Inisialisasi LED sebagai output

leds = [Pin(pin, Pin.OUT) for pin in led_pins]

 

# Inisialisasi push button sebagai input dengan pull-down

buttons = [Pin(pin, Pin.IN, Pin.PULL_DOWN) for pin in button_pins]

 

# Mapping tombol ke LED (2 tombol per LED)

button_to_led = {

    (0, 1): 0,  # Tombol 0 & 1 mengontrol LED 0

    (2, 3): 1,  # Tombol 2 & 3 mengontrol LED 1

    (4, 5): 2   # Tombol 4 & 5 mengontrol LED 2

}

 

while True:

    for (btn1, btn2), led_idx in button_to_led.items():

        if buttons[btn1].value() and buttons[btn2].value():  # Kedua tombol harus ditekan bersamaan

            time.sleep(0.1)  # Debounce

            if buttons[btn1].value() and buttons[btn2].value():  # Pastikan masih ditekan

                leds[led_idx].value(1)  # Nyalakan LED

        else:

            leds[led_idx].value(0)  # Matikan LED jika salah satu tombol dilepas

   

    time.sleep(0.05)  # Delay loop utama

 

 


5. Kondisi [Kembali]

P1K7 : Buatlah rangkaian seperti gambar pada percobaan 1 dengan input 6 input Push button dan 3 output led merah, dengan 2 input masing-masing menghidupkan 1 output

6. Video Simulasi[Kembali]


7. Download File[Kembali]

Download HTML disini
Download Rangkaian program disini
Download Listing Program disini
Download Datasheet Raspberry Pi Pico disini
Download Video disini





Komentar

Postingan populer dari blog ini

SISTEM DIGITAL

ELEKTRONIKA

MIKROPROSESOR DAN MIKROKONTROLER