Komunikasi Paralel antar ARDUINO Board (bagian_1)

Komunikasi paralel dalam hal ini dilakukan melalui digital port. Adapun untuk keperluan praktikum akan digunakan masing-masing port

Untuk sisi ARDUINO Pengirim maka skrip/kode programnya adalah sbb.

 

 

//Komunikasi dua jalur port paralel

//Pengirim pada port 2 dan 3

//Penerima pada port 4 dan 5

//oleh Budi Rahmani – 18 Nop 2013

//Embedded System – Sem. Gasal 2013/2014

//ARDUINO Pengirim

//file: coba_18Nov13_e.ino

 

#include <LiquidCrystal.h>

LiquidCrystal lcd(13,12,11,10,9,8);

int portKirim1 = 2;

int portKirim2 = 3;

 

char kirim_1_0[] =”Konfirmasi”;

char kirim_1_1[] =”Jalur”;

char kirim_2_0[] =”Kirim”;

char kirim_2_1[] =”Data_1″;

char kirim_3_0[] =”Kirim”;

char kirim_3_1[] =”Data_2″;

char kirim_4_0[] =”Kirim”;

char kirim_4_1[] =”Data_3″;

 

void setup()

{

  lcd.begin(16,2); //memulai menjalankan LCD

  lcd.clear(); //membersihkan tampilan LCD

  pinMode(portKirim1,OUTPUT);//penentuan mode portKirim1

  pinMode(portKirim2,OUTPUT);//penentuan mode portKirim2 

}

 

void kirimData_1()

{

  digitalWrite(portKirim1,LOW);

  digitalWrite(portKirim2,LOW);

  lcd.clear();

  tampilKirim_1();

}

 

void kirimData_2()

{

  digitalWrite(portKirim1,LOW);

  digitalWrite(portKirim2,HIGH);

  lcd.clear();

  tampilKirim_2();

}

 

void kirimData_3()

{

  digitalWrite(portKirim1,HIGH);

  digitalWrite(portKirim2,LOW);

  lcd.clear();

  tampilKirim_3();

}

 

void kirimData_4()

{

  digitalWrite(portKirim1,HIGH);

  digitalWrite(portKirim2,HIGH);

  lcd.clear();

  tampilKirim_4();

}

 

void tampilKirim_1()

{

  lcd.setCursor(0,0);

  lcd.print(kirim_1_0);

  lcd.setCursor(0,1);

  lcd.print(kirim_1_1); 

}

 

void tampilKirim_2()

{

  lcd.setCursor(0,0);

  lcd.print(kirim_2_0);

  lcd.setCursor(0,1);

  lcd.print(kirim_2_1); 

}

 

void tampilKirim_3()

{

  lcd.setCursor(0,0);

  lcd.print(kirim_3_0);

  lcd.setCursor(0,1);

  lcd.print(kirim_3_1); 

}

 

void tampilKirim_4()

{

  lcd.setCursor(0,0);

  lcd.print(kirim_4_0);

  lcd.setCursor(0,1);

  lcd.print(kirim_4_1); 

}

 

void loop()

{

  kirimData_1();

  delay(5000);

  kirimData_2();

  delay(5000); 

  kirimData_3();

  delay(5000); 

  kirimData_4();

  delay(5000);

 //terimaData();

}

 

 

 

 Untuk sisi ARDUINO Penerima maka skrip/kode programnya adalah sbb.

//===============================================

 //Komunikasi dua jalur port paralel

//Pengirim pada port 2 dan 3

//Penerima pada port 4 dan 5

//oleh Budi Rahmani – 18 Nop 2013

//Embedded System – Sem. Gasal 2013/2014

//ARDUINO Penerima

//file: coba_18Nov13_e.ino

 

 

#include <LiquidCrystal.h>

LiquidCrystal lcd(13,12,11,10,9,8);

int portTerima1 = 4;

int portTerima2 = 5;

int kondisiTerima1 = 0;//kondisi port sebelum menerima data

int kondisiTerima2 = 0;//kondisi port sebelum menerima data

 

char nama_kampus_0[] =”     STMIK      “;

char nama_kampus_1[] =”   BANJARBARU   “;

char terima_1_0[] =”Jalur Komunikasi”;

char terima_1_1[] =”Sudah terpasang “;

char terima_2_0[] =”Data mode satu  “;

char terima_2_1[] =”diterima        “;

char terima_3_0[] =”Data mode dua   “;

char terima_3_1[] =”diterima        “;

char terima_4_0[] =”Data mode tiga  “;

char terima_4_1[] =”diterima        “;

 

void setup()

{

  lcd.begin(16,2); //memulai menjalankan LCD

  lcd.clear(); //membersihkan tampilan LCD

  pinMode(portTerima1,INPUT);//penentuan mode portTerima1 

  pinMode(portTerima2,INPUT);//penentuan mode portTerima2

}

 

void terimaData()

{

  kondisiTerima1 = digitalRead(portTerima1);

  kondisiTerima2 = digitalRead(portTerima2);

  if ((kondisiTerima1 == LOW) && (kondisiTerima2 == LOW))

  {

    tampilTerima_1();

  }

  if ((kondisiTerima1 == LOW) && (kondisiTerima2 == HIGH))

  {

    tampilTerima_2();

  }

  if ((kondisiTerima1 == HIGH) && (kondisiTerima2 == LOW))

  {

    tampilTerima_3();

  }

  if ((kondisiTerima1 == HIGH) && (kondisiTerima2 == HIGH))

  {

    tampilTerima_4();

  }

  // else

  // {

  //  lcd.setCursor(0,0);

  //  lcd.print(nama_kampus_0);

  //  lcd.setCursor(0,1);

  //  lcd.print(nama_kampus_1);

  // }

}

 

void tampilTerima_1()

{

  lcd.setCursor(0,0);

  lcd.print(terima_1_0);

  lcd.setCursor(0,1);

  lcd.print(terima_1_1); 

}

 

void tampilTerima_2()

{

  lcd.setCursor(0,0);

  lcd.print(terima_2_0);

  lcd.setCursor(0,1);

  lcd.print(terima_2_1); 

}

 

void tampilTerima_3()

{

  lcd.setCursor(0,0);

  lcd.print(terima_3_0);

  lcd.setCursor(0,1);

  lcd.print(terima_3_1); 

}

 

void tampilTerima_4()

{

  lcd.setCursor(0,0);

  lcd.print(terima_4_0);

  lcd.setCursor(0,1);

  lcd.print(terima_4_1); 

}

 

void loop()

{

  terimaData();

}

 

Leave a comment