Tugas Pendahuluan 1 (M2)

 [KEMBALI KE MENU SEBELUMNYA]




1. Prosedur  [back]
Langkah-langkah percobaan :
    1. Siapkan alat dan bahan yaitu dengan komponen yaitu Arduino Uno, 
        Dipswitch, LCD, Motor, dan komponen lainnya
    2. Rangkai sesuai gambar percobaan.
    3, Rancang kerja rangkaian sesuai kondisi.
    4. Jalankan simulasi.

2. Hardware dan diagram blok [back]
- Arduino Uno
                                            

- Dipswitch



- LCD


- IC PCF 8574



- Potensiometer



- Motor

  • Diagram blok




3. Rangkaian Simulasi dan Prinsip Kerja  [back]

  • Prinsip Kerja :
Pada rangkaian diatas menggunakan interrupt arduino dengan motor dan tampilan LCD. Pada saat dipswitch aktif Motor akan berputar ke kanan selama 5 detik, lalu mati 3 detik, berputar kekiri 5 detik dan mati 7 detik. Hal ini disetting menjadi loop interrupt counting arduino. Kemudian LCD akan menampilkan counting dari 50 sampai 0, interrupt counting diulang dari 50 dan kemudian motor DC berhenti 3 detik

4. Flowchart dan Listing Program  [back]
  • Flowchart
       
  • Listing Program
#include  <LiquidCrystal_I2C.h>

#define tombol 2   // pin 2 (pin interrupt) bernama tombol
#define motorPin 11  // pin 11 untuk motor

#define motorDelay 500 // Waktu rotasi motor dalam milidetik
#define stopDelay 300  // Waktu motor berhenti dalam milidetik
#define restartDelay 700 // Waktu sebelum penghitungan dimulai ulang dalam milidetik

volatile int count = 50; // Mulai dari 50

LiquidCrystal_I2C lcd(0x27, 16, 2);

void setup() {
  lcd.init();
  lcd.backlight();
  pinMode(tombol, INPUT);
  pinMode(motorPin, OUTPUT);
  attachInterrupt(digitalPinToInterrupt(2), tombol_ditekan, FALLING);
}

void loop() { // Main Program
  // Rotasi motor ke kanan selama 5 detik
  digitalWrite(motorPin, HIGH);
  delay(motorDelay);

  // Stop motor selama 3 detik
  digitalWrite(motorPin, LOW);
  delay(stopDelay);

  // Rotasi motor ke kiri selama 5 detik
  digitalWrite(motorPin, HIGH);
  delay(motorDelay);

  // Stop motor selama 3 detik
  digitalWrite(motorPin, LOW);
  delay(stopDelay);

  // LCD menampilkan counting dari 50 sampai 0
  lcd.setCursor(0, 0);
  lcd.print("Count: ");
  lcd.setCursor(0, 1);
  lcd.print(count);
 
  // Pengurangan integer count dengan angka 1
  count -= 1;

  // Jika count mencapai 0, reset kembali ke 50 dan tunggu 3 detik
  if (count < 0) {
    count = 50;
    delay(stopDelay);
  }
}

// Fungsi interrupt tombol ditekan
void tombol_ditekan() {
  count = 50; // Mengatur ulang hitungan
  delay(restartDelay);
}

  

6. Kondisi  [back]
Percobaan 2 (Interrupt Arduino - LCD,LED, dan Motor DC) Kondisi 7 :
    Motor ke kanan 5 detik lalu mati 3 detik berputar ke kiri 5 detik dan mati 7 detik ,LCD menampilkan counting dari 50 sampai 0, interrupt counting diulang dari 50 dan motor DC berhenti 3 detik
  
7. Video Simulasi  [back]



8. Download File  [back]
Download Video percobaan Di Sini
Download Rangkaian percobaan Di Sini
Download Library Arduino Uno Di Sini
Download Datasheet Arduino Uno Di Sini
Download Datasheet LCD Di Sini
Download HTML Di Sini

Tidak ada komentar:

Posting Komentar