Senin, 29 April 2024



MODUL 3
PERCOBAAN 1 KONDISI 7

1. Prosedur
[Kembali]

+ Rangkai semua komponen sesuai kondisi yang dipilih
+ buat program di aplikasi arduino IDE
+ setelah selesai masukkan program ke arduino di proteus
+ jalankan program pada simulasi dan cobakan sesuai dengan modul dan kondisi
+ Selesai

2. Hardware dan diagram blok [Kembali]
    a. hardware


1. Modul Arduino Uno
Spesifikasi Arduino

2.  LED
Bagian-Bagian LED
3. DipSwitch
Spesifikasi:






  b. Digram Blok




3. Rangkaian Simulasi dan Prinsip kerja [Kembali]
                                        
Rangkaian Sebelum Simulasi






Rangkaian Setelah Simulasi

 Running LED



 Blingking LED




PRINSIP KERJA
   Dalam percobaan ini, dua mikrokontroler Arduino berkomunikasi menggunakan protokol UART. Ada dua perangkat yang terlibat: satu berperan sebagai master dan yang lain sebagai slave. Mereka berkomunikasi dengan mengirim dan menerima data serial. Prosesnya dimulai dengan master yang mengatur komunikasi serial UART pada kecepatan 9600 bps. Master kemudian membaca status dari tombol yang telah ditentukan dan mengirimkan karakter tertentu melalui jalur transmisi serial (TX) ke slave berdasarkan status tombol tersebut.

Slave, setelah diatur, akan terus memonitor jalur penerimaan serial (RX). Ketika mendeteksi data masuk, slave akan membaca karakter dan, tergantung pada karakter yang diterima, akan melakukan tindakan tertentu, seperti mengendalikan LED pada Arduino. Input diatur dengan metode pull up (aktif ketika tinggi) dan pull down (aktif ketika rendah).

Ada dua kondisi yang dapat mengaktifkan LED:

  • Kondisi 1 (r): Jika ada tiga switch pull down dan empat switch pull up yang aktif, maka LED akan beroperasi dalam mode running, di mana LED akan menyala dan mati secara bergantian dan berurutan.
  • Kondisi 2 (b): Jika ada tiga switch pull down dan tidak ada switch pull up yang aktif, maka LED akan beroperasi dalam mode blinking, di mana semua LED akan menyala dan mati secara serentak.

Program akan terus memeriksa kondisi yang terpenuhi melalui fungsi loop. Jika kondisi ‘r’ tidak terpenuhi, maka akan diperiksa kondisi ‘b’. Jika kedua kondisi tidak terpenuhi, maka tidak ada LED yang akan menyala.

Prinsip kerja ini memungkinkan master mengirim instruksi ke slave, yang akan merespons sesuai dengan program yang telah ditentukan. Penting untuk memastikan bahwa pengaturan baud rate dan pengaturan lainnya konsisten agar komunikasi serial UART dapat berjalan dengan lancar. 


4. FlowChart [Kembali]

a. 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

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

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



b. Flowchart

 Master





Slave




5. Kondisi [Kembali]

Percobaan 1 Kondisi 7

4 Switch dalam pull down dan 4 Switch dalam pull up. 3 Switch pull down dan 4 Switch pull up mengaktifkan running LED. 3 Switch pull down dan 0 switch pull-up mengaktifkan blingking LED

6. Video Simulasi [Kembali]





7. Download File [Kembali]

Download HMTL Klik disini
Download Simulasi Rangkaian Klik disini
Download Video Simulasi klik disini
Download Program Master klik  disini
Download  Program Slave klik disini
Download Datasheet ARDUINO UNO klik disini
Download Datasheet DipSW-8  klik disini
Download Datasheet LED klik disini






















Tidak ada komentar:

Posting Komentar

Mikro 2024 Modul  4 [KEMBALI KE MENU SEBELUMNYA] DAFTAR ISI     1. Pendahuluan     2. Tujuan     3. Alat dan Bahan     4. Dasar...