Laporan Akhir Percobaan 2

 [KEMBALI KE MENU SEBELUMNYA]



Percobaan 2
Interrupt Arduino

1. Prosedur
 [Kembali]

1. Rangkai semua komponen sesuai kondisi yang dipilih
2. Buat program di aplikasi arduino IDE
3. Setelah selesai masukkan program ke arduino di proteus
4. Jalankan program pada simulasi dan cobakan sesuai dengan modul dan kondisi
5. Selesai

2. Hardware dan diagram blok [Kembali]
      1. Hardware

      2. Diagram Blok

3. Rangkaian Simulasi dan Prinsip kerja [Kembali]


PRINSIP KERJA
    Pada percobaan 2 ini arduino sebagai kontroler menerima inputan dari pin interrupt berupa dipswitch dimana nanti outputnya akan ditampilkan pada LCD, LED dan buzzer. Disini untuk kondisinya diatur pada program arduno yang nanti akan diupload ke komponen arduino agar rangkaian bisa dijalankan.
Sesuai dengan program saat tidak ada inputan diberikan pada arduino atau dipswitch berlogika low maka LCD akan menampilkan counting dari 0 sampai tak hingga dengan delay per digit itu 1 sekon.
Lalu saat dipswitch ditekan (berlogika high/1) maka inputan akan dikirimkan ke arduino yang nantinya arduino akan membaca inputan itu lalu dikondisikan dengan program yang telah dibuat, karena sesua program saat  dipswitch high maka lcd akan menampilkan counting. saat masuk ke kondisi interupt maka LED akan menyala dan buzzer berbunyi selama beberapa saat. Setelah kondisi interrupt done maka dikembalikan ke loop utama dan counting diulang dari 0.

4. FlowChart [Kembali]

a. Listing Program 
#include<LiquidCrystal_I2C.h>

#define LED 13 //pin 13 bernama LED
#define tombol 2 //pin 2 (pin interrupt) bernama tombol
#define buzzer 11
volatile byte led_nyala = LOW; //kondisi mula-mula LED mati
static int count = 0;
volatile byte buzzer_nyala = LOW;

LiquidCrystal_I2C lcd(0x27, 20, 4);

void setup() {
 lcd.init();
 lcd.backlight();
 pinMode(LED,OUTPUT);
 pinMode(tombol,INPUT);
 attachInterrupt(digitalPinToInterrupt(2),tombol_ditekan, FALLING); //pin 2 (interrupt
0) digunakan sebagai interrupt eksternal
}

void loop() { //Main Program
 digitalWrite(LED,HIGH);
 digitalWrite(buzzer,LOW);
 lcd.setCursor(0,0);
 lcd.print("Count:");
 lcd.clear();
 lcd.setCursor(0,1);
 lcd.print(count);
 count += 1; // menambahkan integer count dengan angka 1
 delay(1000);
}

//membuat fungsi bernama tombol_ditekan, fungsi ini (ISR)
dieksekusi secara otomatis setelah arduino memperoleh sinyal interrupt di pin 2

void tombol_ditekan()
{
 digitalWrite(LED,LOW);
 digitalWrite(buzzer,HIGH);
 count = 0;
 delay(3000);
}


b. Flowchart

5. Kondisi [Kembali]
Kondisi  : Percobaan 2 Sesuai modul

6. Video Simulasi [Kembali]

7. Analisa dan Pembahasan [Kembali]

1. Pada pemakaian sensor infrared, sebutkan dan jelaskan kegunaan Trim Potensiometer pada sensor infrared serta jelaskan cara kerja dari sensor infrared itu sendiri.

Sensor infrared obstacle digunakan untuk mendeteksi keberadaan rintangan atau hambatan di depannya dengan memanfaatkan sinyal inframerah. Sensor ini memiliki rentang deteksi mulai dari 2 cm hingga 30 cm. Salah satu komponen penting pada sensor ini adalah Trim Potensiometer yang memainkan peran krusial dalam pengaturan sensitivitas dan jarak deteksi sensor.

Berikut penjelasan lebih lanjut:

  1. Kegunaan Trim Potensiometer pada Sensor Infrared Obstacle:

    • Pengaturan Ambang Batas: Trim potensiometer digunakan untuk mengatur ambang batas deteksi pada sensor inframerah. Dengan mengubah nilai resistansinya, kita dapat menyesuaikan sensitivitas sensor terhadap radiasi inframerah yang diterima.
    • Kalibrasi: Trim potensiometer juga berfungsi untuk kalibrasi sensor. Dengan mengatur resistansinya, kita memastikan bahwa sensor memberikan respons yang akurat dan sesuai dengan kondisi lingkungan.
  2. Cara Kerja Sensor Infrared Obstacle:

    • Sensor ini terdiri dari dua komponen utama: IR transmitter (pemancar inframerah) dan IR receiver (penerima inframerah).
    • IR transmitter memancarkan sinyal inframerah ke arah objek atau rintangan di depannya.
    • IR receiver menangkap sinyal inframerah yang dipantulkan oleh objek. Jika ada rintangan, sinyal inframerah akan dipantulkan kembali ke receiver.
    • OUT pin pada sensor mengindikasikan keberadaan rintangan:
      • Jika ada rintangan di depan sensor, pin OUT akan berada pada LOW.
      • Jika tidak ada rintangan, pin OUT akan berada pada HIGH.

2. Pada interrupt kenapa ketika dipasang delay 100.000 ms program langsung berpindah ke kondisi utama tanpa menunggu 100.000 ms

Interrupt adalah mekanisme yang memungkinkan mikrokontroler untuk merespons peristiwa eksternal secara cepat. Ketika delay digunakan dalam kode, itu akan memblokir eksekusi program selama periode waktu tertentu sebelum melanjutkan ke instruksi berikutnya.

Namun, ada beberapa hal yang perlu diperhatikan:

  1. Blocking Delay:

    • Delay adalah fungsi yang memblokir eksekusi program selama periode waktu tertentu.
    • Selama delay, mikrokontroler tidak dapat melakukan tugas lain.
    • Jika ada interrupt yang terjadi selama delay, mikrokontroler akan langsung beralih ke penanganan interrupt tanpa menunggu delay selesai.
  2. Prioritas Interrupt:

    • Setiap interrupt memiliki prioritas tertentu.
    • Jika interrupt dengan prioritas lebih tinggi terjadi selama delay, maka mikrokontroler akan langsung beralih ke penanganan interrupt tersebut.
  3. Penanganan Interrupt:

    • Setelah penanganan interrupt selesai, mikrokontroler akan kembali ke instruksi berikutnya setelah delay.
    • Jadi, jika interrupt terjadi selama delay, program akan melanjutkan eksekusi setelah penanganan interrupt selesai.
3. sebutkan dan jelaskan pemakaian potensiometer serta bagaimana bisa mendeteksi nilai ADC pada arduino uno (jelaskan proses konversinya, rangkaian yang dilewatinya dan jelaskan output dari arduino)

Potensiometer adalah komponen elektronika yang memiliki resistansi yang dapat diatur sesuai kebutuhan. Pada Arduino Uno, potensiometer sering digunakan untuk mengatur nilai analog, seperti kecerahan LED atau posisi servo motor. Mari kita jelaskan lebih lanjut:

  1. Pemakaian Potensiometer pada Arduino:

    • Kontrol Analog: Potensiometer digunakan sebagai input analog. Nilai resistansinya dapat diubah dengan memutar wiper (bagian tengah) sehingga menghasilkan tegangan analog yang berbeda.
    • Sensor: Potensiometer juga dapat berfungsi sebagai sensor. Misalnya, potensiometer geser digunakan pada sound mixer untuk mengatur volume.
  2. Proses Konversi Nilai ADC pada Arduino Uno:

    • Analog-to-Digital Converter (ADC) pada Arduino Uno mengubah tegangan analog menjadi nilai digital.
    • Berikut langkah-langkahnya:
      1. Sampling: ADC mengambil sampel tegangan analog dari pin A0 hingga A5.
      2. Quantization: Nilai tegangan analog dipecah menjadi 1024 level (10-bit ADC).
      3. Conversion: Nilai tegangan diubah menjadi bilangan desimal antara 0 hingga 1023.
      4. Output: Nilai ini dapat digunakan dalam program Arduino.
  3. Rangkaian yang Dilewati:

    • Potensiometer terhubung dengan 3 terminal:
      • Terminal positif dan negatif: Terhubung dengan sumber listrik untuk mengaliri elemen resistif.
      • Terminal analog (wiper): Terhubung dengan pin A0 pada Arduino.
    • Rangkaian:
      • Terminal positif dan negatif terhubung ke 5V dan GND.
      • Terminal analog terhubung ke A0.
      • Tegangan output dari potensiometer akan diteruskan ke ADC.
  4. Output dari Arduino:

    • Nilai yang diperoleh dari ADC (0 hingga 1023) dapat digunakan dalam program.
    • Contoh: Jika potensiometer digunakan untuk mengatur kecerahan LED, nilai ADC akan mengendalikan intensitas cahaya LED.
    • Nilai ini dapat diolah lebih lanjut, seperti menggerakkan servo motor atau mengambil keputusan berdasarkan ambang batas tertentu.

B. Tugas Khusus
Apa yang dimaksud dengan tegangan ripple dan kaitannya dengan quartz crystal oscillator pada arduino uni yang menghasilkan PWM?

Tegangan RippleQuartz Crystal Oscillator, dan PWM (Pulse Width Modulation) memiliki kaitan yang menarik dalam dunia elektronika. Mari kita perpanjang penjelasan:

  1. Tegangan Ripple:

    • Definisi: Tegangan ripple adalah variasi tegangan yang terjadi pada sinyal listrik seiring dengan perubahan arus atau frekuensi.
    • Penyebab: Tegangan ripple biasanya muncul pada sumber daya listrik yang tidak sempurna, seperti catu daya switching atau catu daya yang mengalami fluktuasi.
    • Dampak: Tegangan ripple dapat menyebabkan ketidakstabilan pada rangkaian elektronik. Misalnya, pada rangkaian audio, tegangan ripple dapat mengganggu kualitas suara.
  2. Quartz Crystal Oscillator:

    • Definisi: Kristal osilator adalah komponen yang menghasilkan sinyal osilasi berfrekuensi tetap.
    • Fungsi: Pada Arduino Uno, kristal osilator beroperasi pada frekuensi 16 MHz. Kristal ini berfungsi sebagai “jantung” Arduino, mengirimkan detak ke mikrokontroler agar beroperasi pada setiap detaknya.
    • Stabilitas: Kristal osilator memiliki stabilitas frekuensi yang tinggi dan digunakan untuk mengatur waktu, sinkronisasi, dan pengukuran.
  3. PWM (Pulse Width Modulation):

    • Definisi: PWM adalah teknik yang digunakan pada Arduino untuk menghasilkan sinyal analog secara simulasi menggunakan sinyal digital.
    • Cara Kerja: Dalam PWM, mikrokontroler mengatur output digital antara HIGH dan LOW dengan porsi waktu tertentu untuk setiap nilai keluarannya.
    • Contoh Penggunaan: PWM sering digunakan untuk mengontrol kecerahan LED, kecepatan motor DC, atau posisi servo motor.
  4. Kaitan Ketiganya:

    • PWM dan Quartz Crystal: Kristal osilator memberikan referensi waktu yang stabil untuk operasi PWM. Frekuensi kristal memastikan akurasi perhitungan panjang pulsa dalam PWM.
    • Tegangan Ripple dan Quartz Crystal: Jika tegangan catu daya mengalami ripple, ini dapat mempengaruhi stabilitas kristal osilator. Oleh karena itu, pemilihan catu daya yang baik sangat penting.

Jadi, tegangan ripple memengaruhi stabilitas kristal osilator, dan kristal osilator digunakan dalam PWM untuk menghasilkan sinyal analog. 


8. Download File [Kembali]
Download HTML Klik disini
Download Video Simulasi Klik disini

Komentar

Postingan populer dari blog ini

Cover

Cover uP dan uC