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();
}