Laporan Akhir 2 Modul 3




PERCOBAAN 1
KOMUNIKASI UART MENGGUNAKAN ARDUINO

1. Prosedur
[Kembali]

 1. Rangkai komponen sesuai percobaan dan kondisi yang dipilih.

2. Buat program menggunakan Arduino IDE.

3. Compile program yang telah dibuat lalu Upload ke dalam Arduino Uno.

4. Uji coba program pada rangkaian percobaan sesuai dengan kondisi yang diinginkan.

5. Selesai

2. Hardware dan Diagram Blok [Kembali]

Hardware:


Blok Diagram :



3. Rangkaian Simulasi dan Prinsip Kerja [Kembali]

Rangkaian Simulasi:
                                             

Prinsip Kerja:

Pada percobaan ini digunakan dua buah arduino yang mana dihubungkan melalui komunikasi dengan jenis UART, kedua arduino mempunyai peran masing- masing. Arduino master berfungsi menerima input dari button dan menerjemahkannya menjadi pesan- pesan tertentu. arduino slave berfungsi menerima pesan dari arduino master dan mengontrol LED sesuai dengan pesan yang diterima tersebut. Pada komunikasi UART, kedua arduino dihubungkan melalui pin Tx dan Rx dari masing- masing arduino, pin Tx pada arduino master dihubungkan dengan pin Rx pada arduino slave, sedangkan pin Rx pada arduino master dihubungkan dengan pin Tx pada arduino slave sehingga pada hubungan UART terbentuk komunikasi dua arah. Contohnya, ketika button pertama ditekan, maka arduino master akan menerjemahkannya sebagai pesan atau data "1" kemudian dikirimkan kepada arduino slave, ketika arduino slave menerima pesan tersebut, maka arduino slave akan  mengaktifkan LED pada pin 2 (led pertama) begitu juga dengan kondisi lainnya yang dihubungkan antara input, arduino master, arduino slave, dan LED. 


4. Flowchart dan Listing Program [Kembali]

Flowchart :



Listing Program :

Master
// 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()
{
  bool b8 = digitalRead(DS8);
  bool b7 = digitalRead(DS7);
  bool b6 = digitalRead(DS6);
  bool b5 = digitalRead(DS5);
  bool b4 = digitalRead(DS4);
  bool b3 = digitalRead(DS3);
  bool b2 = digitalRead(DS2);
  bool 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
// 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[0], 1);
    }
    else if (message == '2')
    {
      digitalWrite(led[1], 1);
    }
    else if (message == '3')
    {
      digitalWrite(led[2], 1);
    }
    else if (message == '4')
    {
      digitalWrite(led[3], 1);
    }
    else if (message == '5')
    {
      digitalWrite(led[4], 1);
    }
    else if (message == '6')
    {
      digitalWrite(led[5], 1);
    }
    else if (message == '7')
    {
      digitalWrite(led[6], 1);
    }
    else if (message == '8')
    {
      digitalWrite(led[7], 1);
    }
    delay(20); // moved delay inside the if block
    digitalWrite(led[0], 0);
    digitalWrite(led[1], 0);
    digitalWrite(led[2], 0);
    digitalWrite(led[3], 0);
    digitalWrite(led[4], 0);
    digitalWrite(led[5], 0);
    digitalWrite(led[6], 0);
    digitalWrite(led[7], 0);
  }
}

5. Kondisi [Kembali]

Percobaan 1 pada Modul 3

6. Video Demo [Kembali]]



7. Download File [Kembali]

Download HTML                   klik disini
Download Video Percobaan    klik disini
Download Listing Program     klik disini
Download datasheet arudino   klik disini
Download Datasheet Button   klik disini
Download Datasheet LED      klik disini


Tidak ada komentar:

Posting Komentar

MODUL 4 PRATIKUM uP dan uC

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