LA M3 Percobaaan 1

 



Percobaan I
Komunikasi UART Menggunakan Arduino

1. Foto Hardware dan Diagram Blok [Kembali]

Hardware   

1. Arduino Uno



        2. Push Button




      3. LED

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

Sistem ini mengimplementasikan dua perangkat Arduino, dimana satu bertindak sebagai master dan yang lainnya sebagai slave. Perangkat master mengirimkan data serial yang mencerminkan status switch, dengan angka 1 mewakili switch aktif dan angka 0 mewakili switch nonaktif. Data ini diterima oleh perangkat slave melalui pin RX, diubah menjadi nilai digital, dan digunakan untuk mengontrol penyalanan LED. Keunikan sistem terletak pada fungsionalitas dimana setiap nilai 1 yang diterima oleh slave akan mengakibatkan LED tertentu menyala, dengan setiap LED berikutnya membutuhkan pengaktifan dari switch sebelumnya. Hal ini memberikan kontrol jarak jauh bagi pengguna master terhadap penyalanan LED pada perangkat slave, menambah fleksibilitas dan efisiensi dalam penggunaan sistem ini.

4. Flowchart dan Listing Program [Kembali]

Flowchart
 
Master

http://www.plantuml.com/plantuml/png/TTC_JyCm40NmtP_YjgPZ_rUjAXKs1183I8p8XMjxr76Ys0VYs-DM4Mx2O_BPyVkzBDw6Q9kefJENmQpkl0InJe8DGa_Sf7bjLZTH6wh5a_XQuskjpcbDwgEUA5RbhagNlexYc8hOA0yDqUhMlbbAQjJmUuT8zbJibhJPqCFZov3YaJqLtnpEaHIwbqPA6Ym7T68ApdxoESGkS5hQz0Adh_EBRlvAQ8qvDhhAlAza9qipBFMjMTS2MkjDiVTNd08ncprrWbNaJe0Bv6oFiOtrCTAndnj6kE6_ZX7ko2rK-0e2p-eF1mKX_ovxWyx02TpdNPxpbDVs5oZm1tjxMflquVAoJ8XLRRPfcrxh3m00
 Slave
 http://www.plantuml.com/plantuml/png/XTHDJiCm40NWlKynkxRB_bUDAWg21H8W9BZ0YBYjSUf6yLYejyU92qXFTTYDHtxVyoRPUk56mh5ItQ3MZyvumvNnx0szwIREXLhVIcYeDevEGUeW59m4IqyFzuNwEfXAqr2Qe4UAQFqQCzOpSSsM3yGbKyd2v3kBpkps9BhnkZHyKyI4sT7mp6qsfk_uWwdMdjqbqDv8Tz9siw71U30YEMZtbul9bpDNRDcrhw9nYkdAwsv0OGB2DMFI6g2WCxtge3IzI6YXDijewCrQBoEYES-QgCwJcdLHNlJ8Q2-ItQkZl-priM693TYHQLbXopyzA-pvQQAXc99jndWFRhyFLxEkD3lLjyKTRl0C9vZJ16-6DwOxlolo-bCxjaMxUcOnjliyZu7JBo1Ux_u2oikfLjju3CVg6m00

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_PULLUP);
  pinMode(DS6, INPUT_PULLUP);
  pinMode(DS7, INPUT_PULLUP);
  pinMode(DS8, INPUT_PULLUP);
}

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

  // Hidupkan LED sesuai dengan tombol yang ditekan
  if (b8 == LOW) {
    Serial.write('8');
  } else if (b7 == LOW) {
    Serial.write('7');
  } else if (b6 == LOW) {
    Serial.write('6');
  } else if (b5 == LOW) {
    Serial.write('5');
  } else if (b4 == LOW) {
    Serial.write('4');
  } else if (b3 == LOW) {
    Serial.write('3');
  } else if (b2 == LOW) {
    Serial.write('2');
  } else if (b1 == LOW) {
    Serial.write('1');
  }
  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();
    switch (message) {
      case '1':
        digitalWrite(led[0], HIGH);
        break;
      case '2':
        digitalWrite(led[1], HIGH);
        break;
      case '3':
        digitalWrite(led[2], HIGH);
        break;
      case '4':
        digitalWrite(led[3], HIGH);
        break;
      case '5':
        digitalWrite(led[4], HIGH);
        break;
      case '6':
        digitalWrite(led[5], HIGH);
        break;
      case '7':
        digitalWrite(led[6], HIGH);
        break;
      case '8':
        digitalWrite(led[7], HIGH);
        break;
    }
  }
 
  delay(20);

  for (int i = 0; i < 8; i++) {
    digitalWrite(led[i], 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 Push Button
    
Download Datasheet Arduino Uno
   
Download Datasheet LED
   

 











Tidak ada komentar:

Posting Komentar

Entri yang Diunggulkan

MODUL 3 KOMUNIKASI

DAFTAR ISI      1. Pendahuluan      2. Tujuan      3. Alat dan Bahan      4. Dasar Teori      5. Percobaan Percobaan ... T...