Tugas Pendahuluan 1 (M2)


Percobaan 1 Kondisi 4

1. Prosedur [Kembali]

  • Rangkai semua komponen 
  • Buat program di aplikasi arduino IDE
  • Setelah selesai masukkan program ke arduino 
  • Jalankan program pada simulasi dan cobakan sesuai kondisi

  • Rangkaian


  • Prinsip Kerja
Pada percobaan 1 kondisi 4 diminta untuk Ketika ADC  antara 200 dan 600 dan 1 switch aktif, motor berputar ke kiri 8 detik lalu mati dan muncul karakter pada kolom 2 LCD.
Disini kita menggunakan motor dc untuk berputar selama 8 detik dengan memberikan perintah melalui arduino uno. Setelah itu arduino akan menampilkan karakter pada kolom 2 LCD. IC L293D yang kita gunakan merupakan salah satu IC untuk sebuah motor.

  • 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;
int back = 5;

void setup() {
  lcd.begin(16, 2);
  pinMode(sw1, INPUT);
  for (int thesw = 0; thesw < numsw; thesw++) {
    pinMode(sws[thesw], INPUT);
  }
  pinMode(front, OUTPUT);
  pinMode(back, OUTPUT);
  Serial.begin(9600);
}

void loop() {
  int s1 = digitalRead(sw1);
  int ldr = analogRead(A0);
  if (s1 == HIGH) {
    int activesw = 0;
    for (int thesw = 0; thesw < numsw; thesw++) {
      if (digitalRead(sws[thesw]) == HIGH) {
        activesw++;
      }
    }
    Serial.print("Number of Switch : ");
    Serial.println(activesw);
    delay(200);
    switch (activesw) {
      case 0 :
        lcd.clear();
        lcd.setCursor(0, 0);
        lcd.print(ldr);
        lcd.setCursor(0, 1);
        lcd.print("The LDR Value");
        delay(200);
        break;
      case 1 :
        lcd.clear();
        lcd.setCursor(2, 0);
        lcd.print("Running The");
        lcd.setCursor(2, 1);
        lcd.print("Motor");
        digitalWrite(front, HIGH);
        digitalWrite(back, LOW);
        delay(200);
        break;
      case 2 :
        lcd.clear();
        lcd.setCursor(0, 0);
        lcd.print("LDR Value : ");
        lcd.setCursor(13, 0);
        lcd.print(ldr);
        if (ldr >= 200 && ldr <= 600) {
          lcd.setCursor(0, 1);
          lcd.print(" ");
          lcd.setCursor(0, 1);
          lcd.print("turn Motor left");
          digitalWrite(front, LOW);
          digitalWrite(back, HIGH);
          delay(8000); // Putar motor ke kiri selama 8 detik
          digitalWrite(front, LOW);
          digitalWrite(back, LOW); // Matikan motor
          lcd.clear();
          lcd.setCursor(1, 1);
          lcd.print("K"); // Munculkan karakter "K" pada kolom 2 LCD
        } else {
          if (ldr < 550) {
            lcd.setCursor(0, 1);
            lcd.print(" ");
            lcd.setCursor(0, 1);
            lcd.print("turn Motor right");
            digitalWrite(front, HIGH);
            digitalWrite(back, LOW);
          } else {
            lcd.setCursor(0, 1);
            lcd.print(" ");
            lcd.setCursor(0, 1);
            lcd.print("turn Motor left");
            digitalWrite(front, LOW);
            digitalWrite(back, HIGH);
          }
        }
        break;
      case 3 :
        int pwm = map(ldr, 0, 1023, 0, 255);
        digitalWrite(back, LOW);
        analogWrite(front, pwm);
        lcd.clear();
        lcd.setCursor(0, 0);
        lcd.print("PWM = ");
        lcd.print(pwm);
        lcd.setCursor(0, 1);
        lcd.print(" Control ???");
        delay(200);
        break;
    }
    delay(10);
  } else {
    lcd.clear();
    lcd.setCursor(4, 0);
    lcd.print("ELECTRONIC");
    lcd.setCursor(0, 1);
    lcd.print("&INSTRUMENTATION");
    delay(100);
  }
}

4. Kondisi [Kembali]

Ketika ADC  antara 200 dan 600 dan 1 switch aktif, motor berputar ke kiri 8 detik lalu mati dan muncul karakter pada kolom 2 LCD

HTML klik disini  
Simulasi  klik disini
Gambar Simulasi  klik disini
Video Simulasi   klik disini
Listring Program  klik disini


Tidak ada komentar:

Posting Komentar

BAHAN PRESENTASI UNTUK PRAKTIKUM uP & uC 2023 Oleh : Farrel Luis Fadhlika NIM. 2110952049   Dosen Pengampu : Dr. Darwison, S. T., M. T. ...