Minggu, 28 April 2024

TUGAS PENDAHULUAN 1 MODUL 3




Tugas Pendahuluan 1 Modul 3
(Percobaan 1 Kondisi 5)

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.
5. Selesai.

2. Hardware dan Diagram Blok [Kembali]

Hardware :

1. Arduino Uno




Spesifikasi:



2. Power Supply


3. LED














4. Dip Switch





Spesifikasi:




5. Resistor






Diagram Blok  :








3. Rangkaian Simulasi dan Prinsip Kerja [Kembali]

Rangkaian Simulasi Sebelum dirunning:









Rangkaian Simulasi Setelah dirunning:



















Prinsip Kerja : 

Pada percobaan ini kita menggunakan inputan berupa dip switch pull up dan dip switch pull down. Sedangkan untuk outputnya menggunakan LED. Kita menggunakan 2 buah arduino, arduino pertama berfungsi debagai master, sedangkan arduino kedua berfungsi sebagai slave.

MASTER:
Arduino master memiliki tanggung jawab untuk mengawasi masukan dari dipswitch dan mengirimkan pesan ke Arduino slave sesuai dengan kondisi yang terdeteksi. Delapan tombol switch terhubung ke pin input Arduino master, dengan empat tombol dalam kondisi pull-down dan empat lainnya dalam kondisi pull-up. Hal ini memungkinkan setiap tombol switch untuk menentukan apakah pin inputnya berlogika 1 atau 0. Arduino master secara terus-menerus memeriksa kondisi 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. Sedangkan 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:
Pada sisi Arduino slave, fungsinya 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 memonitor 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 berurutan. Sebaliknya, ketika pesan 'b' diterima, Arduino slave akan mengaktifkan blinking LED dengan membuat LED berkedip secara bergantian antara nyala dan mati. Melalui mekanisme ini, Arduino master dan slave dapat berinteraksi dan mengontrol LED sesuai dengan input dari tombol yang ditekan pada Arduino master, memberikan respons melalui LED.


4. Flowchart dan Listing Program [Kembali]

Flowchart :

Flowchart di modul:
MASTER


SLAVE







Flowchart sesuai kondisi:


MASTER



SLAVE





Listing 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 == HIGH && b6 == LOW && b5 == LOW &&
      b4 == LOW && b3 == HIGH && b2 == HIGH && b1 == HIGH) {
    // Mengaktifkan running LED
    Serial.write('r');
  } else if (b8 == HIGH && b7 == HIGH && b6 == HIGH && b5 == LOW &&
             b4 == LOW && b3 == LOW && b2 == LOW && b1 == LOW) {
    // Mengaktifkan blinking LED
    Serial.write('b');
  }
  delay(20);
}

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]

HTML Download
File Rangkaian Download
Video Percobaan Download
Listing Program Download
Datasheet Arduino Download
Datasheet LED Download
Datahseet resistor Download
Datasheet Dipswitch Download






















Tidak ada komentar:

Posting Komentar

Entri yang Diunggulkan

TUGAS BESAR PRAKTIKUM UP & UC (MODUL 4)

  [KEMBALI KE MENU SEBELUMNYA] DAFTAR ISI 1. Pendahuluan 2. Tujuan 3. Alat dan Bahan 4. Dasar Teori 5. Percobaan Percob...