BASE ROTASI OTOMATIS SEKUENSIAL
Dependencies: Motor PID mbed millis
PS3Arduino.txt@0:312d1d0781ac, 2017-06-11 (annotated)
- Committer:
- gustavaditya
- Date:
- Sun Jun 11 19:22:01 2017 +0000
- Revision:
- 0:312d1d0781ac
BASE ROTASI OTOMATIS SEKUENSIAL
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
gustavaditya | 0:312d1d0781ac | 1 | /*********************************************************************************************/ |
gustavaditya | 0:312d1d0781ac | 2 | /** **/ |
gustavaditya | 0:312d1d0781ac | 3 | /** PROGRAM KOMUNIKASI DATA JOYSTIK PS3 **/ |
gustavaditya | 0:312d1d0781ac | 4 | /** **/ |
gustavaditya | 0:312d1d0781ac | 5 | /** Joystik PS3 -> Arduino -> STM32Nucleo **/ |
gustavaditya | 0:312d1d0781ac | 6 | /** **/ |
gustavaditya | 0:312d1d0781ac | 7 | /** Fanny Achmad Hindrarta **/ |
gustavaditya | 0:312d1d0781ac | 8 | /** EL'12 - 13212076 **/ |
gustavaditya | 0:312d1d0781ac | 9 | /** **/ |
gustavaditya | 0:312d1d0781ac | 10 | /** Last Update : 01 Februar1 2015, 20.30 **/ |
gustavaditya | 0:312d1d0781ac | 11 | /*********************************************************************************************/ |
gustavaditya | 0:312d1d0781ac | 12 | |
gustavaditya | 0:312d1d0781ac | 13 | #include <PS3BT.h> |
gustavaditya | 0:312d1d0781ac | 14 | #include <usbhub.h> |
gustavaditya | 0:312d1d0781ac | 15 | //#include <PS3USB.h> |
gustavaditya | 0:312d1d0781ac | 16 | #include "Arduino.h" |
gustavaditya | 0:312d1d0781ac | 17 | // Satisfy IDE, which only needs to see the include statment in the ino. |
gustavaditya | 0:312d1d0781ac | 18 | #ifdef dobogusinclude |
gustavaditya | 0:312d1d0781ac | 19 | #include <spi4teensy3.h> |
gustavaditya | 0:312d1d0781ac | 20 | #endif |
gustavaditya | 0:312d1d0781ac | 21 | |
gustavaditya | 0:312d1d0781ac | 22 | |
gustavaditya | 0:312d1d0781ac | 23 | USB Usb; |
gustavaditya | 0:312d1d0781ac | 24 | |
gustavaditya | 0:312d1d0781ac | 25 | // Bluetooth |
gustavaditya | 0:312d1d0781ac | 26 | // You can create the instance of the class in two ways |
gustavaditya | 0:312d1d0781ac | 27 | BTD Btd(&Usb); // You have to create the Bluetooth Dongle instance like so |
gustavaditya | 0:312d1d0781ac | 28 | //You can create the instance of the class in two ways |
gustavaditya | 0:312d1d0781ac | 29 | PS3BT PS3(&Btd); // This will just create the instance |
gustavaditya | 0:312d1d0781ac | 30 | //PS3BT PS3(&Btd, 0x00, 0x15, 0x83, 0x3D, 0x0A, 0x57); // This will also store the bluetooth address - this can be obtained from the dongle when running the sketch |
gustavaditya | 0:312d1d0781ac | 31 | /* |
gustavaditya | 0:312d1d0781ac | 32 | // USB |
gustavaditya | 0:312d1d0781ac | 33 | // You can create the instance of the class in two ways |
gustavaditya | 0:312d1d0781ac | 34 | PS3USB PS3(&Usb); // This will just create the instance |
gustavaditya | 0:312d1d0781ac | 35 | //PS3USB PS3(&Btd, 0x00, 0x15, 0x83, 0x3D, 0x0A, 0x57); // This will also store the bluetooth address - this can be obtained from the dongle when running the sketch |
gustavaditya | 0:312d1d0781ac | 36 | */ |
gustavaditya | 0:312d1d0781ac | 37 | |
gustavaditya | 0:312d1d0781ac | 38 | boolean printAngle; |
gustavaditya | 0:312d1d0781ac | 39 | uint8_t state = 0; |
gustavaditya | 0:312d1d0781ac | 40 | |
gustavaditya | 0:312d1d0781ac | 41 | // Deklarasi tombol |
gustavaditya | 0:312d1d0781ac | 42 | boolean kiri_click=0, kanan_click=0, atas_click=0, bawah_click=0; |
gustavaditya | 0:312d1d0781ac | 43 | boolean segitiga_click=0, lingkaran_click=0, kotak_click=0, silang_click=0; |
gustavaditya | 0:312d1d0781ac | 44 | boolean L1_click=0, R1_click=0, L3_click=0, R3_click=0; |
gustavaditya | 0:312d1d0781ac | 45 | boolean START_click=0, SELECT_click=0, PS_click=0; |
gustavaditya | 0:312d1d0781ac | 46 | |
gustavaditya | 0:312d1d0781ac | 47 | // Deklarasi variabel tombol analog |
gustavaditya | 0:312d1d0781ac | 48 | unsigned char LX, LY, RX, RY, aL2, aR2; |
gustavaditya | 0:312d1d0781ac | 49 | |
gustavaditya | 0:312d1d0781ac | 50 | // Deklarasi varibel data yang dikirim |
gustavaditya | 0:312d1d0781ac | 51 | unsigned char button; |
gustavaditya | 0:312d1d0781ac | 52 | unsigned char RL; |
gustavaditya | 0:312d1d0781ac | 53 | unsigned int button_click; |
gustavaditya | 0:312d1d0781ac | 54 | unsigned int RL_click; |
gustavaditya | 0:312d1d0781ac | 55 | |
gustavaditya | 0:312d1d0781ac | 56 | void setup_joystik() |
gustavaditya | 0:312d1d0781ac | 57 | { |
gustavaditya | 0:312d1d0781ac | 58 | while (!Serial) // Wait for serial port to connect - used on Leonardo, Teensy and other boards with built-in USB CDC serial connection |
gustavaditya | 0:312d1d0781ac | 59 | { |
gustavaditya | 0:312d1d0781ac | 60 | Serial.write(0x88); |
gustavaditya | 0:312d1d0781ac | 61 | Serial.write(0x09); |
gustavaditya | 0:312d1d0781ac | 62 | } |
gustavaditya | 0:312d1d0781ac | 63 | if (Usb.Init() == -1) { |
gustavaditya | 0:312d1d0781ac | 64 | //Serial.print(F("\r\nOSC did not start")); |
gustavaditya | 0:312d1d0781ac | 65 | while (1) //halt |
gustavaditya | 0:312d1d0781ac | 66 | { |
gustavaditya | 0:312d1d0781ac | 67 | Serial.write(0x88); |
gustavaditya | 0:312d1d0781ac | 68 | Serial.write(0x09); |
gustavaditya | 0:312d1d0781ac | 69 | } |
gustavaditya | 0:312d1d0781ac | 70 | } |
gustavaditya | 0:312d1d0781ac | 71 | //Serial.print(F("\r\nPS3 USB Library Started")); |
gustavaditya | 0:312d1d0781ac | 72 | } |
gustavaditya | 0:312d1d0781ac | 73 | |
gustavaditya | 0:312d1d0781ac | 74 | /*********************************************************************************************/ |
gustavaditya | 0:312d1d0781ac | 75 | /** **/ |
gustavaditya | 0:312d1d0781ac | 76 | /** FUNGSI PENGIRIMAN DATA **/ |
gustavaditya | 0:312d1d0781ac | 77 | /** - Data yang akan dikirim adalah paket data 8-bit dengan urutan sebagai berikut **/ |
gustavaditya | 0:312d1d0781ac | 78 | /** |------|------|--------|----|--------------|----------|----|----|----|----|----|----| **/ |
gustavaditya | 0:312d1d0781ac | 79 | /** | 0x88 | 0x08 | button | RL | button_click | RL_click | R2 | L2 | RX | RY | LX | LY | **/ |
gustavaditya | 0:312d1d0781ac | 80 | /** |------|------|--------|----|--------------|----------|----|----|----|----|----|----| **/ |
gustavaditya | 0:312d1d0781ac | 81 | /** **/ |
gustavaditya | 0:312d1d0781ac | 82 | /*********************************************************************************************/ |
gustavaditya | 0:312d1d0781ac | 83 | |
gustavaditya | 0:312d1d0781ac | 84 | void kirimdatajoystik() |
gustavaditya | 0:312d1d0781ac | 85 | { |
gustavaditya | 0:312d1d0781ac | 86 | |
gustavaditya | 0:312d1d0781ac | 87 | Serial.write(0x88); |
gustavaditya | 0:312d1d0781ac | 88 | Serial.write(0x08); |
gustavaditya | 0:312d1d0781ac | 89 | Serial.write(button); |
gustavaditya | 0:312d1d0781ac | 90 | Serial.write(RL); |
gustavaditya | 0:312d1d0781ac | 91 | Serial.write(button_click); |
gustavaditya | 0:312d1d0781ac | 92 | Serial.write(RL_click); |
gustavaditya | 0:312d1d0781ac | 93 | Serial.write(aR2); |
gustavaditya | 0:312d1d0781ac | 94 | Serial.write(aL2); |
gustavaditya | 0:312d1d0781ac | 95 | Serial.write(RX); |
gustavaditya | 0:312d1d0781ac | 96 | Serial.write(RY); |
gustavaditya | 0:312d1d0781ac | 97 | Serial.write(LX); |
gustavaditya | 0:312d1d0781ac | 98 | Serial.write(LY); |
gustavaditya | 0:312d1d0781ac | 99 | |
gustavaditya | 0:312d1d0781ac | 100 | // Debug |
gustavaditya | 0:312d1d0781ac | 101 | |
gustavaditya | 0:312d1d0781ac | 102 | /* |
gustavaditya | 0:312d1d0781ac | 103 | Serial.print(millis()); |
gustavaditya | 0:312d1d0781ac | 104 | Serial.print("\t"); |
gustavaditya | 0:312d1d0781ac | 105 | Serial.print(button); |
gustavaditya | 0:312d1d0781ac | 106 | Serial.print("\t"); |
gustavaditya | 0:312d1d0781ac | 107 | Serial.print(RL); |
gustavaditya | 0:312d1d0781ac | 108 | Serial.print("\t"); |
gustavaditya | 0:312d1d0781ac | 109 | Serial.print(button_click); |
gustavaditya | 0:312d1d0781ac | 110 | Serial.print("\t"); |
gustavaditya | 0:312d1d0781ac | 111 | Serial.print(RL_click); |
gustavaditya | 0:312d1d0781ac | 112 | Serial.print("\t"); |
gustavaditya | 0:312d1d0781ac | 113 | Serial.print(aR2); |
gustavaditya | 0:312d1d0781ac | 114 | Serial.print("\t"); |
gustavaditya | 0:312d1d0781ac | 115 | Serial.print(aL2); |
gustavaditya | 0:312d1d0781ac | 116 | Serial.print("\t"); |
gustavaditya | 0:312d1d0781ac | 117 | Serial.print(RX); |
gustavaditya | 0:312d1d0781ac | 118 | Serial.print("\t"); |
gustavaditya | 0:312d1d0781ac | 119 | Serial.print(RY); |
gustavaditya | 0:312d1d0781ac | 120 | Serial.print("\t"); |
gustavaditya | 0:312d1d0781ac | 121 | Serial.print(LX); |
gustavaditya | 0:312d1d0781ac | 122 | Serial.print("\t"); |
gustavaditya | 0:312d1d0781ac | 123 | Serial.println(LY); |
gustavaditya | 0:312d1d0781ac | 124 | */ |
gustavaditya | 0:312d1d0781ac | 125 | } |
gustavaditya | 0:312d1d0781ac | 126 | |
gustavaditya | 0:312d1d0781ac | 127 | /*****************************************************************************************/ |
gustavaditya | 0:312d1d0781ac | 128 | /** SETUP REGISTER dan INISIALISASI **/ |
gustavaditya | 0:312d1d0781ac | 129 | /** - Setup Joystik **/ |
gustavaditya | 0:312d1d0781ac | 130 | /** - Baud Rate Serial 115200, 8-bit, 1 stop, 0 parity **/ |
gustavaditya | 0:312d1d0781ac | 131 | /*****************************************************************************************/ |
gustavaditya | 0:312d1d0781ac | 132 | |
gustavaditya | 0:312d1d0781ac | 133 | void setup() { |
gustavaditya | 0:312d1d0781ac | 134 | Serial.begin(115200); |
gustavaditya | 0:312d1d0781ac | 135 | |
gustavaditya | 0:312d1d0781ac | 136 | setup_joystik(); |
gustavaditya | 0:312d1d0781ac | 137 | } |
gustavaditya | 0:312d1d0781ac | 138 | |
gustavaditya | 0:312d1d0781ac | 139 | |
gustavaditya | 0:312d1d0781ac | 140 | /*****************************************************************************************/ |
gustavaditya | 0:312d1d0781ac | 141 | /** **/ |
gustavaditya | 0:312d1d0781ac | 142 | /** FUNGSI PEMBACAAN DATA JOYSTIK **/ |
gustavaditya | 0:312d1d0781ac | 143 | /** - Data dari Joystik dikirim melalui Bluetooth. **/ |
gustavaditya | 0:312d1d0781ac | 144 | /** Lihat Library "PS3BT.h" **/ |
gustavaditya | 0:312d1d0781ac | 145 | /** - Data tombol dari joystik adalah data 1-bit. Pengiriman data melalui USART **/ |
gustavaditya | 0:312d1d0781ac | 146 | /** adalah 8-bit. Agar pengiriman data efisien, maka data 1-bit digabungkan **/ |
gustavaditya | 0:312d1d0781ac | 147 | /** agar terbentuk data 8-bit **/ |
gustavaditya | 0:312d1d0781ac | 148 | /** - Penggabungan data segitiga, longkaran, silang, kotak, arah atas, arah kanan, **/ |
gustavaditya | 0:312d1d0781ac | 149 | /** arah bawah, arah kiri disimpan dalam variabel "button" **/ |
gustavaditya | 0:312d1d0781ac | 150 | /** - Urutan data pada variabel "button" dan "button_click" **/ |
gustavaditya | 0:312d1d0781ac | 151 | /** adalah sebagai berikut **/ |
gustavaditya | 0:312d1d0781ac | 152 | /** **/ |
gustavaditya | 0:312d1d0781ac | 153 | /** |------|-------|-------|------|-------|--------|-----------|----------| **/ |
gustavaditya | 0:312d1d0781ac | 154 | /** Bit Ke | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | **/ |
gustavaditya | 0:312d1d0781ac | 155 | /** |------|-------|-------|------|-------|--------|-----------|----------| **/ |
gustavaditya | 0:312d1d0781ac | 156 | /** Data | kiri | bawah | kanan | atas | kotak | silang | lingkaran | segitiga | **/ |
gustavaditya | 0:312d1d0781ac | 157 | /** |------|-------|-------|------|-------|--------|-----------|----------| **/ |
gustavaditya | 0:312d1d0781ac | 158 | /** **/ |
gustavaditya | 0:312d1d0781ac | 159 | /** - Penggabungan data R1, R2, L1, L2, R3, L3, START, dan SELECT disimpan dalam **/ |
gustavaditya | 0:312d1d0781ac | 160 | /** variabel "RL" **/ |
gustavaditya | 0:312d1d0781ac | 161 | /** - Urutan data pada variabel "RL" dan "RL_click" adalah **/ |
gustavaditya | 0:312d1d0781ac | 162 | /** sebagai berikut **/ |
gustavaditya | 0:312d1d0781ac | 163 | /** **/ |
gustavaditya | 0:312d1d0781ac | 164 | /** |----|--------|-------|----|----|----|----| **/ |
gustavaditya | 0:312d1d0781ac | 165 | /** Bit Ke | 6 | 5 | 4 | 3 | 2 | 1 | 0 | **/ |
gustavaditya | 0:312d1d0781ac | 166 | /** |----|--------|-------|----|----|----|----| **/ |
gustavaditya | 0:312d1d0781ac | 167 | /** Data | PS | SELECT | START | L3 | L1 | R3 | R1 | **/ |
gustavaditya | 0:312d1d0781ac | 168 | /** |----|--------|-------|----|----|----|----| **/ |
gustavaditya | 0:312d1d0781ac | 169 | /** **/ |
gustavaditya | 0:312d1d0781ac | 170 | /*****************************************************************************************/ |
gustavaditya | 0:312d1d0781ac | 171 | |
gustavaditya | 0:312d1d0781ac | 172 | void loop() { |
gustavaditya | 0:312d1d0781ac | 173 | button = 0; |
gustavaditya | 0:312d1d0781ac | 174 | RL = 0; |
gustavaditya | 0:312d1d0781ac | 175 | button_click=0; |
gustavaditya | 0:312d1d0781ac | 176 | RL_click=0; |
gustavaditya | 0:312d1d0781ac | 177 | Usb.Task(); |
gustavaditya | 0:312d1d0781ac | 178 | |
gustavaditya | 0:312d1d0781ac | 179 | // Pembacaan data joystik dilakukan jika PS3 tersambung ke Arduino |
gustavaditya | 0:312d1d0781ac | 180 | if (PS3.PS3Connected || PS3.PS3NavigationConnected) { |
gustavaditya | 0:312d1d0781ac | 181 | // Pembacaan dan penggabungan data segitiga, lingkaran, silang, kotak, atas, kanan, bawah, kiri |
gustavaditya | 0:312d1d0781ac | 182 | // Data bernilai '1' jika tombol ditekan |
gustavaditya | 0:312d1d0781ac | 183 | if(PS3.getButtonPress(TRIANGLE)){ |
gustavaditya | 0:312d1d0781ac | 184 | button = button + (0x1 << 0); |
gustavaditya | 0:312d1d0781ac | 185 | } |
gustavaditya | 0:312d1d0781ac | 186 | if(PS3.getButtonPress(CIRCLE)){ |
gustavaditya | 0:312d1d0781ac | 187 | button = button + (0x1 << 1); |
gustavaditya | 0:312d1d0781ac | 188 | } |
gustavaditya | 0:312d1d0781ac | 189 | if(PS3.getButtonPress(CROSS)){ |
gustavaditya | 0:312d1d0781ac | 190 | button = button + (0x1 << 2); |
gustavaditya | 0:312d1d0781ac | 191 | } |
gustavaditya | 0:312d1d0781ac | 192 | if(PS3.getButtonPress(SQUARE)){ |
gustavaditya | 0:312d1d0781ac | 193 | button = button + (0x1 << 3); |
gustavaditya | 0:312d1d0781ac | 194 | } |
gustavaditya | 0:312d1d0781ac | 195 | if(PS3.getButtonPress(UP)){ |
gustavaditya | 0:312d1d0781ac | 196 | button = button + (0x1 << 4); |
gustavaditya | 0:312d1d0781ac | 197 | } |
gustavaditya | 0:312d1d0781ac | 198 | if(PS3.getButtonPress(RIGHT)){ |
gustavaditya | 0:312d1d0781ac | 199 | button = button + (0x1 << 5); |
gustavaditya | 0:312d1d0781ac | 200 | } |
gustavaditya | 0:312d1d0781ac | 201 | if(PS3.getButtonPress(DOWN)){ |
gustavaditya | 0:312d1d0781ac | 202 | button = button + (0x1 << 6); |
gustavaditya | 0:312d1d0781ac | 203 | } |
gustavaditya | 0:312d1d0781ac | 204 | if(PS3.getButtonPress(LEFT)){ |
gustavaditya | 0:312d1d0781ac | 205 | button = button + (0x1 << 7); |
gustavaditya | 0:312d1d0781ac | 206 | } |
gustavaditya | 0:312d1d0781ac | 207 | |
gustavaditya | 0:312d1d0781ac | 208 | // Pembacaan dan penggabungan data R1, R3, L1, L3, START, SELECT, dan PS |
gustavaditya | 0:312d1d0781ac | 209 | // Data bernilai '1' jika tombol ditekan |
gustavaditya | 0:312d1d0781ac | 210 | if(PS3.getButtonPress(R1)){ |
gustavaditya | 0:312d1d0781ac | 211 | RL = RL + (0x1 << 0); |
gustavaditya | 0:312d1d0781ac | 212 | } |
gustavaditya | 0:312d1d0781ac | 213 | if(PS3.getButtonPress(R3)){ |
gustavaditya | 0:312d1d0781ac | 214 | RL = RL + (0x1 << 1); |
gustavaditya | 0:312d1d0781ac | 215 | } |
gustavaditya | 0:312d1d0781ac | 216 | if(PS3.getButtonPress(L1)){ |
gustavaditya | 0:312d1d0781ac | 217 | RL = RL + (0x1 << 2); |
gustavaditya | 0:312d1d0781ac | 218 | } |
gustavaditya | 0:312d1d0781ac | 219 | if(PS3.getButtonPress(L3)){ |
gustavaditya | 0:312d1d0781ac | 220 | RL = RL + (0x1 << 3); |
gustavaditya | 0:312d1d0781ac | 221 | } |
gustavaditya | 0:312d1d0781ac | 222 | if(PS3.getButtonPress(START)){ |
gustavaditya | 0:312d1d0781ac | 223 | RL = RL + (0x1 << 4); |
gustavaditya | 0:312d1d0781ac | 224 | } |
gustavaditya | 0:312d1d0781ac | 225 | if(PS3.getButtonPress(SELECT)){ |
gustavaditya | 0:312d1d0781ac | 226 | RL = RL + (0x1 << 5); |
gustavaditya | 0:312d1d0781ac | 227 | } |
gustavaditya | 0:312d1d0781ac | 228 | if(PS3.getButtonPress(PS)){ |
gustavaditya | 0:312d1d0781ac | 229 | RL = RL + (0x1 << 6); |
gustavaditya | 0:312d1d0781ac | 230 | } |
gustavaditya | 0:312d1d0781ac | 231 | |
gustavaditya | 0:312d1d0781ac | 232 | // Pembacaan dan penggabungan data segitiga, lingkaran, silang, kotak, atas, kanan, bawah, kiri |
gustavaditya | 0:312d1d0781ac | 233 | // Data bernilai '1' hanya saat tombol pertama kali ditekan |
gustavaditya | 0:312d1d0781ac | 234 | if(PS3.getButtonClick(TRIANGLE)){ |
gustavaditya | 0:312d1d0781ac | 235 | button_click = button_click + (0x1 << 0); |
gustavaditya | 0:312d1d0781ac | 236 | } |
gustavaditya | 0:312d1d0781ac | 237 | if(PS3.getButtonClick(CIRCLE)){ |
gustavaditya | 0:312d1d0781ac | 238 | button_click = button_click + (0x1 << 1); |
gustavaditya | 0:312d1d0781ac | 239 | } |
gustavaditya | 0:312d1d0781ac | 240 | if(PS3.getButtonClick(CROSS)){ |
gustavaditya | 0:312d1d0781ac | 241 | button_click = button_click + (0x1 << 2); |
gustavaditya | 0:312d1d0781ac | 242 | } |
gustavaditya | 0:312d1d0781ac | 243 | if(PS3.getButtonClick(SQUARE)){ |
gustavaditya | 0:312d1d0781ac | 244 | button_click = button_click + (0x1 << 3); |
gustavaditya | 0:312d1d0781ac | 245 | } |
gustavaditya | 0:312d1d0781ac | 246 | if(PS3.getButtonClick(UP)){ |
gustavaditya | 0:312d1d0781ac | 247 | button_click = button_click + (0x1 << 4); |
gustavaditya | 0:312d1d0781ac | 248 | } |
gustavaditya | 0:312d1d0781ac | 249 | if(PS3.getButtonClick(RIGHT)){ |
gustavaditya | 0:312d1d0781ac | 250 | button_click = button_click + (0x1 << 5); |
gustavaditya | 0:312d1d0781ac | 251 | } |
gustavaditya | 0:312d1d0781ac | 252 | if(PS3.getButtonClick(DOWN)){ |
gustavaditya | 0:312d1d0781ac | 253 | button_click = button_click + (0x1 << 6); |
gustavaditya | 0:312d1d0781ac | 254 | } |
gustavaditya | 0:312d1d0781ac | 255 | if(PS3.getButtonClick(LEFT)){ |
gustavaditya | 0:312d1d0781ac | 256 | button_click = button_click + (0x1 << 7); |
gustavaditya | 0:312d1d0781ac | 257 | } |
gustavaditya | 0:312d1d0781ac | 258 | |
gustavaditya | 0:312d1d0781ac | 259 | if(PS3.getButtonClick(R1)){ |
gustavaditya | 0:312d1d0781ac | 260 | RL_click = RL_click + (0x1 << 0); |
gustavaditya | 0:312d1d0781ac | 261 | } |
gustavaditya | 0:312d1d0781ac | 262 | if(PS3.getButtonClick(R3)){ |
gustavaditya | 0:312d1d0781ac | 263 | RL_click = RL_click + (0x1 << 1); |
gustavaditya | 0:312d1d0781ac | 264 | } |
gustavaditya | 0:312d1d0781ac | 265 | if(PS3.getButtonClick(L1)){ |
gustavaditya | 0:312d1d0781ac | 266 | RL_click = RL_click + (0x1 << 2); |
gustavaditya | 0:312d1d0781ac | 267 | } |
gustavaditya | 0:312d1d0781ac | 268 | if(PS3.getButtonClick(L3)){ |
gustavaditya | 0:312d1d0781ac | 269 | RL_click = RL_click + (0x1 << 3); |
gustavaditya | 0:312d1d0781ac | 270 | } |
gustavaditya | 0:312d1d0781ac | 271 | if(PS3.getButtonClick(START)){ |
gustavaditya | 0:312d1d0781ac | 272 | RL_click = RL_click + (0x1 << 4); |
gustavaditya | 0:312d1d0781ac | 273 | } |
gustavaditya | 0:312d1d0781ac | 274 | if(PS3.getButtonClick(SELECT)){ |
gustavaditya | 0:312d1d0781ac | 275 | RL_click = RL_click + (0x1 << 5); |
gustavaditya | 0:312d1d0781ac | 276 | } |
gustavaditya | 0:312d1d0781ac | 277 | if(PS3.getButtonClick(PS)){ |
gustavaditya | 0:312d1d0781ac | 278 | RL_click = RL_click + (0x1 << 6); |
gustavaditya | 0:312d1d0781ac | 279 | } |
gustavaditya | 0:312d1d0781ac | 280 | |
gustavaditya | 0:312d1d0781ac | 281 | // Tombol Analog |
gustavaditya | 0:312d1d0781ac | 282 | LX = PS3.getAnalogHat(LeftHatX); |
gustavaditya | 0:312d1d0781ac | 283 | LY = PS3.getAnalogHat(LeftHatY); |
gustavaditya | 0:312d1d0781ac | 284 | RX = PS3.getAnalogHat(RightHatX); |
gustavaditya | 0:312d1d0781ac | 285 | RY = PS3.getAnalogHat(RightHatY); |
gustavaditya | 0:312d1d0781ac | 286 | |
gustavaditya | 0:312d1d0781ac | 287 | aL2 = PS3.getAnalogButton(L2); |
gustavaditya | 0:312d1d0781ac | 288 | aR2 = PS3.getAnalogButton(R2); |
gustavaditya | 0:312d1d0781ac | 289 | |
gustavaditya | 0:312d1d0781ac | 290 | kirimdatajoystik(); |
gustavaditya | 0:312d1d0781ac | 291 | } else { |
gustavaditya | 0:312d1d0781ac | 292 | // PS3 Disconnected |
gustavaditya | 0:312d1d0781ac | 293 | Serial.write(0x88); |
gustavaditya | 0:312d1d0781ac | 294 | Serial.write(0x09); |
gustavaditya | 0:312d1d0781ac | 295 | } |
gustavaditya | 0:312d1d0781ac | 296 | delay(3); |
gustavaditya | 0:312d1d0781ac | 297 | } |
gustavaditya | 0:312d1d0781ac | 298 | |
gustavaditya | 0:312d1d0781ac | 299 |