Oleh :
Nanak Cito Tetuko
10511810000087
Dosen Pengampu :
Brian Raafiu S.ST, M.T.
1.2.2 LED
Light Emitting Diode (LED) adalah komponen elektronika yang dapat memancarkan
cahaya. Sesuai dengan namanya, LED adalah salah satu jenis diode. Sebagaimana yang
diketahui , diode adalah komponen yang hanya dapat mengalirkan arus listrik satu arah. Arus
listrik hanya mengalir kalua tegangan positif dihubungkan ke kaki yang disebut anode dan
tegangan negatif dihubungkan ke kaki yang dinamakan katode.
Gambar 2. LED
Pada pengaplikasian LED yang terkontrol lewat IC mikrokontroler, yang diperlukan hanya
menghubungkan salah satu PIN dari mikrokontroler ke kaki anode LED, dan kaki Katode ke
GND rangkaian. Dengan memberikan sinyal high (nilai 1 atau bertegangan) ke kaki anode
maka LED akan menyala, sebaliknya jika memberikan sinyal low (nilai 0) maka LED akan
dalam keadaan tidak menyala atau mati.
Gambar 7. Motor DC
1.2.3 Rangkaian SPI pada Joystick PS2
Interface untuk arduino tidak lagi menggunakan rangkaian tambahan sperti yang
digunakan pada mikrokontroler jenis AVR.
3.2.1 Rangkaian
4.1.2 Program
#include <SoftwareSerial.h>
Digunakan untuk Inclue library software serial
SoftwareSerial LED(2, 3);
Digunakan untuk RX, TX untuk menerima data dari Module Bluetooth
void setup()
{
pinMode(13, OUTPUT);
Digunakan untuk mengatur pin 13 sebagai pin output
Serial.begin(9600);
Digunakan untuk mengatur boudrate komunikasi serial
LED.begin(9600);
Digunakan untuk mengatur boaudrate serial modul bluetooth
}
void loop()
{
if (LED.available())
Digunakan untuk fungsi jika ada data serial dari modul bluetooth
{
char data = LED.read();
Digunakan untuk perintah simpan data itu di variable 'data'
Serial.println(data);
Digunakan untuk perintah Print variable data ke serial monitor
if (data == 'A')
Jika mendapatkan karakter 'A'
{
digitalWrite(13, HIGH);
maka pin 13 high (LED menyala)
}
else if (data == '1')
Namun jika mendapatkan karakter 1
{
digitalWrite(13,LOW);
maka pin 13 low
}
}
}
Komponen Bluetooth untuk berkomunikasi dengan Arduino melalui USART melalui pin rx
(receiver) dan pin tx(transmitter). Pada aplikasi android pada saat button connect ditekan
maka akan memindai jaringan Bluetooth, setelah Bluetooth android terkoneksi ke Bluetooth
HC-05 maka transfer data bisa dilakukan. Saat button on pada aplikasi android ditekan maka
Bluetooth di android mengirim data ke HC-05 berupa teks “A” dan jika button off pada
aplikasi android ditekan maka Bluetooth di android mengirim data ke HC-05 berupa teks “1”.
Data yang dikirim dari Bluetooth android ini akan berpengaruh ke pin 13 pada Arduino,
sehingga menyebabkan LED on atau aktif sesuai dengan code program yang telah dibuat.
else if(error == 1)
Serial.println("No controller found, check wiring, see readme.txt to enable debug. visit
www.billporter.info for troubleshooting tips");
else if(error == 2)
Serial.println("Controller found but not accepting commands. see readme.txt to enable
debug. Visit www.billporter.info for troubleshooting tips");
else if(error == 3)
Serial.println("Controller refusing to enter Pressures mode, may not support it. ");
//Serial.print(ps2x.Analog(1), HEX);
type = ps2x.readType();
switch(type) {
case 0:
Serial.println("Unknown Controller type");
break;
case 1:
Serial.println("DualShock Controller Found");
break;
case 2:
Serial.println("GuitarHero Controller Found");
break;
}
void loop(){
if(error == 1)
return;
if(type == 2){
ps2x.read_gamepad();
Digunakan untuk membaca Stik PS2
if(ps2x.ButtonPressed(GREEN_FRET))
Serial.println("Green Fret Pressed");
if(ps2x.ButtonPressed(RED_FRET))
Serial.println("Red Fret Pressed");
if(ps2x.ButtonPressed(YELLOW_FRET))
Serial.println("Yellow Fret Pressed");
if(ps2x.ButtonPressed(BLUE_FRET))
Serial.println("Blue Fret Pressed");
if(ps2x.ButtonPressed(ORANGE_FRET))
Serial.println("Orange Fret Pressed");
if(ps2x.ButtonPressed(STAR_POWER))
Serial.println("Star Power Command");
if(ps2x.Button(UP_STRUM))
Serial.println("Up Strum");
if(ps2x.Button(DOWN_STRUM))
Serial.println("DOWN Strum");
if(ps2x.Button(PSB_START))
Serial.println("Start is being held");
if(ps2x.Button(PSB_SELECT))
Serial.println("Select is being held");
if(ps2x.Button(ORANGE_FRET))
{
Serial.print("Wammy Bar Position:");
Serial.println(ps2x.Analog(WHAMMY_BAR), DEC);
}
}
else {
ps2x.read_gamepad(false, vibrate);
if(ps2x.Button(PSB_START))
Serial.println("Start is being held");
if(ps2x.Button(PSB_SELECT))
Serial.println("Select is being held");
if(ps2x.Button(PSB_PAD_UP)) {
Serial.print("Up held this hard: ");
Serial.println(ps2x.Analog(PSAB_PAD_UP), DEC);
}
if(ps2x.Button(PSB_PAD_RIGHT)){
Serial.print("Right held this hard: ");
Serial.println(ps2x.Analog(PSAB_PAD_RIGHT), DEC);
}
if(ps2x.Button(PSB_PAD_LEFT)){
Serial.print("LEFT held this hard: ");
Serial.println(ps2x.Analog(PSAB_PAD_LEFT), DEC);
}
if(ps2x.Button(PSB_PAD_DOWN)){
Serial.print("DOWN held this hard: ");
Serial.println(ps2x.Analog(PSAB_PAD_DOWN), DEC);
}
vibrate = ps2x.Analog(PSAB_BLUE);
if (ps2x.NewButtonState())
{
if(ps2x.Button(PSB_L3))
Serial.println("L3 pressed");
if(ps2x.Button(PSB_R3))
Serial.println("R3 pressed");
if(ps2x.Button(PSB_L2))
Serial.println("L2 pressed");
if(ps2x.Button(PSB_R2))
Serial.println("R2 pressed");
if(ps2x.Button(PSB_GREEN))
Digunakan untuk fungsi Jika pada PSB_GREEN (tombol segitiga) ditekan
{
Serial.println("Triangle pressed");
digitalWrite(a, LOW);
Digunakan untuk perintah maka pada pin 2 atau a sama dengan LOW
}
}
if(ps2x.ButtonPressed(PSB_RED))
Digunakan untuk fungsi Jika pada PSB_RED (tombol bulat) ditekan
{
Serial.println("Circle just pressed");
digitalWrite(a, HIGH);
Digunakan untuk perintah maka pada pin 2 atau a sama dengan HIGH
}
if(ps2x.ButtonReleased(PSB_PINK))
Serial.println("Square just released");
if(ps2x.NewButtonState(PSB_BLUE))
Serial.println("X just changed");
if(ps2x.Button(PSB_L1) || ps2x.Button(PSB_R1))
{
Serial.print("Stick Values:");
Serial.print(ps2x.Analog(PSS_LY), DEC);
Serial.print(",");
Serial.print(ps2x.Analog(PSS_LX), DEC);
Serial.print(",");
Serial.print(ps2x.Analog(PSS_RY), DEC);
Serial.print(",");
Serial.println(ps2x.Analog(PSS_RX), DEC);
}
}
delay(50);
}
Pemrograman Joystik PS2 menggunakan library "PS2X lib.h", library tersebut telah
menyediakan semua fitur yang berhubungan dengan kontrol joystik PS2 yang terkomunikasi
lewat interface serial SPI. Program diatas adalah program default atau program standar bawaan
dari library "PS2X lib.h" yang telah dimodifikasi untuk menghasilkan output pada pin 2. Jadi
jika tombol segitiga ditekan maka LED dan Motor akan menyala, dan jika tombol bulat ditekan
maka LED dan Motor akan mati.
BAB V
KESIMPULAN