Anda di halaman 1dari 4

// Sketch P2.

1 : Pantau PBS dari sermon



void setup()
{
Serial.begin(9600); //9600 baudrate
digitalWrite(2,HIGH); //Mengenable r pull-up
}
void loop()
{
int pbs = digitalRead(2); //Membaca data digital pada pin 2
if (pbs == LOW) //Jika push button dalam kondisi LOW maka tampilan Sermon closed
{
Serial.println("PBS = closed");
}
else
Serial.println("PBS = open"); //Jika push button kembali ke keadaan awal HIGH maka tampil open
delay(500);
}


// Sketch P2.2 : Pantau potensio dari sermon

void setup()
{
Serial.begin(9600); //9600 baudrate
}
void loop()
{
int pot = analogRead(A0); //Membaca input analog dari pin A0
float potV = pot * 5.0 / 1023; //Formula menentukan variabel potV
float potP = (potV / 5.0) * 100; //Formula menentukan variabel potP
Serial.print("Nilai pot (desimal) = "); //Menampilkan pada serial
Serial.println(pot); //Menampilkan value pot yang terbaca
Serial.print("Nilai pot (volt) = ");
Serial.println(potV); //Menampilkan value dari potV
Serial.print("Nilai pot (%) = ");
Serial.println(potP); //Menampilkan value dari potP "Presentasi value"
delay(500);
Serial.println();
}


// Sketch P2.3 : Pantau PBS dan pot.dr.sermon

String pbsPos = " ";
void setup()
{
Serial.begin(9600); //9600 baudrate
digitalWrite(2,HIGH); //Pin 2 diberi kondisi HIGH
}
void loop()
{
int pbs = digitalRead(2); //Value "pbs" didapat dari membaca pin 2
if (pbs == LOW) //Jika pbs dibandingkan LOW, maka "pbsPos = closed"
{
pbsPos = "closed";
}
else
pbsPos = "open";//Jika selain LOW maka statement open
int pot = analogRead(A0); //Membaca analog dari pin A0
float potV = (pot * 5.0) / 1023; //Konversi nilai pot ke potV
float potP = (potV / 5.0) * 100; //Konversi nilai pot ke potP
Serial.print ("H"); // kode Header
Serial.print(",");
Serial.print(pbsPos); //Menampilkan pbsPos
Serial.print(",");
Serial.print(potP); //Menampilkan pbsP
Serial.println(",");
Serial.println();
delay(500);
}


// Sketch P2.4 : Kendali LED dari sermon

void setup()
{
Serial.begin(9600); // Serial transfer rate 9600 baud
pinMode(13,OUTPUT); // mode pada pin 13 sebagai OUTPUT
}
void loop()
{
if (Serial.available() > 0)
{
//baca data serial sebagai integer
int dataLed = Serial.read(); // Membaca masukan dari Serial Monitor
if (dataLed == 49) // Jika input dari Sermon adalah 49 = "1" dalam ASCII
{
digitalWrite(13,HIGH); // maka pin 13 menyala
}
else if (dataLed == 48) // Jika input dari Sermon adalah 48 = ASCII "0"
{
digitalWrite(13,LOW); // maka pin 13 mati
}
else (Serial.flush()); // Selain dari itu maka flush atau tidak terjadi apa-apa
}
}





// Sketch P2.5 : Kendali RGB LED dr. sermon

void setup()
{
//Identifikasi PIN Mode dan Serial datarate 9600 baud
pinMode(2,OUTPUT);
pinMode(3,OUTPUT);
pinMode(4,OUTPUT);
Serial.begin(9600);
}

void loop ()
{
if (Serial.available() > 0)
{
//baca data serial sebagai karakter sesuai dengan case
char dataSer = Serial.read();
// switchable input karakter dengan masukan "2","3",dan"4"
switch (dataSer)
{
case '2':
blinkPin(2); //Proses yang akan terjadi pada saat "2" diinput pada sermon
break;
case '3':
blinkPin(3); //Proses yang akan terjadi pada saat "3" diinput pada sermon
break;
case '4':
blinkPin(4); //Proses yang akan terjadi pada saat "4 diinput pada sermon
break;
}
}
}

// Proses blinkPin bekerja bila salah satu case diinput melalui sermon
void blinkPin(int pin)
{
digitalWrite(pin, HIGH); //Led akan menyala selama 250ms
delay(250);
digitalWrite(pin, LOW); //Led akan mati selama 250ms
delay(250);
}



// Sketch P2.6 : Kendali RGB LED dari sermon

//Mengirimkan multiple variable untuk mengkontorl rgb led misal.255,0,0
//Menentukan PIN untuk RGB LED
const int RED =11;
const int GREEN =10;
const int BLUE =9;
//Level variabel awal untuk RGB LED
int rval = 0;
int gval = 0;
int bval = 0;
void setup()
{
Serial.begin(9600); // 9600 baud transfer data rate
//Menentukan Pin sebagai OUTPUT
pinMode(RED, OUTPUT);
pinMode(GREEN, OUTPUT);
pinMode(BLUE, OUTPUT);
}
void loop()
{
//Menanti input dari Serial Monitor
while (Serial.available() > 0)
{
rval = Serial.parseInt();//Variabel validasi pertama "0-255"
gval = Serial.parseInt();//Variabel validasi kedua "0-255"
bval = Serial.parseInt();//Variabel validasi ketiga "0-255"
//Menampilkan RGB value yang telah diinput
Serial.println(rval);
Serial.println(gval);
Serial.println(bval);
Serial.println();
//Menset LED output sesuai dengan value input dari Serial Monitor
analogWrite(RED, rval);
analogWrite(GREEN, gval);
analogWrite(BLUE, bval);
}
}