Jumat, 05 April 2024

TP M3P1K2

 



Percobaan I
Komunikasi UART Menggunakan Arduino

1. Foto Hardware dan Diagram Blok [Kembali]

Hardware   

1. Arduino Uno


        2. LED




      3. DIP Switch



        4. Resistor

       5. Power Supply


     6. Ground


Diagram Blok:



2. Prosedur Percobaan  [Kembali]

Rangkai semua komponen 
+ buat program di aplikasi arduino IDE
+ setelah selesai masukkan program ke arduino 
+ jalankan program pada simulasi dan cobakan dengan modul

3. Rangkaian Simulasi dan Prinsip Kerja  [Kembali]

Rangkaian Simulasi
 

Prinsip Kerja

Rangkaian ini melibatkan dua Arduino, yaitu master dan slave, yang saling berkomunikasi melalui UART. Master mengirimkan data berupa representasi digital dari switch yang aktif, sedangkan slave menerima data tersebut dan mengendalikan LED berdasarkan instruksi yang diterima. Pada master, data dikirim melalui pin TX ke pin RX pada slave melalui komunikasi serial. Slave mengubah data yang diterima menjadi nilai digital untuk mengatur penyalakan LED. Jika pesan yang diterima Slave adalah "1" yang mana artinya switch 1, 2, 3, dan 4 (dibaca dari bawah dipswitch) dihidupkan, maka LED 1 dan 2 akan menyala, sedangkan jika pesan yang diterima Slave adalah "2" yang mana artinya switch 1, 2, 3, 4, 5, 6, dan 7 dihidupkan, maka LED 5 akan menyala. Dengan demikian, rangkaian ini memungkinkan pengendalian LED pada slave dari jarak jauh, di mana master mengirimkan instruksi digital melalui UART dan slave menjalankan instruksi tersebut sesuai dengan pola yang telah ditentukan.

4. Flowchart dan Listing Program [Kembali]

Flowchart
 
Master

http://www.plantuml.com/plantuml/png/dP3DYeCm58NtUOgxqcGpZCxFm8WWZCk1Gbrq7VHQBqsZn2lIjs_KkiYgq5No7GvV3Yb6rewdgn7hHL0BigmIo7FuFvmWYg2iqe0-0leCw2kWxu1-7gI0ExGWsKse1C1lXOwqUPiTCSeuYLKcq8puqfBd_dJtWsorFvH0sr0h70weUUaVKJVGq9bO6o0xJ3ncI_xNONs1klTrfjvkOI1NQrIYqJUPldlQf31tP71VLFZt_7_V0G00 
 Slave
 http://www.plantuml.com/plantuml/png/XS-zJiKm30NWFKznjfiiY5PYeQfKYR8n0IzWg4CZt83o0-hRqxHXwN8t9pgVvJF4H27bHTG-A6UXNpWuaXlw8IVq9goDGPhPGwUGsIZW_fbfmi8nqWTt2YYiFj7tk3INCzdGQmuUNnvFZoFkYcA9V9RjDTc0_BHFxRx3JywMaqOMMdLxQyfl5TQ2H4euTkf81lvcIYNoCFFx9uwog6MTkBHsDOJVsGd_7p9iFY_o1m00

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 tombol yang ditekan
  if (b1 == LOW && b2 == LOW && b3 == LOW && b4 == LOW && b5 == LOW && b6 == LOW && b7 == LOW) {
    Serial.write('1');
  } else if (b1 == LOW && b2 == LOW && b3 == LOW && b4 == LOW) {
    Serial.write('2');
  }
  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 == '1') {
      digitalWrite(led[4], HIGH);
    } else if (message == '2') {
      digitalWrite(led[0], HIGH);
      digitalWrite(led[1], HIGH);
    }
    delay(20);
    digitalWrite(led[0], LOW);
    digitalWrite(led[1], LOW);
    digitalWrite(led[2], LOW);
    digitalWrite(led[3], LOW);
    digitalWrite(led[4], LOW);
    digitalWrite(led[5], LOW);
    digitalWrite(led[6], LOW);
    digitalWrite(led[7], LOW);
  }
}

5. Kondisi [Kembali]

"Semua Switch dalam kondisi Pull-down, 7 switch mengaktifkan 1 led sementara 4 switch mengaktifkan 2 led"


    Download HTML
    Download Rangkaian
   
Download Program
   
Download Video Simulasi
    Download Datasheet SW-SPDT
    Download Datasheet Resistor
    
Download Datasheet Arduino Uno
   
Download Datasheet LED
   

 











Tidak ada komentar:

Posting Komentar

Tugas Besar Machine Learning: Penerapan Penerapan Jaringan Syaraf Tiruan Backpropagation untuk Smart Control Early Warning System (EWS)

Referensi : Rahardi, G. A. (2023). Penerapan Jaringan Syaraf Tiruan Backpropagation untuk Smart Control Early Warning System (EWS).  CYCLOTR...