Senin, 06 Mei 2024

Tugas Pendahuluan 1 M3




 Modul 3
(Percobaan 1 Kondisi 5)

1. Prosedur
[Kembali]

1. Siapkan semua komponen yang akan di rangkai pada proteus
2. Rangkai rangkaian di proteus sesuai dengan kondisi percobaan.
3. Buat program di arduino di software Arduino IDE.
4. Compile program tersebut dan upload ke dalam arduino pada proteus
5. Setelah program selesai di upload, jalankan simulasi rangkaian pada proteus.
6. Finish

2. Hardware dan Diagram Blok [Kembali]

Hardware :

1.  Arduino Uno



2. LED




3. Power Supply



4. Dip Switch




5. Resistor





Diagram Blok  :



3. Rangkaian Simulasi dan Prinsip Kerja [Kembali]

Rangkaian Simulasi Sebelum dirunning:



Rangkaian Simulasi Setelah dirunning:



Prinsip Kerja : 

Dalam eksperimen ini, kami memanfaatkan dua jenis input dari dip switch, yaitu dip switch pull up dan dip switch pull down, sedangkan untuk outputnya menggunakan LED. Pengaturan ini melibatkan dua perangkat Arduino, di mana Arduino pertama bertindak sebagai master dan Arduino kedua sebagai slave.

MASTER: Peran Arduino master adalah memantau status input dari dipswitch dan mengirimkan instruksi kepada Arduino slave sesuai dengan kondisi yang terdeteksi. Ada delapan tombol switch yang terhubung ke pin input Arduino master, dengan empat tombol dalam mode pull-down dan empat lainnya dalam mode pull-up. Ini memungkinkan setiap tombol untuk menentukan status logika pin inputnya, apakah 1 atau 0. Arduino master secara terus-menerus memeriksa status tombol menggunakan fungsi digitalRead() pada setiap pin input. Jika kondisi tombol memenuhi syarat untuk mengaktifkan running LED (dua tombol pull-down dan satu tombol pull-up), Arduino master akan mengirimkan pesan 'r' melalui komunikasi serial. Sementara jika kondisi tombol memenuhi syarat untuk mengaktifkan blinking LED (tiga tombol pull-down dan empat tombol pull-up), Arduino master akan mengirimkan pesan 'b' melalui komunikasi serial.

SLAVE: Di sisi Arduino slave, tugasnya adalah menerima pesan yang dikirim oleh Arduino master dan mengatur LED sesuai dengan pesan yang diterima. Terdapat delapan LED yang terhubung ke pin output Arduino slave yang akan dikendalikan berdasarkan pesan yang diterima. Arduino slave akan terus memantau komunikasi serial untuk menerima pesan baru dari Arduino master. Ketika pesan 'r' diterima, Arduino slave akan mengaktifkan running LED dengan mengatur LED untuk menyala dan mematikan secara bergantian. Sebaliknya, ketika pesan 'b' diterima, Arduino slave akan mengaktifkan blinking LED dengan membuat LED berkedip secara bergantian antara nyala dan mati. Dengan cara ini, Arduino master dan slave dapat berinteraksi dan mengendalikan LED berdasarkan input dari tombol yang ditekan pada Arduino master, memberikan respons melalui LED.


4. Flowchart dan Listing Program [Kembali]

Flowchart :





Listing Program :

Program Master :

#define DS1 2
#define DS2 3
#define DS3 4
#define DS4 5
#define DS5 6
#define DS6 7
#define DS7 8
#define DS8 9

bool b1, b2, b3, b4, b5, b6, b7, b8;

void setup() {
  Serial.begin(9600);
  pinMode(DS1, INPUT_PULLUP);
  pinMode(DS2, INPUT_PULLUP);
  pinMode(DS3, INPUT_PULLUP);
  pinMode(DS4, INPUT_PULLUP);
  pinMode(DS5, INPUT);
  pinMode(DS6, INPUT);
  pinMode(DS7, INPUT);
  pinMode(DS8, INPUT);
}

void loop() {
  int b8 = digitalRead(DS8);
  int b7 = digitalRead(DS7);
  int b6 = digitalRead(DS6);
  int b5 = digitalRead(DS5);
  int b4 = digitalRead(DS4);
  int b3 = digitalRead(DS3);
  int b2 = digitalRead(DS2);
  int b1 = digitalRead(DS1);

  // Hidupkan LED sesuai dengan kondisi tombol yang ditekan
  if (b8 == HIGH && b7 == LOW && b6 == LOW && b5 == LOW &&
      b4 == LOW && b3 ==LOW && b2 == HIGH && b1 == HIGH) {
    // Mengaktifkan running LED
    Serial.write('r');
  } else if (b8 == HIGH && b7 == HIGH && b6 == HIGH && b5 == HIGH &&
             b4 == LOW && b3 == LOW && b2 == LOW && b1 == HIGH) {
    // Mengaktifkan blinking LED
    Serial.write('b');
  }
  delay(20);
}

Program Slave :

int led[] = {2, 3, 4, 5, 6, 7, 8, 9};
char message;

void setup() {
  Serial.begin(9600);
  for (int i = 0; i < 8; i++) {
    pinMode(led[i], OUTPUT);
  }
}

void loop() {
  if (Serial.available()) {
    message = Serial.read();

    if (message == 'r') {
      // Mengaktifkan running LED
      for (int i = 0; i < 8; i++) {
        digitalWrite(led[i], HIGH);
        delay(100);
        digitalWrite(led[i], LOW);
      }
    } else if (message == 'b') {
      // Mengaktifkan blinking LED
      for (int i = 0; i < 8; i++) {
        digitalWrite(led[i], HIGH);
      }
      delay(500);
      for (int i = 0; i < 8; i++) {
        digitalWrite(led[i], LOW);
      }
      delay(500);
    }
  }
}


5. Kondisi [Kembali]

Percobaan 1 Kondisi 5
4 switch dalam pull-down & 4 switch dalam pull-up, 2 switch pull-down dan 1 switch pull up mengaktifkan running led,3 switch pull down dan 4 switch pull up mengaktifkan blinking led

6. Video Simulasi [Kembali]




7. Download File [Kembali]

Download Rangkaian Simulasi Klik Disini

Download HTML Klik Disini

Download Video Percobaan Klik Disini

Download Kodingan Program Klik Disini

Download Datasheet Arduino Klik Disini

Download Datasheet  Dip Switch Klik Disini

Download Datasheet  LED Klik Disini









Tidak ada komentar:

Posting Komentar

Jawaban UTS No.3 Up

     [KEMBALI KE MENU SEBELUMNYA] DAFTAR ISI 1. Tujuan 2. Alat dan Bahan 3. Dasar Teori 4. Percobaan 5. File Download   Jawaban No.3 1. Tu...