Laporan Akhir 1 Modul 3


[KEMBALI KE MENU SEBELUMNYA]



Percobaan 1

Komunikasi UART Menggunakan Arduino

1. Foto Hardware dan Diagram Blok [Kembali]



Diagram Blok:





2. PROSEDUR PERCOBAAN [Kembali]
  • Rangkailah seperti rangkaian berikut
  • Buka Arduino IDE dan masukan listing Program
  • Upload program ke arduino
  • Mencoba rangkaiannya dengan memvariasikan kondisi interupt (Falling, Rising, High dan Low)


3. RANGKAIAN SIMULASI DAN PRINSIP KERJA[Kembali]






Prinsip Kerja :

    Dalam percobaan 1, komunikasi UART digunakan untuk menghubungkan dua Arduino, dimana satu arduino bertindak sebagai master dan yang lainnya sebagai slave. Peran utama master adalah mengirim data, sementara slave bertugas menerima dan mengeksekusinya. Komunikasi serial UART ini bersifat asinkron, artinya tidak ada clock tunggal yang mensinkronkan pengirim dan penerima. Pada Arduino master, terdapat dip switch yang jika ditekan, akan mengirim data ke Arduino slave melalui pin RX dan TX. Arduino slave kemudian membaca data yang diterima dan akan mengaktifkan output yaitu LED.



4. FLOWCHART DAN LISTING PROGRAM [Kembali]

Flowchart:
Arduino Master

Arduino 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_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 (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();
 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);
 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]

Ketika salah satu dipswitch di on kan, maka akan ada satu led yang aktif di sisi slave. 

6. VIDEO RANGKAIAN [Kembali]




7. ANALISA [Kembali]




8. LINK DOWNLOAD [Kembali]

HTML                    klik disini

Rangkaian            klik disini

Listing Program     klik disini



Komentar

Postingan populer dari blog ini

Kontrol Tanaman Bayam

Tugas Besar - Kontrol Hidroponik Tanaman Mint

Modul 1 Praktikum Sistem Digital