Tugas Pendahuluan 1 Modul 2




Tugas Pendahuluan 1 Modul 2
(Percobaan 1 Kondisi 1)

1. Prosedur
[Kembali]

1. Rangkai rangkaian di proteus sesuai dengan kondisi percobaan.
2. Tulis program untuk arduino di software Arduino IDE.
3. Compile program tadi, lalu upload ke dalam arduino.
4. Setelah program selesai di upload, jalankan simulasi rangkaian pada proteus.

2. Hardware dan Diagram Blok [Kembali]

Hardware :

1. LCD 12x6 




2. I2C




3. Arduino Uno





4. Led






5. Buzzer




6. Dipswtich



7. Potensiometer



Block Diagram :




3. Rangkaian Simulasi dan Prinsip Kerja [Kembali]

Rangkaian Simulasi :



Prinsip Kerja :

Pada percobaan 1 ini, dimana komponen yang digunakan pada rangkaian terdiri dari Arduino Uno, LCD, motor, dipswitch, dan sensor LDR. Dipswitch berperan sebagai sebagai input dimana rangkaian dipswitch pada rangkaian ini adalah rangkaian pull-up, sedangkan LCD dan motor berperan sebagai output. Sensor LDR digunakan untuk mengatur nilai ADC nya. Ketika kedua dipswitch diaktifkan, output dari dipswitch dikirim ke Arduino dan diteruskan ke LCD dan motor. Sehingga motor akan berputar ke kanan dan pada kolom pertama LCD akan muncul karakter "berputar kekanan". Namun, jika salah satu atau kedua dipswitch tidak aktif, LCD tidak menampilkan karakter "tidak ada aksi" dan motor tidak hidup.


4. Flowchart dan Listing Program [Kembali]

Flowchart :





Listing Program :

#include <LiquidCrystal.h>

LiquidCrystal lcd(13, 12, 11, 10, 9, 8);
int sw1 = 2;
int sws[] = {3, 4, 7};
int numsw = 3;
int front = 6; //Pin untuk mengontrol arah motor ke depan
int back = 5; //Pin untuk mengontrol arah motor ke belakang.

void setup() {
  lcd.begin(16, 2); // Inisialisasi LCD dengan ukuran 16x2
  pinMode(sw1, INPUT); // Mengatur sw1 sebagai input
  for (int thesw = 0; thesw < numsw; thesw++) {
    pinMode(sws[thesw], INPUT); // Mengatur sakelar lainnya sebagai input
  }
  pinMode(front, OUTPUT); // Mengatur front sebagai output untuk arah maju
  pinMode(back, OUTPUT); // Mengatur back sebagai output untuk arah mundur
  Serial.begin(9600);
}

void loop() {
  int s1 = digitalRead(sw1); // Membaca nilai sakelar pertama
  int ldr = analogRead(A0); // Membaca nilai LDR
  if (s1 == HIGH) {
    int activesw = 0;

    for (int thesw = 0; thesw < numsw; thesw++) {
      if (digitalRead(sws[thesw]) == HIGH) {
        activesw++;
      }
    }

    Serial.print("Number of Switches: ");
    Serial.println(activesw);

    delay(200);

    if (ldr >500 && activesw == 2) { // Jika kondisi tertentu terpenuhi
      lcd.clear();
      lcd.setCursor(0, 0);
      lcd.print("Motor berputar ke");
      lcd.setCursor(0, 1);
      lcd.print("kanan");
      digitalWrite(front, HIGH); // Mengatur arah motor ke kanan
      digitalWrite(back, LOW);

    } else { // Kondisi lainnya
      lcd.clear();
      lcd.setCursor(0, 0);
      lcd.print("ADC: ");
      lcd.print(ldr); // Menampilkan nilai ADC pada LCD
      lcd.setCursor(0, 1);
      lcd.print("Tidak ada aksi");
      digitalWrite(front, LOW); // Menghentikan motor
      digitalWrite(back, LOW);
    }

    delay(10);
  } else {
    lcd.clear();
    lcd.setCursor(4, 0);
    lcd.print("ELECTRONIC");
    lcd.setCursor(0, 1);
    lcd.print("&INSTRUMENTATION");
    delay(100);
    digitalWrite(front, LOW); // Menghentikan motor
    digitalWrite(back, LOW);
  }
}

5. Kondisi [Kembali]

Percobaan 1 Kondisi 1

Ketika ADC > 500 dan 2 switch aktif, motor berputar ke kanan dan muncul karakter pada kolom 1 LCD



6. Video Simulasi [Kembali]



7. Download File [Kembali]

File Rangkaian klik disini
Video Percobaan klik disini
Listing Program klik disini
Datasheet Arduino klik disini
Datasheet LCD klik disini
Datasheet DIP Switch klik disini
Datasheet Sensor LDR klik disini
Datasheet Motor DC klik disini

Tidak ada komentar:

Posting Komentar

  BAHAN PRESENTASI MATA KULIAH ELEKTRONIKA Nama: Vigo Danovan Saputra NIM: 2110951023 kelas: Elektronika C Dosen Pengampu ; Darwison,M.T Ref...