LA uP uC M1P5



Percobaan 3

Buzzer & Push Button

1. Prosedur[Kembali]

    1. Persiapkan semua alat dan bahan yang diperlukan.

    2. Rangkai semua komponen pada breadboard yang telah disediakan.

    3. Buatlah program di aplikasi Thonny untuk mikrokontroler Raspberry Pi Pico.

    4. Rangkaian dihubungkan ke laptop dengan kabel USB dan dirunning.

    5. Amati hasilnya, apakah output sesuai dengan program yang diinputkan.

    6. Selesai.

.

2. Hardware dan Diagram Blok[Kembali]

A. Hardware

1. Raspberry Pi Pico



Raspberry Pi Pico adalah sebuah mikrokontroler kecil dan murah yang dirancang oleh Raspberry Pi Foundation. Berbeda dengan Raspberry Pi versi sebelumnya yang berbentuk mini PC, Raspberry Pi Pico lebih mirip seperti Arduino, yaitu sebuah papan sirkuit kecil yang khusus digunakan untuk mengendalikan berbagai perangkat elektronik dan sensor.

Raspberry Pi Pico menggunakan chip RP2040 buatan Raspberry Pi sendiri, yang merupakan otak dari papan ini. Chip ini berbasis dual-core ARM Cortex-M0+ yang cukup cepat untuk berbagai aplikasi sederhana hingga menengah, mulai dari sistem kontrol, sensor, hingga proyek-proyek robotika.

2. Touch Sensor




Push Button adalah saklar (switch) mekanis sederhana yang berfungsi untuk menghubungkan atau memutuskan arus listrik dalam sebuah rangkaian ketika ditekan.

3. Buzzer

       

Buzzer adalah komponen output yang dapat menghasilkan bunyi atau suara saat dialiri arus listrik. Buzzer biasanya digunakan sebagai alat pemberi peringatan suara (alarm).

B. Blok Diagram


3. Rangkaian Simulasi dan Prinsip Kerja[Kembali]

Rangkaian Percobaan:



Prinsip Kerja Rangkaian:

Rangkaian ini menggunakan Raspberry Pi Pico, dua push button, dan buzzer untuk memberikan umpan balik suara saat tombol ditekan. Berikut cara kerja rangkaiannya:

  1. Push Button (Tombol 1 dan Tombol 2)
                        Push Terhubung ke pin GPIO 7 dan 10 pada STM32 yang akan menjadi input sistem

Kedua tombol memiliki konfigurasi pull-up internal, sehingga dalam keadaan normal tombol memberikan logika HIGH (1).

Saat tombol ditekan, sinyal berubah menjadi LOW (0), yang akan dideteksi oleh Raspberry Pi Pico.

  1. Buzzer

Buzzer terhubung ke pin GPIO 12 dan dikendalikan oleh Raspberry Pi Pico.

Ketika tombol ditekan, Raspberry Pi Pico akan mengaktifkan buzzer (HIGH/1) selama durasi tertentu, kemudian mematikannya.

  1. Proses Deteksi Tombol

Program memantau perubahan status tombol dengan teknik edge detection (dari HIGH ke LOW).

Jika tombol ditekan (transisi dari 1 ke 0), maka buzzer berbunyi selama 100ms sebagai tanda respons.

Untuk menghindari pembacaan ganda akibat getaran mekanis tombol, program menggunakan delay debounce (1ms).

Prinsip Kerja Program:

A. Inisialisasi Perangkat Keras

  1. Menentukan Pin untuk Buzzer dan Tombol:

Buzzer didefinisikan sebagai output pada Pin 12.

Push button 1 dan 2 didefinisikan sebagai input pada Pin 10 dan 7, dengan pull-up internal diaktifkan.

Pull-up internal berfungsi untuk memastikan bahwa saat tombol tidak ditekan, nilai default dari tombol adalah HIGH (1), dan saat ditekan nilainya berubah menjadi LOW (0).

  1. Membuat Variabel untuk Menyimpan Status Tombol:

lastButton1State dan lastButton2State digunakan untuk mencatat status terakhir tombol, sehingga program dapat mendeteksi perubahan status dari HIGH ke LOW.

B. Fungsi untuk Mengaktifkan Buzzer

Program memiliki fungsi bernama buzz(duration), yang bertanggung jawab untuk mengontrol buzzer. Cara kerjanya:

  1. Mengaktifkan buzzer dengan mengatur pin output menjadi HIGH (1).
  2. Menunggu selama durasi tertentu (dalam milidetik) menggunakan utime.sleep_ms().
  3. Mematikan buzzer dengan mengatur pin output menjadi LOW (0).
  4. Fungsi ini memungkinkan kita untuk dengan mudah mengatur durasi bunyi buzzer setiap kali tombol ditekan.

C. Loop Utama Program

Program berjalan dalam loop utama (infinite loop) yang terus menerus membaca status tombol dan mengambil tindakan jika tombol ditekan. Langkah-langkahnya sebagai berikut:

  1. Membaca Status Tombol

Program membaca nilai dari Button1.value() dan Button2.value().

Jika tombol ditekan, nilainya berubah menjadi LOW (0).

  1. Mendeteksi Perubahan Status

Jika status tombol berubah dari HIGH (1) ke LOW (0) (artinya tombol baru saja ditekan), maka program akan menjalankan perintah tertentu.

Ini berguna untuk menghindari pembacaan ganda akibat efek bouncing dari tombol mekanis.

  1. Menyalakan Buzzer saat Tombol Ditekan

Jika tombol 1 ditekan, program mencetak pesan "Tombol 1 Ditekan" di terminal dan menjalankan fungsi buzz(100), yang akan membunyikan buzzer selama 100 milidetik.

Jika tombol 2 ditekan, program mencetak pesan "Tombol 2 Ditekan" dan juga membunyikan buzzer selama 100 milidetik.

  1. Menyimpan Status Tombol Terakhir

Program menyimpan status terakhir tombol ke dalam variabel lastButton1State dan lastButton2State, sehingga perubahan status dapat dideteksi pada iterasi berikutnya.

  1. Menggunakan Delay Debounce (1 ms)

utime.sleep_ms(1) digunakan untuk mencegah efek bouncing, yaitu pembacaan tombol yang tidak stabil akibat sifat mekanis tombol saat ditekan.

 

4. Flowchart dan Listing Program[Kembali]

Flowchart:

Listing Program:

from machine import Pin

import utime

# Konfigurasi pin

BUZZER = Pin(12, Pin.OUT)

Button1= Pin(10, Pin.IN, Pin.PULL_UP)

Button2= Pin(7, Pin.IN, Pin.PULL_UP)

lastButton1State = True

lastButton2State = True

def buzz(duration):

    BUZZER.value(1)  # Nyalakan buzzer

utime.sleep_ms(duration)

    BUZZER.value(0)  # Matikan buzzer

while True:

    Button1State = Button1.value()

    Button2State = Button2.value()

    if Button1State == 0 and lastButton1State == 1:

        print("Tombol 1 Ditekan")

        buzz(100)

    lastButton1State = Button1State  

    if Button2State == 0 and lastButton2State == 1:

        print("Tombol 2 Ditekan")

        buzz(100)

    lastButton2State = Button2State

utime.sleep_ms(1)  # Debounce sederhana





6. Analisa[Kembali]


7. Download File[Kembali]


Download File HTML Klik Disini
Download File Video  Klik Disini
Download File Program Klik Disini
Download File Datasheet Raspberry Pi Pico Klik Disini
Download File Datasheet Buzzer Klik Disini
Download File Datasheet Push Button Klik Disini











Tidak ada komentar:

Posting Komentar

Home

  BAHAN PRESENTASI UNTUK MATAKULIAH                                                 ELEKTRONIKA 2022 Nama: Hafizh Qisthi Bakri NIM: 22109530...